提交 53778ffd 编写于 作者: J Jan Kara 提交者: Linus Torvalds

[PATCH] Change ll_rw_block() calls in Reiser

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: NJan Kara <jack@suse.cz>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 26707699
...@@ -1034,7 +1034,7 @@ static int flush_commit_list(struct super_block *s, ...@@ -1034,7 +1034,7 @@ static int flush_commit_list(struct super_block *s,
SB_ONDISK_JOURNAL_SIZE(s); SB_ONDISK_JOURNAL_SIZE(s);
tbh = journal_find_get_block(s, bn); tbh = journal_find_get_block(s, bn);
if (buffer_dirty(tbh)) /* redundant, ll_rw_block() checks */ if (buffer_dirty(tbh)) /* redundant, ll_rw_block() checks */
ll_rw_block(WRITE, 1, &tbh); ll_rw_block(SWRITE, 1, &tbh);
put_bh(tbh); put_bh(tbh);
} }
atomic_dec(&journal->j_async_throttle); atomic_dec(&journal->j_async_throttle);
...@@ -2172,7 +2172,7 @@ static int journal_read_transaction(struct super_block *p_s_sb, ...@@ -2172,7 +2172,7 @@ static int journal_read_transaction(struct super_block *p_s_sb,
/* flush out the real blocks */ /* flush out the real blocks */
for (i = 0; i < get_desc_trans_len(desc); i++) { for (i = 0; i < get_desc_trans_len(desc); i++) {
set_buffer_dirty(real_blocks[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++) { for (i = 0; i < get_desc_trans_len(desc); i++) {
wait_on_buffer(real_blocks[i]); wait_on_buffer(real_blocks[i]);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册