• Ian Kent's avatar
    [PATCH] autofs4: nameidata needs to be up to date for follow_link · 051d3812
    Ian Kent authored
    In order to be able to trigger a mount using the follow_link inode method the
    nameidata struct that is passed in needs to have the vfsmount of the autofs
    trigger not its parent.
    
    During a path walk if an autofs trigger is mounted on a dentry, when the
    follow_link method is called, the nameidata struct contains the vfsmount and
    mountpoint dentry of the parent mount while the dentry that is passed in is
    the root of the autofs trigger mount.  I believe it is impossible to get the
    vfsmount of the trigger mount, within the follow_link method, when only the
    parent vfsmount and the root dentry of the trigger mount are known.
    
    This patch updates the nameidata struct on entry to __do_follow_link if it
    detects that it is out of date.  It moves the path_to_nameidata to above
    __do_follow_link to facilitate calling it from there.  The dput_path is moved
    as well as that seemed sensible.  No changes are made to these two functions.
    Signed-off-by: default avatarIan Kent <raven@themaw.net>
    Cc: Al Viro <viro@ftp.linux.org.uk>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    051d3812
namei.c 66.5 KB