diff options
Diffstat (limited to 'fs/gfs2/ops_dentry.c')
-rw-r--r-- | fs/gfs2/ops_dentry.c | 16 |
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: | 84 | valid_gunlock: |
85 | gfs2_glock_dq_uninit(&d_gh); | 85 | gfs2_glock_dq_uninit(&d_gh); |
86 | 86 | valid: | |
87 | valid: | ||
88 | dput(parent); | 87 | dput(parent); |
89 | return 1; | 88 | return 1; |
90 | 89 | ||
91 | invalid_gunlock: | 90 | invalid_gunlock: |
92 | gfs2_glock_dq_uninit(&d_gh); | 91 | gfs2_glock_dq_uninit(&d_gh); |
93 | 92 | invalid: | |
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: | 102 | fail_gunlock: |
106 | gfs2_glock_dq_uninit(&d_gh); | 103 | gfs2_glock_dq_uninit(&d_gh); |
107 | 104 | fail: | |
108 | fail: | ||
109 | dput(parent); | 105 | dput(parent); |
110 | return 0; | 106 | return 0; |
111 | } | 107 | } |