aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/ops_dentry.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/gfs2/ops_dentry.c')
-rw-r--r--fs/gfs2/ops_dentry.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/fs/gfs2/ops_dentry.c b/fs/gfs2/ops_dentry.c
index a1ba1ec8eef4..fa6ceffc7d82 100644
--- a/fs/gfs2/ops_dentry.c
+++ b/fs/gfs2/ops_dentry.c
@@ -81,31 +81,27 @@ static int gfs2_drevalidate(struct dentry *dentry, struct nameidata *nd)
81 goto fail_gunlock; 81 goto fail_gunlock;
82 } 82 }
83 83
84 valid_gunlock: 84valid_gunlock:
85 gfs2_glock_dq_uninit(&d_gh); 85 gfs2_glock_dq_uninit(&d_gh);
86 86valid:
87 valid:
88 dput(parent); 87 dput(parent);
89 return 1; 88 return 1;
90 89
91 invalid_gunlock: 90invalid_gunlock:
92 gfs2_glock_dq_uninit(&d_gh); 91 gfs2_glock_dq_uninit(&d_gh);
93 92invalid:
94 invalid:
95 if (inode && S_ISDIR(inode->i_mode)) { 93 if (inode && S_ISDIR(inode->i_mode)) {
96 if (have_submounts(dentry)) 94 if (have_submounts(dentry))
97 goto valid; 95 goto valid;
98 shrink_dcache_parent(dentry); 96 shrink_dcache_parent(dentry);
99 } 97 }
100 d_drop(dentry); 98 d_drop(dentry);
101
102 dput(parent); 99 dput(parent);
103 return 0; 100 return 0;
104 101
105 fail_gunlock: 102fail_gunlock:
106 gfs2_glock_dq_uninit(&d_gh); 103 gfs2_glock_dq_uninit(&d_gh);
107 104fail:
108 fail:
109 dput(parent); 105 dput(parent);
110 return 0; 106 return 0;
111} 107}