Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

I noticed once when I shut down my home server while my desktop was connected via NFS that I kept getting "stale NFS handle warning" when entering my home dir, this caused issues with some programs that looked in those folders.

How do I resolve this issue without restarting my machine?

Debian Squeeze/Wheezy

share|improve this question
    
What OS and/or distribution are you running? –  JodieC Apr 12 '12 at 11:36
    
I am using Debian Squeeze –  yakamok Apr 12 '12 at 11:39

3 Answers 3

Try this shell script. Works good for me:

#!/bin/bash
# Purpose:
# Detect Stale File handle and remove it
# Script created: July 29, 2015 by Birgit Ducarroz
# Last modification: --
#

# Detect Stale file handle and write output into a variable and then into a file
mounts=`df 2>&1 | grep 'Stale file handle' |awk '{print ""$2"" }' > NFS_stales.txt`
# Remove : ‘ and ’ characters from the output
sed -r -i 's/://' NFS_stales.txt && sed -r -i 's/‘//' NFS_stales.txt && sed -r -i 's/’//' NFS_stales.txt

# Not used: replace space by a new line
# stales=`cat NFS_stales.txt && sed -r -i ':a;N;$!ba;s/ /\n /g' NFS_stales.txt`

# read NFS_stales.txt output file line by line then unmount stale by stale.
#    IFS='' (or IFS=) prevents leading/trailing whitespace from being trimmed.
#    -r prevents backslash escapes from being interpreted.
#    || [[ -n $line ]] prevents the last line from being ignored if it doesn't end with a \n (since read returns a non-zero exit code when it encounters EOF).

while IFS='' read -r line || [[ -n "$line" ]]; do
    echo "Unmounting due to NFS Stale file handle: $line"
    umount -fl $line
done < "NFS_stales.txt"
#EOF
share|improve this answer

I would usually issue those commands (as root):

service nis restart
service autofs restart
service nfs restart
service portmap restart

You may not need all of those, depending on how your system works.

share|improve this answer
    
Which Distro is this for? –  yakamok Apr 14 '12 at 8:02
up vote 0 down vote accepted

On Debian Squeeze/Wheezy:

Force unmount the local mount

umount -f /mnt/dir

Then restart nfs

/etc/init.d/nfs-common restart
share|improve this answer
    
I'd be surprised if you can force the unmount of a filesystem - so I doubt the above will work. –  TheGingerDog Mar 24 '13 at 18:36

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.