[GFS2] Fix ordering of dirty/journal for ordered buffer unstuffing
authorBob Peterson <rpeterso@redhat.com>
Sun, 2 Sep 2007 09:55:29 +0000 (10:55 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Wed, 10 Oct 2007 07:56:05 +0000 (08:56 +0100)
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/bmap.c

index 1e56f4d..93fa427 100644 (file)
@@ -93,10 +93,10 @@ static int gfs2_unstuffer_page(struct gfs2_inode *ip, struct buffer_head *dibh,
                map_bh(bh, inode->i_sb, block);
 
        set_buffer_uptodate(bh);
-       if (sdp->sd_args.ar_data == GFS2_DATA_ORDERED || gfs2_is_jdata(ip))
-               gfs2_trans_add_bh(ip->i_gl, bh, 0);
        if (!gfs2_is_jdata(ip))
                mark_buffer_dirty(bh);
+       if (sdp->sd_args.ar_data == GFS2_DATA_ORDERED || gfs2_is_jdata(ip))
+               gfs2_trans_add_bh(ip->i_gl, bh, 0);
 
        if (release) {
                unlock_page(page);