diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2010-12-18 12:06:56 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-01-12 20:02:46 -0500 |
commit | 41ced6dcf3dc6b901716fda0dc8de3536da4d39b (patch) | |
tree | cffec5e5bde8d8a580c03cef8eea2ddb9a821d8a /fs/gfs2/export.c | |
parent | 1c929cfe6d8f2087a337a868fbf6c38d56bb4889 (diff) |
switch gfs2, close races
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/gfs2/export.c')
-rw-r--r-- | fs/gfs2/export.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/fs/gfs2/export.c b/fs/gfs2/export.c index 97012ecff560..9023db8184f9 100644 --- a/fs/gfs2/export.c +++ b/fs/gfs2/export.c | |||
@@ -126,12 +126,7 @@ static int gfs2_get_name(struct dentry *parent, char *name, | |||
126 | 126 | ||
127 | static struct dentry *gfs2_get_parent(struct dentry *child) | 127 | static struct dentry *gfs2_get_parent(struct dentry *child) |
128 | { | 128 | { |
129 | struct dentry *dentry; | 129 | return d_obtain_alias(gfs2_lookupi(child->d_inode, &gfs2_qdotdot, 1)); |
130 | |||
131 | dentry = d_obtain_alias(gfs2_lookupi(child->d_inode, &gfs2_qdotdot, 1)); | ||
132 | if (!IS_ERR(dentry)) | ||
133 | d_set_d_op(dentry, &gfs2_dops); | ||
134 | return dentry; | ||
135 | } | 130 | } |
136 | 131 | ||
137 | static struct dentry *gfs2_get_dentry(struct super_block *sb, | 132 | static struct dentry *gfs2_get_dentry(struct super_block *sb, |
@@ -139,7 +134,6 @@ static struct dentry *gfs2_get_dentry(struct super_block *sb, | |||
139 | { | 134 | { |
140 | struct gfs2_sbd *sdp = sb->s_fs_info; | 135 | struct gfs2_sbd *sdp = sb->s_fs_info; |
141 | struct inode *inode; | 136 | struct inode *inode; |
142 | struct dentry *dentry; | ||
143 | 137 | ||
144 | inode = gfs2_ilookup(sb, inum->no_addr); | 138 | inode = gfs2_ilookup(sb, inum->no_addr); |
145 | if (inode) { | 139 | if (inode) { |
@@ -156,10 +150,7 @@ static struct dentry *gfs2_get_dentry(struct super_block *sb, | |||
156 | return ERR_CAST(inode); | 150 | return ERR_CAST(inode); |
157 | 151 | ||
158 | out_inode: | 152 | out_inode: |
159 | dentry = d_obtain_alias(inode); | 153 | return d_obtain_alias(inode); |
160 | if (!IS_ERR(dentry)) | ||
161 | d_set_d_op(dentry, &gfs2_dops); | ||
162 | return dentry; | ||
163 | } | 154 | } |
164 | 155 | ||
165 | static struct dentry *gfs2_fh_to_dentry(struct super_block *sb, struct fid *fid, | 156 | static struct dentry *gfs2_fh_to_dentry(struct super_block *sb, struct fid *fid, |