On Sun, 2011-03-06 at 23:37 -0300, Leonardo Chiquitto wrote: > On Wed, Dec 15, 2010 at 12:49 AM, Ian Kent <ra...@themaw.net> wrote: > > On Fri, 2010-12-10 at 17:10 -0200, Leonardo Chiquitto wrote: > >> Hello Ian and list, > >> > >> I'd like to forward a bug report we received on openSUSE's Bugzilla [1]. > >> Please consider the following setup to reproduce the problem: > >> > >> host:~ # grep automount /etc/nsswitch.conf > >> automount: files > >> > >> host:~ # cat /etc/auto.master > >> /vol /etc/auto.vol > >> > >> host:~ # cat /etc/auto.vol > >> data1 -fstype=nfs,ro,rsize=8192,wsize=8192,intr,nolock,nosuid srv:/data1 > >> data2 -fstype=nfs,ro,rsize=8192,wsize=8192,intr,nolock,nosuid srv:/data2 > >> data3 -fstype=nfs,ro,rsize=8192,wsize=8192,intr,nolock,nosuid srv:/data3 > >> > >> host:~ # cat /etc/sysconfig/autofs > >> AUTOFS_OPTIONS="" > >> LOCAL_OPTIONS="" > >> APPEND_OPTIONS="yes" > >> DEFAULT_MASTER_MAP_NAME="auto.master" > >> DEFAULT_TIMEOUT=600 > >> DEFAULT_BROWSE_MODE="yes" > >> DEFAULT_LOGGING="debug" > >> USE_MISC_DEVICE="yes" > >> > >> host:~ # ls -F /vol > >> data1/ data2/ data3/ > >> > >> The problem depends on ghosting being enabled (ie, BROWSE_MODE=yes). > >> When we try to access a non-existent key/entry, AutoFS will fail to mount > >> it but will still create the mount point: > >> > >> host:~ # ls -d /vol/invalid; sleep 10; ls -d /vol/invalid > >> ls: cannot access /vol/invalid: No such file or directory > >> /vol/invalid > >> > >> host:~ # ls -F /vol > >> data1/ data2/ data3/ invalid/ > >> > >> The problem happens because lookup_ghost() iterates over all cached > >> mapents and creates directories for each entry in the cache. Since > >> the cache also stores entries for failed mounts (negative entries), it > >> ends up creating directories for mount points that don't exist in the > >> map. > > > > Yes, an obvious problem. > > > >> > >> I tested the patch below and it resolves the problem for me, but I'm not > >> sure if this is the best (or even the correct) way to fix the bug. I'd > >> appreciate if you could review and comment. > > > > Yeah, at first I thought there were a few other cases. > > There still might be so let me think about it further. > > Hello Ian, > > I bisected this problem today and discovered that it appeared after the > following commit: > > commit 08aafab4c1d0ab6227c80f8cd1086ae78556a370 > Author: Ian Kent <ra...@themaw.net> > Date: Thu Sep 9 11:10:47 2010 +0800 > > autofs-5.0.5 - fix direct map not updating on reread > > If the map type is explicitly specified for a map the map isn't > properly updated when a re-read is requested. This is because > the map stale flag is incorrectly cleared after after the lookup > module reads the map instead of at the completion of the update > procedure. The map stale flag should only be cleared if the map > read fails for some reason, otherwise it is updated when the > refresh is completed. > > Does this ring a bell? If not, I'll see if I can debug it further tomorrow.
Not really. I'm still not sure your original patch deals with the problem fully. Could you also have a look at and try (from kernel.org): autofs-5.0.5-fix-prune-cache-valid-check.patch Ian _______________________________________________ autofs mailing list autofs@linux.kernel.org http://linux.kernel.org/mailman/listinfo/autofs