aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-09-07 17:36:57 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-09-07 17:36:57 -0400
commitdc0755cdb16cb129c4054c85d62bce83a18bcbcf (patch)
tree17f585ce18524ec029cb1169cdba256c83288101 /fs/gfs2
parentc7c4591db64dbd1e504bc4e2806d7ef290a3c81b (diff)
parentf0d3b3ded999daae1cf451d051018038c0a05bae (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs pile 2 (of many) from Al Viro: "Mostly Miklos' series this time" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: constify dcache.c inlined helpers where possible fuse: drop dentry on failed revalidate fuse: clean up return in fuse_dentry_revalidate() fuse: use d_materialise_unique() sysfs: use check_submounts_and_drop() nfs: use check_submounts_and_drop() gfs2: use check_submounts_and_drop() afs: use check_submounts_and_drop() vfs: check unlinked ancestors before mount vfs: check submounts and drop atomically vfs: add d_walk() vfs: restructure d_genocide()
Diffstat (limited to 'fs/gfs2')
-rw-r--r--fs/gfs2/dentry.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/gfs2/dentry.c b/fs/gfs2/dentry.c
index f2448ab2aac5..d3a5d4e29ba5 100644
--- a/fs/gfs2/dentry.c
+++ b/fs/gfs2/dentry.c
@@ -93,12 +93,9 @@ invalid_gunlock:
93 if (!had_lock) 93 if (!had_lock)
94 gfs2_glock_dq_uninit(&d_gh); 94 gfs2_glock_dq_uninit(&d_gh);
95invalid: 95invalid:
96 if (inode && S_ISDIR(inode->i_mode)) { 96 if (check_submounts_and_drop(dentry) != 0)
97 if (have_submounts(dentry)) 97 goto valid;
98 goto valid; 98
99 shrink_dcache_parent(dentry);
100 }
101 d_drop(dentry);
102 dput(parent); 99 dput(parent);
103 return 0; 100 return 0;
104 101