diff options
Diffstat (limited to 'fs/gfs2/log.c')
-rw-r--r-- | fs/gfs2/log.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index 98918a756410..f2e449c595b4 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2/log.c | |||
@@ -120,7 +120,7 @@ __acquires(&sdp->sd_log_lock) | |||
120 | lock_buffer(bh); | 120 | lock_buffer(bh); |
121 | if (test_clear_buffer_dirty(bh)) { | 121 | if (test_clear_buffer_dirty(bh)) { |
122 | bh->b_end_io = end_buffer_write_sync; | 122 | bh->b_end_io = end_buffer_write_sync; |
123 | submit_bh(WRITE, bh); | 123 | submit_bh(WRITE_SYNC_PLUG, bh); |
124 | } else { | 124 | } else { |
125 | unlock_buffer(bh); | 125 | unlock_buffer(bh); |
126 | brelse(bh); | 126 | brelse(bh); |
@@ -604,7 +604,7 @@ static void log_write_header(struct gfs2_sbd *sdp, u32 flags, int pull) | |||
604 | if (test_bit(SDF_NOBARRIERS, &sdp->sd_flags)) | 604 | if (test_bit(SDF_NOBARRIERS, &sdp->sd_flags)) |
605 | goto skip_barrier; | 605 | goto skip_barrier; |
606 | get_bh(bh); | 606 | get_bh(bh); |
607 | submit_bh(WRITE_BARRIER | (1 << BIO_RW_META), bh); | 607 | submit_bh(WRITE_SYNC | (1 << BIO_RW_BARRIER) | (1 << BIO_RW_META), bh); |
608 | wait_on_buffer(bh); | 608 | wait_on_buffer(bh); |
609 | if (buffer_eopnotsupp(bh)) { | 609 | if (buffer_eopnotsupp(bh)) { |
610 | clear_buffer_eopnotsupp(bh); | 610 | clear_buffer_eopnotsupp(bh); |
@@ -664,7 +664,7 @@ static void gfs2_ordered_write(struct gfs2_sbd *sdp) | |||
664 | lock_buffer(bh); | 664 | lock_buffer(bh); |
665 | if (buffer_mapped(bh) && test_clear_buffer_dirty(bh)) { | 665 | if (buffer_mapped(bh) && test_clear_buffer_dirty(bh)) { |
666 | bh->b_end_io = end_buffer_write_sync; | 666 | bh->b_end_io = end_buffer_write_sync; |
667 | submit_bh(WRITE, bh); | 667 | submit_bh(WRITE_SYNC_PLUG, bh); |
668 | } else { | 668 | } else { |
669 | unlock_buffer(bh); | 669 | unlock_buffer(bh); |
670 | brelse(bh); | 670 | brelse(bh); |
@@ -764,7 +764,6 @@ void __gfs2_log_flush(struct gfs2_sbd *sdp, struct gfs2_glock *gl) | |||
764 | } | 764 | } |
765 | gfs2_log_unlock(sdp); | 765 | gfs2_log_unlock(sdp); |
766 | 766 | ||
767 | sdp->sd_vfs->s_dirt = 0; | ||
768 | up_write(&sdp->sd_log_flush_lock); | 767 | up_write(&sdp->sd_log_flush_lock); |
769 | 768 | ||
770 | kfree(ai); | 769 | kfree(ai); |
@@ -823,7 +822,6 @@ void gfs2_log_commit(struct gfs2_sbd *sdp, struct gfs2_trans *tr) | |||
823 | log_refund(sdp, tr); | 822 | log_refund(sdp, tr); |
824 | buf_lo_incore_commit(sdp, tr); | 823 | buf_lo_incore_commit(sdp, tr); |
825 | 824 | ||
826 | sdp->sd_vfs->s_dirt = 1; | ||
827 | up_read(&sdp->sd_log_flush_lock); | 825 | up_read(&sdp->sd_log_flush_lock); |
828 | 826 | ||
829 | gfs2_log_lock(sdp); | 827 | gfs2_log_lock(sdp); |