Package: initscripts Version: 2.86.ds1-38.1 When umounting NFS (or networked filesystem) dirs, other "dependent dirs" have to be unmounted as well. This includes all the dirs below an NFS dir and all dirs which are loops over files which are mounted below an NFS dir. The following patch attempts to correct somewhat the situation. It is not perfect because losetup does not show the complete filename of a loop device, but the filename that was indicated to the kernel at loop creation.
Loïc Grenié
*** /etc/init.d/umountnfs.sh.orig 2006-11-28 20:21:30.000000000 +0100 --- /etc/init.d/umountnfs.sh 2007-09-27 11:44:52.000000000 +0200 *************** *** 69,74 **** --- 69,99 ---- proc|procfs|linprocfs|devfs|devpts|usbfs|usbdevfs|sysfs) DIRS="$MTPT $DIRS" ;; + *) + # + # We must unmount all dirs that are below NFS dirs + # and those that are loops of files on NFS dirs + # + loopfile="" + case "$DEV" in + /dev/loop*) + loopfile="`losetup $DEV|cut -f2- -d\(|sed s/\)$//`" + ;; + esac + for d in $DIRS + do + case "$loopfile" in + $d/*) + DIRS="$MTPT $DIRS" + ;; + esac + case "MTPT" in + $d/*) + DIRS="$MTPT $DIRS" + ;; + esac + done + ;; esac case "$OPTS" in _netdev|*,_netdev|_netdev,*|*,_netdev,*)