How to solve ‘Stale NFS file handle’ error while accessing or unmounting a NFS volume
This error is typically seen in a system which has active NFS mount point. The NFS protocol doesn’t define any automatic way of communication for any change of NFS server configuration. For example, if a client system mounts an NFS volume and the Administrator at the NFS server removes the directory from the NFS exported list, The client system will not know the change of configuration at NFS server side. In such cases, the ‘df’ command starts showing this error ‘Stale NFS file handle’.
Similar error is seen when a file or directory is deleted in the NFS server while the client is still accessing it. Such problems have no other choice but remount the NFS volume as explained below.
As your system is NFS client, you can unmount the previously mounted NFS volume using ‘-f‘ option which does forceful unmount of the volume. Of course, the “-f” is intended for NFS mounted volumes but not for other volumes like partitions of local hard drive.
For example, your NFS mount point is “/nfsdir”, the error you would notice will be as follows:
[root@techpulp /]# ls -l total 154 drwxr-xr-x 2 root root 4096 2009-02-10 12:58 bin drwxr-xr-x 5 root root 1024 2009-05-08 15:33 boot drwxr-xr-x 15 root root 4760 2009-05-13 10:37 dev drwxr-xr-x 139 root root 12288 2009-05-13 10:37 etc drwxr-xr-x 5 root root 4096 2009-03-06 14:59 home drwxr-xr-x 17 root root 12288 2009-03-04 17:36 lib drwx------ 2 root root 16384 2009-01-06 16:26 lost+found drwxr-xr-x 2 root root 4096 2009-05-13 10:09 media drwxr-xr-x 2 root root 4096 2008-09-06 15:43 mnt drwxr-xr-x 5 root root 4096 2009-05-13 10:09 opt dr-xr-xr-x 231 root root 0 2009-05-08 15:38 proc drwxr-x--- 24 root root 4096 2009-05-13 15:32 root drwxr-xr-x 2 root root 12288 2009-02-10 12:58 sbin drwxr-xr-x 2 root root 4096 2009-01-06 16:30 selinux drwxrwxrwt 37 root root 4096 2009-05-14 09:54 tmp drwxr-xr-x 13 root root 4096 2009-01-06 16:35 usr drwxr-xr-x 24 root root 4096 2009-01-06 16:51 var ls: cannot access nfsdir: Stale NFS file handle [root@techpulp /]#
A normal unmount operation fails as shown below:
[root@techpulp /]# umount /nfsdir umount: /nfsdir: device is busy Stale NFS file handle. [root@techpulp /]#
So you can just unmount the NFS volume using “-f” command.
[root@techpulp /]# umount -f /nfsdir umount.nfs: Server failed to unmount '192.168.45.67:/nfsdir' [root@techpulp /]#
You can attempt to mount the NFS volume again if you are sure that it is mountable:
[root@techpulp /]# mount 192.168.45.67:/nfsdir /nfsdir -t nfs


about 2 years ago
Thanks for the tip! It really saved my day.
You can find all the processes that are currently using files under /nfsmount mount point using “lsof” and kill the processes before doing unmount.
about 2 years ago
I remember similar problem faced by one of my colleagues. However it was in different context though. Thought it would be helpful to others.
He used to see “Stale NFS file handle” errors on an ext3 file system itself. (though it was not NFS mounted). The “ls” command used to display weird directory names like “d?????????”. Even a normal run of “fsck” did not solve the problem.
He solved it using “fsck -f” which does forceful inspection of the file system which got him rid of “Stale NFS file handle” problems.
# fsck -f /dev/sda3