diff options
Diffstat (limited to 'fs/fuse/inode.c')
-rw-r--r-- | fs/fuse/inode.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index e9114237f31f..4ee8f72e6380 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c | |||
@@ -172,7 +172,6 @@ struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid, | |||
172 | struct inode *inode; | 172 | struct inode *inode; |
173 | struct fuse_inode *fi; | 173 | struct fuse_inode *fi; |
174 | struct fuse_conn *fc = get_fuse_conn_super(sb); | 174 | struct fuse_conn *fc = get_fuse_conn_super(sb); |
175 | int retried = 0; | ||
176 | 175 | ||
177 | retry: | 176 | retry: |
178 | inode = iget5_locked(sb, nodeid, fuse_inode_eq, fuse_inode_set, &nodeid); | 177 | inode = iget5_locked(sb, nodeid, fuse_inode_eq, fuse_inode_set, &nodeid); |
@@ -186,11 +185,9 @@ struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid, | |||
186 | fuse_init_inode(inode, attr); | 185 | fuse_init_inode(inode, attr); |
187 | unlock_new_inode(inode); | 186 | unlock_new_inode(inode); |
188 | } else if ((inode->i_mode ^ attr->mode) & S_IFMT) { | 187 | } else if ((inode->i_mode ^ attr->mode) & S_IFMT) { |
189 | BUG_ON(retried); | ||
190 | /* Inode has changed type, any I/O on the old should fail */ | 188 | /* Inode has changed type, any I/O on the old should fail */ |
191 | make_bad_inode(inode); | 189 | make_bad_inode(inode); |
192 | iput(inode); | 190 | iput(inode); |
193 | retried = 1; | ||
194 | goto retry; | 191 | goto retry; |
195 | } | 192 | } |
196 | 193 | ||