On Thu, 2012-07-26 at 00:17 +0200, jbd wrote: > Hello, > > I'm using Centos 6.3 and the provided autofs 5.0.5. > > $ uname -r > 2.6.32-220.4.1.el6.x86_64 > $ automount -V > Linux automount version 5.0.5-54.el6 > > Directories: > config dir: /etc/sysconfig > maps dir: /etc > modules dir: /usr/lib64/autofs > > Compile options: > DISABLE_MOUNT_LOCKING ENABLE_IGNORE_BUSY_MOUNTS WITH_HESIOD WITH_LDAP > WITH_SASL LIBXML2_WORKAROUND WITH_LIBTIRPC > > > I've got a mount with a direct map that works well : I go to directory > and the automount occurs. After the timeout, it is unmounted. > > If I remove this mount from the direct map, reload autofs while the > mount is not active (via kill -HUP), and try to access the mountpoint > then the mountpoint is empty : not automount occurs. So far so good. > > But if I remove the mount from the direct map, reload autofs while the > mount is still active (important), wait for the timeout to occurs (the > unmount occurs) and try to access the mountpoint again, then the mount > occurs although there is no entry in the direct map and autofs has been > reloaded. From what I see, the new "empty" direct map is not honored. Right, that is the way it will happen now. When the mount is busy on re-load the automount stored cached map entry must be left in place so that in can be expired. That's what causes it. > > Please see the steps to reproduce on a machine with a local nfs server > after the message. > > Is this a wanted behaviour ? Is there any workaround ? If this is not > wanted behaviour and a known bug, I didn't find it before posting, sorry. Not really wanted behavior but it is what happens now. I should be able to mark the cached map entry negative on re-load so it doesn't trigger a mount while waiting to be cleaned up. > > Regards, > > Jean-Baptiste > > -------------------------- > Steps to reproduce : > > $ # install necessary package to be a nfs server > $ echo "/usr/local/share 127.0.0.1(ro,no_root_squash,no_subtree_check)" > | sudo tee -a /etc/exports > $ sudo exportfs -a > $ sudo mkdir /tmp/mount > $ sudo mount -o vers=3 127.0.0.1:/usr/local/share /tmp/mount > $ # check that the mount is ok > $ sudo umount /tmp/mount > > Use this auto.* files : > > $ cat /etc/auto.master > /- /etc/auto.mounts --ghost --timeout=20 The --ghost has no meaning for direct mounts, it isn't needed. > $ cat /etc/auto.mounts > /tmp/mount -fstype=nfs,ro,defaults,nfsvers=3 127.0.0.1:/usr/local/share > > Restart autofs : > $ sudo service autofs restart > > Check that the mount is ok : > $ cd ~/ > $ ls /tmp/mount > applications info man > $ mount > ... > 127.0.0.1:/usr/local/share on /tmp/mount type nfs > (ro,nfsvers=3,sloppy,addr=127.0.0.1) > ... > > We check that the mount is gone after the 20 seconds, perfect. > $ mount > /dev/sda3 on / type ext3 (rw) > proc on /proc type proc (rw) > sysfs on /sys type sysfs (rw) > devpts on /dev/pts type devpts (rw,gid=5,mode=620) > tmpfs on /dev/shm type tmpfs (rw) > /dev/sda1 on /boot type ext3 (rw) > /dev/sda5 on /tmp type ext3 (rw) > none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) > sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) > nfsd on /proc/fs/nfsd type nfsd (rw) > > First test : > - go again to /tmp/mount to check that the mount is ok > - remove the /tmp/mount entry from auto.mounts > - go to ~/ and wait 20 seconds for /tmp/mount to unmount > - reload autofs via "service autofs reload" > - go to /tmp/mount : no automount occurs > > Second test : > - Put again the /tmp/mount entry in auto.mounts > - restart autofs via "service autofs restart" > > We are in a clean state. Now : > > - go to /tmp/mount : automount occurs > - remove the /tmp/mount entry from auto.mounts > - reload autofs via "service autofs reload" (while the mount is still > present ! important !) > - go to ~/ and wait 20 seconds for /tmp/mount to unmount (check with the > mount command) > - go to /tmp/mount : automount OCCURS AGAIN although there is no entry > in the direct map and autofs has been reloaded > > > > > > > -- > To unsubscribe from this list: send the line "unsubscribe autofs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe autofs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html