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

Reply via email to