[PATCH] end_buffer_write_sync() avoid pointless assignments
authorakpm@osdl.org <akpm@osdl.org>
Sat, 16 Apr 2005 22:24:07 +0000 (15:24 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 16 Apr 2005 22:24:07 +0000 (15:24 -0700)
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/buffer.c

index f961605a904b1c9b3a6b32032fe9c32eb2c1fc0a..3b12cf947aba1e3516a6072584bf29d9d4e28fe1 100644 (file)
@@ -2838,14 +2838,14 @@ void ll_rw_block(int rw, int nr, struct buffer_head *bhs[])
 
                get_bh(bh);
                if (rw == WRITE) {
 
                get_bh(bh);
                if (rw == WRITE) {
-                       bh->b_end_io = end_buffer_write_sync;
                        if (test_clear_buffer_dirty(bh)) {
                        if (test_clear_buffer_dirty(bh)) {
+                               bh->b_end_io = end_buffer_write_sync;
                                submit_bh(WRITE, bh);
                                continue;
                        }
                } else {
                                submit_bh(WRITE, bh);
                                continue;
                        }
                } else {
-                       bh->b_end_io = end_buffer_read_sync;
                        if (!buffer_uptodate(bh)) {
                        if (!buffer_uptodate(bh)) {
+                               bh->b_end_io = end_buffer_read_sync;
                                submit_bh(rw, bh);
                                continue;
                        }
                                submit_bh(rw, bh);
                                continue;
                        }