linux-IllusionX/fs/autofs4
Jeff Moyer 9d2de6ad2a autofs4: fix incorrect return from root.c:try_to_fill_dentry()
Jeff Moyer has identified a case where the autofs4 function
root.c:try_to_fill_dentry() can return -EBUSY when it should return 0.

Jeff's description of the way this happens is:

"automount starts an expire for directory d.  after the callout to the daemon,
but before the rmdir, another process tries to walk into the same directory.
It puts itself onto the waitq, pending the expiration.

When the expire finishes, the second process is woken up.  In
try_to_fill_dentry, it does this check:

                status = d_invalidate(dentry);
                if (status != -EBUSY)
                        return -EAGAIN;

And status is EBUSY.  The dentry still has a non-zero d_inode, and the
flags do not contain LOOKUP_CONTINUE or LOOKUP_DIRECTORY

So, we fall through and return -EBUSY to the caller."

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-05-01 08:04:01 -07:00
..
autofs_i.h fs: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
expire.c autofs4: fix sparse warning in waitq.c:autofs4_expire_indirect() 2008-05-01 08:04:01 -07:00
init.c [PATCH] AUTOFS: Make sure all dentries refs are released before calling kill_anon_super() 2006-10-11 11:14:25 -07:00
inode.c mount options: fix autofs4 2008-02-08 09:22:39 -08:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
root.c autofs4: fix incorrect return from root.c:try_to_fill_dentry() 2008-05-01 08:04:01 -07:00
symlink.c [PATCH] mark struct inode_operations const 1 2007-02-12 09:48:46 -08:00
waitq.c autofs4: check for invalid dentry in getpath 2008-05-01 08:04:01 -07:00