diff options
Diffstat (limited to 'fs/nilfs2/gcinode.c')
-rw-r--r-- | fs/nilfs2/gcinode.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c index 6e79ac0f49a1..08a07a218d26 100644 --- a/fs/nilfs2/gcinode.c +++ b/fs/nilfs2/gcinode.c | |||
@@ -157,15 +157,11 @@ int nilfs_gccache_wait_and_mark_dirty(struct buffer_head *bh) | |||
157 | if (buffer_dirty(bh)) | 157 | if (buffer_dirty(bh)) |
158 | return -EEXIST; | 158 | return -EEXIST; |
159 | 159 | ||
160 | if (buffer_nilfs_node(bh)) { | 160 | if (buffer_nilfs_node(bh) && nilfs_btree_broken_node_block(bh)) { |
161 | if (nilfs_btree_broken_node_block(bh)) { | 161 | clear_buffer_uptodate(bh); |
162 | clear_buffer_uptodate(bh); | 162 | return -EIO; |
163 | return -EIO; | ||
164 | } | ||
165 | nilfs_btnode_mark_dirty(bh); | ||
166 | } else { | ||
167 | nilfs_mark_buffer_dirty(bh); | ||
168 | } | 163 | } |
164 | mark_buffer_dirty(bh); | ||
169 | return 0; | 165 | return 0; |
170 | } | 166 | } |
171 | 167 | ||