OpenCloudOS-Kernel/fs/autofs4
Ian Kent d807ff838f autofs4 - fix expire check
In some cases when an autofs indirect mount is contained in a file
system that is marked as shared (such as when systemd does the
equivalent of "mount --make-rshared /" early in the boot), mounts
stop expiring.

When this happens the first expiry check on a mountpoint dentry in
autofs_expire_indirect() sees a mountpoint dentry with a higher
than minimal reference count. Consequently the dentry is condidered
busy and the actual expiry check is never done.

This particular check was originally meant as an optimisation to
detect a path walk in progress but with the addition of rcu-walk
it can be ineffective anyway.

Removing the test allows automounts to expire again since the
actual expire check doesn't rely on the dentry reference count.

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-08-17 06:56:39 -07:00
..
Kconfig fs/Kconfig: move autofs, autofs4 out 2009-01-22 13:15:54 +03:00
Makefile autofs4: add miscellaneous device for ioctls 2008-10-16 11:21:39 -07:00
autofs_i.h autofs: make the autofsv5 packet file descriptor use a packetized pipe 2012-04-29 13:30:08 -07:00
dev-ioctl.c switch dentry_open() to struct path, make it grab references itself 2012-07-23 00:01:29 +04:00
expire.c autofs4 - fix expire check 2012-08-17 06:56:39 -07:00
init.c autofs: set things up *before* registering fs type 2012-03-20 21:29:46 -04:00
inode.c avoid iput() from flusher thread 2012-05-28 09:54:45 -07:00
root.c stop passing nameidata to ->lookup() 2012-07-14 16:34:32 +04:00
symlink.c autofs4: keep symlink body in inode->i_private 2011-01-18 01:21:27 -05:00
waitq.c Revert "autofs: work around unhappy compat problem on x86-64" 2012-04-28 08:29:56 -07:00