diff options
-rw-r--r-- | fs/nilfs2/super.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c index 10e82c00aedc..268b563d215a 100644 --- a/fs/nilfs2/super.c +++ b/fs/nilfs2/super.c | |||
@@ -184,8 +184,6 @@ static inline void nilfs_destroy_inode_cache(void) | |||
184 | static void nilfs_clear_inode(struct inode *inode) | 184 | static void nilfs_clear_inode(struct inode *inode) |
185 | { | 185 | { |
186 | struct nilfs_inode_info *ii = NILFS_I(inode); | 186 | struct nilfs_inode_info *ii = NILFS_I(inode); |
187 | struct nilfs_transaction_info ti; | ||
188 | struct nilfs_sb_info *sbi = NILFS_SB(inode->i_sb); | ||
189 | 187 | ||
190 | #ifdef CONFIG_NILFS_POSIX_ACL | 188 | #ifdef CONFIG_NILFS_POSIX_ACL |
191 | if (ii->i_acl && ii->i_acl != NILFS_ACL_NOT_CACHED) { | 189 | if (ii->i_acl && ii->i_acl != NILFS_ACL_NOT_CACHED) { |
@@ -200,21 +198,14 @@ static void nilfs_clear_inode(struct inode *inode) | |||
200 | /* | 198 | /* |
201 | * Free resources allocated in nilfs_read_inode(), here. | 199 | * Free resources allocated in nilfs_read_inode(), here. |
202 | */ | 200 | */ |
203 | nilfs_transaction_begin(inode->i_sb, &ti, 0); | 201 | BUG_ON(!list_empty(&ii->i_dirty)); |
204 | |||
205 | spin_lock(&sbi->s_inode_lock); | ||
206 | if (!list_empty(&ii->i_dirty)) | ||
207 | list_del_init(&ii->i_dirty); | ||
208 | brelse(ii->i_bh); | 202 | brelse(ii->i_bh); |
209 | ii->i_bh = NULL; | 203 | ii->i_bh = NULL; |
210 | spin_unlock(&sbi->s_inode_lock); | ||
211 | 204 | ||
212 | if (test_bit(NILFS_I_BMAP, &ii->i_state)) | 205 | if (test_bit(NILFS_I_BMAP, &ii->i_state)) |
213 | nilfs_bmap_clear(ii->i_bmap); | 206 | nilfs_bmap_clear(ii->i_bmap); |
214 | 207 | ||
215 | nilfs_btnode_cache_clear(&ii->i_btnode_cache); | 208 | nilfs_btnode_cache_clear(&ii->i_btnode_cache); |
216 | |||
217 | nilfs_transaction_end(inode->i_sb, 0); | ||
218 | } | 209 | } |
219 | 210 | ||
220 | /** | 211 | /** |