Hello community, here is the log from the commit of package autofs for openSUSE:Factory checked in at Tue Apr 14 19:11:00 CEST 2009. -------- --- autofs/autofs.changes 2009-02-12 12:40:54.000000000 +0100 +++ /mounts/work_src_done/STABLE/autofs/autofs.changes 2009-04-09 16:11:32.628001349 +0200 @@ -1,0 +2,5 @@ +Thu Apr 9 16:10:27 CEST 2009 - werner@suse.de + +- make sure that submounts are not busy anymore + +------------------------------------------------------------------- calling whatdependson for head-i586 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ autofs.spec ++++++ --- /var/tmp/diff_new_pack.G11448/_old 2009-04-14 19:10:48.000000000 +0200 +++ /var/tmp/diff_new_pack.G11448/_new 2009-04-14 19:10:48.000000000 +0200 @@ -25,7 +25,7 @@ Group: System/Daemons AutoReqProv: on Version: 5.0.4 -Release: 2 +Release: 3 Summary: A Kernel-Based Automounter BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: ftp://ftp.kernel.org/pub/linux/daemons/autofs/v5/%{name}-%{version}.tar.bz2 @@ -150,6 +150,8 @@ /usr/sbin/automount %changelog +* Thu Apr 09 2009 werner@suse.de +- make sure that submounts are not busy anymore * Thu Feb 12 2009 mkoenig@suse.de - add script to fetch upstream patches * Wed Feb 04 2009 mkoenig@suse.de @@ -366,7 +368,7 @@ - Rename from autofs4 to autofs * Tue Jun 14 2005 kukuk@suse.de - Remove broken "singnal-race" patch [#90521] -* Sun May 22 2005 ro@suse.de +* Mon May 23 2005 ro@suse.de - update to 4.1.4, remove upstream patches * Sun May 15 2005 aj@suse.de - Initialize variables. @@ -441,7 +443,7 @@ * Mon Feb 25 2002 arvin@suse.de - added option expire to init script (unmount all currently not used mounts) -* Sat Feb 16 2002 arvin@suse.de +* Sun Feb 17 2002 arvin@suse.de - fixed start/stop message * Fri Feb 15 2002 arvin@suse.de - simplify remove_and_set call @@ -523,7 +525,7 @@ - new version 4.0.0pre9 * Tue Oct 24 2000 arvin@suse.de - new version 4.0.0pre8 -* Mon Oct 23 2000 bk@suse.de +* Tue Oct 24 2000 bk@suse.de - remove the annoying dequote debug message(filled the logs without errors) * Mon Oct 16 2000 ro@suse.de - showmount does no longer have the k-prefix ++++++ autofs-suse-autofs_init.patch ++++++ --- /var/tmp/diff_new_pack.G11448/_old 2009-04-14 19:10:49.000000000 +0200 +++ /var/tmp/diff_new_pack.G11448/_new 2009-04-14 19:10:49.000000000 +0200 @@ -1,26 +1,22 @@ -Index: autofs-5.0.4/samples/rc.autofs.in -=================================================================== ---- autofs-5.0.4.orig/samples/rc.autofs.in 2008-11-04 02:36:48.000000000 +0100 -+++ autofs-5.0.4/samples/rc.autofs.in 2009-02-05 11:19:48.000000000 +0100 +--- autofs-5.0.4/samples/rc.autofs.in ++++ autofs-5.0.4/samples/rc.autofs.in 2009-04-09 16:09:19.184001559 +0200 @@ -1,10 +1,32 @@ #!/bin/bash +# Copyright (C) 2008 SUSE Linux Products GmbH, Nuernberg, Germany. # -# rc file for automount using a Sun-style "master map". --# --# On most distributions, this file should be called: --# /etc/rc.d/init.d/autofs or /etc/init.d/autofs or /etc/rc.d/rc.autofs --# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. -+# + # +-# On most distributions, this file should be called: +-# /etc/rc.d/init.d/autofs or /etc/init.d/autofs or /etc/rc.d/rc.autofs +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. -+# + # +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA @@ -57,7 +53,7 @@ # # load customized configuation settings # -@@ -27,110 +52,188 @@ if [ -r $confdir/autofs ]; then +@@ -27,110 +52,214 @@ if [ -r $confdir/autofs ]; then . $confdir/autofs fi @@ -67,7 +63,8 @@ +# so don't allow this for now +USE_MISC_DEVICE='' -+function start() { ++start() ++{ # Make sure autofs4 module is loaded - if ! grep -q autofs /proc/filesystems - then @@ -165,8 +162,53 @@ - echo "failed." - fi - return $RETVAL --} -+function force_stop() { ++clearautomnt() ++{ ++ local map mnt fstype options dummy ++ local path dtype ++ local opt=$1 ++ test "$opt" = "before" && opt=continue || opt=: ++ while read map mnt fstype options dummy; do ++ test "$fstype" = "autofs" || continue ++ case ",$options," in ++ *,indirect,*) ++ for path in $mnt/* ; do ++ test "$path" = "$mnt/*" && continue ++ test -e $path || continue ++ dtype=$(stat -f -c '%T' "$path" 2>/dev/null) ++ test "$dtype" = "autofs" && continue ++ if test "$opt" = "continue" ; then ++ mkill -TERM $path ++ else ++ echo "$path still busy...unmounting lazy" ++ umount -l $path ++ fi ++ done ++ $opt ++ test -e $mnt || continue ++ echo "$mnt still busy...unmounting lazy" ++ umount -l $mnt ++ ;; ++ *,direct,*) ++ # umount 2 times: one for the real fs, one for autofs ++ # because mountpoint and autofs mp are identical here! ++ $opt ++ test -e $mnt || continue ++ echo "$mnt still busy...unmounting lazy" ++ umount -l $mnt ++ umount -l $mnt ++ ;; ++ *) ++ ;; ++ esac ++ done < /proc/mounts + } ++force_stop() ++{ ++ local -i i ++ # Terminate all processes making automounted file systems busy ++ clearautomnt before ++ + # First send USR2 signal, automount will expire all non-busy + # filesystems and then terminate. + # Busy filesystems will be left mounted @@ -187,28 +229,7 @@ + # autofs filesystems which have been still kept busy for some reason + # (this should have been done by the USR2 signal but currently this + # does not work) -+ while read map mnt fstype options dummy; do -+ test "$fstype" = "autofs" || continue -+ case "$options" in -+ *indirect*) -+ for path in $mnt/* ; do -+ test "$path" = "$mnt/*" && break -+ test -e $path && umount -l $path -+ echo "$path still busy...unmounting lazy" -+ done -+ echo "$mnt still busy...unmounting lazy" -+ test -e $mnt && umount -l $mnt -+ ;; -+ *[^i][^n]direct*) -+ # umount 2 times: one for the real fs, one for autofs -+ # because mountpoint and autofs mp are identical here! -+ echo "$mnt still busy...unmounting lazy" -+ test -e $mnt && umount -l $mnt -+ test -e $mnt && umount -l $mnt -+ ;; -+ *) ;; -+ esac -+ done < /proc/mounts ++ clearautomnt after -function restart() { - stop @@ -227,7 +248,7 @@ - RETVAL=0 - fi - return $RETVAL -+function stop() { ++stop() { + # Normal stop, terminate daemon, we don't care about busy leftovers here + /sbin/killproc -p $PIDFILE -TERM $DAEMON } @@ -335,5 +356,5 @@ + exit 1 + ;; +esac -+rc_exit ++rc_exit ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org