Hello,
The netfs scripts for Red Hat go through and umount any loopback devices
before attempting to umount the encompassing filesystem. This seems a sane
thing to do (and I have a bug on said issue), so I've added similar
functionality to the autofs init script. Attached is a patch. Comments
encouraged. Testing by debian folks would be nice, too.
-Jeff
--- autofs-4.1.3/samples/rc.autofs.in.umount-loopback 2004-09-02 15:55:21.722705296
-0400
+++ autofs-4.1.3/samples/rc.autofs.in 2004-09-02 16:16:09.985940440 -0400
@@ -351,6 +351,31 @@ function signal_automounts()
return $RETVAL
}
+function umount_loopback()
+{
+ loops=`LC_ALL=C awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print $2}'
/proc/mounts`
+ automounts=`LC_ALL=C awk '!/^#/ && $1 ~ /^automount/ {print $2}' /proc/mounts`
+
+ for l in $loops
+ do
+ for a in $automounts
+ do
+ command="echo $l | grep -E '^$a'"
+ match=`echo $command | sh`
+ if [ -n "$match" ]; then
+ echo ""
+ echo -n $"Unmounting loopback filesystem $match: "
+ umount -d $match
+ if [ $? -eq 0 ]; then
+ echo "done"
+ else
+ echo "failed ($?)"
+ fi
+ fi
+ done
+ done
+}
+
# Redhat start/stop function.
#
function redhat()
@@ -386,6 +411,7 @@ case "$1" in
if [ -z "`pidofproc $prog`" -a -z "`getmounts`" ]; then
RETVAL=0
else
+ umount_loopback
signal_automounts
RETVAL=$?
fi
@@ -477,6 +503,7 @@ case "$1" in
;;
stop)
echo 'Stopping automounter.'
+ umount_loopback
start-stop-daemon --stop --quiet --signal USR2 --exec $DAEMON
;;
reload|restart)
_______________________________________________
autofs mailing list
[EMAIL PROTECTED]
http://linux.kernel.org/mailman/listinfo/autofs