aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/gcinode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nilfs2/gcinode.c')
-rw-r--r--fs/nilfs2/gcinode.c12
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