• Miklos Szeredi's avatar
    vfs: automount should ignore LOOKUP_FOLLOW · 0ec26fd0
    Miklos Szeredi authored
    Prior to 2.6.38 automount would not trigger on either stat(2) or
    lstat(2) on the automount point.
    
    After 2.6.38, with the introduction of the ->d_automount()
    infrastructure, stat(2) and others would start triggering automount
    while lstat(2), etc. still would not.  This is a regression and a
    userspace ABI change.
    
    Problem originally reported here:
    
      http://thread.gmane.org/gmane.linux.kernel.autofs/6098
    
    It appears that there was an attempt at fixing various userspace tools
    to not trigger the automount.  But since the stat system call is
    rather common it is impossible to "fix" all userspace.
    
    This patch reverts the original behavior, which is to not trigger on
    stat(2) and other symlink following syscalls.
    
    [ It's not really clear what the right behavior is.  Apparently Solaris
      does the "automount on stat, leave alone on lstat".  And some programs
      can get unhappy when "stat+open+fstat" ends up giving a different
      result from the fstat than from the initial stat.
    
      But the change in 2.6.38 resulted in problems for some people, so
      we're going back to old behavior.  Maybe we can re-visit this
      discussion at some future date  - Linus ]
    Reported-by: default avatarLeonardo Chiquitto <leonardo.lists@gmail.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
    Acked-by: default avatarIan Kent <raven@themaw.net>
    Cc: David Howells <dhowells@redhat.com>
    Cc: stable@kernel.org
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    0ec26fd0
namei.c 82 KB