aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/bmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/gfs2/bmap.c')
-rw-r--r--fs/gfs2/bmap.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c
index 69f846418ad5..5226c3bfbcf7 100644
--- a/fs/gfs2/bmap.c
+++ b/fs/gfs2/bmap.c
@@ -89,10 +89,12 @@ static int gfs2_unstuffer_page(struct gfs2_inode *ip, struct buffer_head *dibh,
89 map_bh(bh, inode->i_sb, block); 89 map_bh(bh, inode->i_sb, block);
90 90
91 set_buffer_uptodate(bh); 91 set_buffer_uptodate(bh);
92 if (!gfs2_is_jdata(ip)) 92 if (gfs2_is_jdata(ip))
93 mark_buffer_dirty(bh);
94 if (!gfs2_is_writeback(ip))
95 gfs2_trans_add_data(ip->i_gl, bh); 93 gfs2_trans_add_data(ip->i_gl, bh);
94 else {
95 mark_buffer_dirty(bh);
96 gfs2_ordered_add_inode(ip);
97 }
96 98
97 if (release) { 99 if (release) {
98 unlock_page(page); 100 unlock_page(page);
@@ -1028,8 +1030,10 @@ static int gfs2_block_zero_range(struct inode *inode, loff_t from,
1028 err = 0; 1030 err = 0;
1029 } 1031 }
1030 1032
1031 if (!gfs2_is_writeback(ip)) 1033 if (gfs2_is_jdata(ip))
1032 gfs2_trans_add_data(ip->i_gl, bh); 1034 gfs2_trans_add_data(ip->i_gl, bh);
1035 else
1036 gfs2_ordered_add_inode(ip);
1033 1037
1034 zero_user(page, offset, length); 1038 zero_user(page, offset, length);
1035 mark_buffer_dirty(bh); 1039 mark_buffer_dirty(bh);