From: Jan Kara We need to be sure that current data in buffer are sent to disk. Hence we need to call ll_rw_block() with SWRITE. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton --- fs/reiserfs/journal.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN fs/reiserfs/journal.c~change-ll_rw_block-calls-in-reiser fs/reiserfs/journal.c --- devel/fs/reiserfs/journal.c~change-ll_rw_block-calls-in-reiser 2005-07-12 23:16:54.000000000 -0700 +++ devel-akpm/fs/reiserfs/journal.c 2005-07-12 23:17:36.000000000 -0700 @@ -1034,7 +1034,7 @@ static int flush_commit_list(struct supe SB_ONDISK_JOURNAL_SIZE(s); tbh = journal_find_get_block(s, bn); if (buffer_dirty(tbh)) /* redundant, ll_rw_block() checks */ - ll_rw_block(WRITE, 1, &tbh); + ll_rw_block(SWRITE, 1, &tbh); put_bh(tbh); } atomic_dec(&journal->j_async_throttle); @@ -2172,7 +2172,7 @@ static int journal_read_transaction(stru /* flush out the real blocks */ for (i = 0; i < get_desc_trans_len(desc); i++) { set_buffer_dirty(real_blocks[i]); - ll_rw_block(WRITE, 1, real_blocks + i); + ll_rw_block(SWRITE, 1, real_blocks + i); } for (i = 0; i < get_desc_trans_len(desc); i++) { wait_on_buffer(real_blocks[i]); _