diff options
author | Jan Kara <jack@suse.cz> | 2005-09-06 18:19:12 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-07 19:57:55 -0400 |
commit | 26707699b5337ea471ba1774447e8a1170c99e52 (patch) | |
tree | 13ea647feb0f0eb026a4a00fd0e1d522d71876ca /fs | |
parent | a7662236253374012d364106b6dc9161bd929e2e (diff) |
[PATCH] Change ll_rw_block() calls in JBD
We must be sure that the current data in buffer are sent to disk. Hence we
have to call ll_rw_block() with SWRITE.
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/jbd/checkpoint.c | 2 | ||||
-rw-r--r-- | fs/jbd/commit.c | 4 | ||||
-rw-r--r-- | fs/jbd/journal.c | 2 | ||||
-rw-r--r-- | fs/jbd/revoke.c | 2 |
4 files changed, 5 insertions, 5 deletions
diff --git a/fs/jbd/checkpoint.c b/fs/jbd/checkpoint.c index 5a97e346bd95..014a51fd00d7 100644 --- a/fs/jbd/checkpoint.c +++ b/fs/jbd/checkpoint.c | |||
@@ -204,7 +204,7 @@ __flush_batch(journal_t *journal, struct buffer_head **bhs, int *batch_count) | |||
204 | int i; | 204 | int i; |
205 | 205 | ||
206 | spin_unlock(&journal->j_list_lock); | 206 | spin_unlock(&journal->j_list_lock); |
207 | ll_rw_block(WRITE, *batch_count, bhs); | 207 | ll_rw_block(SWRITE, *batch_count, bhs); |
208 | spin_lock(&journal->j_list_lock); | 208 | spin_lock(&journal->j_list_lock); |
209 | for (i = 0; i < *batch_count; i++) { | 209 | for (i = 0; i < *batch_count; i++) { |
210 | struct buffer_head *bh = bhs[i]; | 210 | struct buffer_head *bh = bhs[i]; |
diff --git a/fs/jbd/commit.c b/fs/jbd/commit.c index 9d0494dcc571..2a3e310f79ef 100644 --- a/fs/jbd/commit.c +++ b/fs/jbd/commit.c | |||
@@ -358,7 +358,7 @@ write_out_data: | |||
358 | jbd_debug(2, "submit %d writes\n", | 358 | jbd_debug(2, "submit %d writes\n", |
359 | bufs); | 359 | bufs); |
360 | spin_unlock(&journal->j_list_lock); | 360 | spin_unlock(&journal->j_list_lock); |
361 | ll_rw_block(WRITE, bufs, wbuf); | 361 | ll_rw_block(SWRITE, bufs, wbuf); |
362 | journal_brelse_array(wbuf, bufs); | 362 | journal_brelse_array(wbuf, bufs); |
363 | bufs = 0; | 363 | bufs = 0; |
364 | goto write_out_data; | 364 | goto write_out_data; |
@@ -381,7 +381,7 @@ write_out_data: | |||
381 | 381 | ||
382 | if (bufs) { | 382 | if (bufs) { |
383 | spin_unlock(&journal->j_list_lock); | 383 | spin_unlock(&journal->j_list_lock); |
384 | ll_rw_block(WRITE, bufs, wbuf); | 384 | ll_rw_block(SWRITE, bufs, wbuf); |
385 | journal_brelse_array(wbuf, bufs); | 385 | journal_brelse_array(wbuf, bufs); |
386 | spin_lock(&journal->j_list_lock); | 386 | spin_lock(&journal->j_list_lock); |
387 | } | 387 | } |
diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c index 334f4cf0823b..7ae2c4fe506b 100644 --- a/fs/jbd/journal.c +++ b/fs/jbd/journal.c | |||
@@ -957,7 +957,7 @@ void journal_update_superblock(journal_t *journal, int wait) | |||
957 | if (wait) | 957 | if (wait) |
958 | sync_dirty_buffer(bh); | 958 | sync_dirty_buffer(bh); |
959 | else | 959 | else |
960 | ll_rw_block(WRITE, 1, &bh); | 960 | ll_rw_block(SWRITE, 1, &bh); |
961 | 961 | ||
962 | out: | 962 | out: |
963 | /* If we have just flushed the log (by marking s_start==0), then | 963 | /* If we have just flushed the log (by marking s_start==0), then |
diff --git a/fs/jbd/revoke.c b/fs/jbd/revoke.c index 93b9f45eebda..a56144183462 100644 --- a/fs/jbd/revoke.c +++ b/fs/jbd/revoke.c | |||
@@ -614,7 +614,7 @@ static void flush_descriptor(journal_t *journal, | |||
614 | set_buffer_jwrite(bh); | 614 | set_buffer_jwrite(bh); |
615 | BUFFER_TRACE(bh, "write"); | 615 | BUFFER_TRACE(bh, "write"); |
616 | set_buffer_dirty(bh); | 616 | set_buffer_dirty(bh); |
617 | ll_rw_block(WRITE, 1, &bh); | 617 | ll_rw_block(SWRITE, 1, &bh); |
618 | } | 618 | } |
619 | #endif | 619 | #endif |
620 | 620 | ||