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 --- 25/fs/reiserfs/journal.c~change-ll_rw_block-calls-in-reiser Mon Jul 11 16:31:54 2005 +++ 25-akpm/fs/reiserfs/journal.c Mon Jul 11 16:31:54 2005 @@ -972,7 +972,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); @@ -1987,7 +1987,7 @@ abort_replay: /* 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]) ; _