summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/buffer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/buffer.c b/fs/buffer.c
index f961605a904b..3b12cf947aba 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2838,14 +2838,14 @@ void ll_rw_block(int rw, int nr, struct buffer_head *bhs[])
get_bh(bh);
if (rw == WRITE) {
- bh->b_end_io = end_buffer_write_sync;
if (test_clear_buffer_dirty(bh)) {
+ bh->b_end_io = end_buffer_write_sync;
submit_bh(WRITE, bh);
continue;
}
} else {
- bh->b_end_io = end_buffer_read_sync;
if (!buffer_uptodate(bh)) {
+ bh->b_end_io = end_buffer_read_sync;
submit_bh(rw, bh);
continue;
}