Automounting directories are now invalidated by .d_revalidate()
so to be d_instantiate()d again with the right DCACHE_NEED_AUTOMOUNT
flag

Reviewed-by: Jeff Layton <[email protected]>
Signed-off-by: Gerlando Falauto <[email protected]>
---
 fs/cifs/dir.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index 9ea65cf..ca3b571 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -637,8 +637,16 @@ cifs_d_revalidate(struct dentry *direntry, struct 
nameidata *nd)
        if (direntry->d_inode) {
                if (cifs_revalidate_dentry(direntry))
                        return 0;
-               else
+               else {
+                       /*
+                        * Forcibly invalidate automounting directory inodes
+                        * (remote DFS directories) so to have them
+                        * instantiated again for automount
+                        */
+                       if (IS_AUTOMOUNT(direntry->d_inode))
+                               return 0;
                        return 1;
+               }
        }
 
        /*
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to