Using /proc/mounts could be an issue for anyone trying to use this with a kernel
that truncates /proc/mounts.
> 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
>
_______________________________________________
autofs mailing list
[EMAIL PROTECTED]
http://linux.kernel.org/mailman/listinfo/autofs