summaryrefslogtreecommitdiffstats
path: root/fs/jbd2/commit.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/jbd2/commit.c')
-rw-r--r--fs/jbd2/commit.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c
index 31f8ca046639..8c514367ba5a 100644
--- a/fs/jbd2/commit.c
+++ b/fs/jbd2/commit.c
@@ -155,9 +155,10 @@ static int journal_submit_commit_record(journal_t *journal,
155 155
156 if (journal->j_flags & JBD2_BARRIER && 156 if (journal->j_flags & JBD2_BARRIER &&
157 !jbd2_has_feature_async_commit(journal)) 157 !jbd2_has_feature_async_commit(journal))
158 ret = submit_bh(REQ_OP_WRITE, WRITE_SYNC | WRITE_FLUSH_FUA, bh); 158 ret = submit_bh(REQ_OP_WRITE,
159 REQ_SYNC | REQ_PREFLUSH | REQ_FUA, bh);
159 else 160 else
160 ret = submit_bh(REQ_OP_WRITE, WRITE_SYNC, bh); 161 ret = submit_bh(REQ_OP_WRITE, REQ_SYNC, bh);
161 162
162 *cbh = bh; 163 *cbh = bh;
163 return ret; 164 return ret;
@@ -402,7 +403,7 @@ void jbd2_journal_commit_transaction(journal_t *journal)
402 jbd2_journal_update_sb_log_tail(journal, 403 jbd2_journal_update_sb_log_tail(journal,
403 journal->j_tail_sequence, 404 journal->j_tail_sequence,
404 journal->j_tail, 405 journal->j_tail,
405 WRITE_SYNC); 406 REQ_SYNC);
406 mutex_unlock(&journal->j_checkpoint_mutex); 407 mutex_unlock(&journal->j_checkpoint_mutex);
407 } else { 408 } else {
408 jbd_debug(3, "superblock not updated\n"); 409 jbd_debug(3, "superblock not updated\n");
@@ -717,7 +718,7 @@ start_journal_io:
717 clear_buffer_dirty(bh); 718 clear_buffer_dirty(bh);
718 set_buffer_uptodate(bh); 719 set_buffer_uptodate(bh);
719 bh->b_end_io = journal_end_buffer_io_sync; 720 bh->b_end_io = journal_end_buffer_io_sync;
720 submit_bh(REQ_OP_WRITE, WRITE_SYNC, bh); 721 submit_bh(REQ_OP_WRITE, REQ_SYNC, bh);
721 } 722 }
722 cond_resched(); 723 cond_resched();
723 stats.run.rs_blocks_logged += bufs; 724 stats.run.rs_blocks_logged += bufs;