diff options
-rw-r--r-- | fs/buffer.c | 4 |
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[]) | |||
2838 | 2838 | ||
2839 | get_bh(bh); | 2839 | get_bh(bh); |
2840 | if (rw == WRITE) { | 2840 | if (rw == WRITE) { |
2841 | bh->b_end_io = end_buffer_write_sync; | ||
2842 | if (test_clear_buffer_dirty(bh)) { | 2841 | if (test_clear_buffer_dirty(bh)) { |
2842 | bh->b_end_io = end_buffer_write_sync; | ||
2843 | submit_bh(WRITE, bh); | 2843 | submit_bh(WRITE, bh); |
2844 | continue; | 2844 | continue; |
2845 | } | 2845 | } |
2846 | } else { | 2846 | } else { |
2847 | bh->b_end_io = end_buffer_read_sync; | ||
2848 | if (!buffer_uptodate(bh)) { | 2847 | if (!buffer_uptodate(bh)) { |
2848 | bh->b_end_io = end_buffer_read_sync; | ||
2849 | submit_bh(rw, bh); | 2849 | submit_bh(rw, bh); |
2850 | continue; | 2850 | continue; |
2851 | } | 2851 | } |