I would like to implement the following fix for the problem with network services being killed before remote file systems are taken down. Can you test it, and let me know if it work for you?
Index: debian/changelog =================================================================== --- debian/changelog (revisjon 906) +++ debian/changelog (arbeidskopi) @@ -3,6 +3,11 @@ * Correct status report handling in umountnfs.sh. Based on patch from Markus Schoder. (Closes: #386893) + * Only kill processes using remote file systems before trying to + umount them, if fuser from the psmisc package is available, and + move sendsigs to a point between where remote and local file systems + are umounted. Recommend psmisc. (Closes: #258420, #367944) + -- Petter Reinholdtsen <[EMAIL PROTECTED]> Mon, 11 Sep 2006 00:44:44 +0200 sysvinit (2.86.ds1-20) unstable; urgency=low Index: debian/control =================================================================== --- debian/control (revisjon 881) +++ debian/control (arbeidskopi) @@ -36,6 +36,7 @@ Package: initscripts Architecture: any Depends: ${shlibs:Depends}, ${glibc:Depends}, ${mount:Depends}, e2fsprogs (>= 1.32+1.33-WIP-2003.04.14-1), debianutils (>= 2.13.1), lsb-base (>= 3.0-6) +Recommends: psmisc Conflicts: mdutils, sysv-rc (<< 2.86.ds1-1.2), sysvinit (<< 2.86.ds1-12) Replaces: mdutils, sysvinit (<< 2.85-12), libc6, libc6.1, libc0.1, libc0.3 Description: Scripts for initializing and shutting down the system Index: debian/initscripts/postinst =================================================================== --- debian/initscripts/postinst (revisjon 900) +++ debian/initscripts/postinst (arbeidskopi) @@ -93,6 +93,12 @@ update-rc.d -f hostname.sh remove >/dev/null 2>&1 || : fi +# In 2.86.ds1-21, the sendsigs script were moved. +if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-21" +then + update-rc.d -f sendsigs remove >/dev/null 2>&1 || : +fi + # # Okay, we could do this with update-rc.d, but that would probably # be pretty slow. This way we win some speed. @@ -122,8 +128,8 @@ updatercd reboot start 90 6 . updatercd umountroot start 60 0 6 . updatercd umountfs start 40 0 6 . +updatercd sendsigs start 37 0 6 . updatercd umountnfs.sh start 31 0 6 . -updatercd sendsigs start 20 0 6 . updatercd killprocs start 30 1 . updatercd single start 90 1 . Index: debian/initscripts/etc/init.d/umountnfs.sh =================================================================== --- debian/initscripts/etc/init.d/umountnfs.sh (revisjon 907) +++ debian/initscripts/etc/init.d/umountnfs.sh (arbeidskopi) @@ -71,6 +71,25 @@ if [ "$DIRS" ] then + # Kill all processes using the directories we try to umount + if [ -x /bin/fuser ] ; then + [ "$VERBOSE" = no ] || log_action_begin_msg "Asking non-system processes to terminate" + fuser -k INT -m $DIRS + [ "$VERBOSE" = no ] || log_action_end_msg 0 + + for count in 1 2 3 4 5; do # Wait up to 5 seconds + sleep 1 + [ -z "`fuser -m $DIRS 2> /dev/null`" ] && break + done + + pidsleft=`fuser -m $DIRS 2>/dev/null` + if [ "$pidsleft" ] ; then + [ "$VERBOSE" = no ] || log_action_begin_msg "Killing non-system processes" + fuser -k TERM -m $DIRS + [ "$VERBOSE" = no ] || log_action_end_msg 0 + fi + fi + [ "$VERBOSE" = no ] || log_action_begin_msg "Unmounting remote and non-toplevel virtual filesystems" umount $FLAGS $DIRS ES=$? -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]