]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ext3 sequential read regression fix
authorBadari Pulavarty <pbadari@us.ibm.com>
Fri, 15 Sep 2006 16:07:18 +0000 (09:07 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 13 Oct 2006 18:50:10 +0000 (11:50 -0700)
ext3-get-blocks support caused ~20% degrade in Sequential read
performance (tiobench). Problem is with marking the buffer boundary
so IO can be submitted right away. Here is the patch to fix it.

2.6.18-rc6:

fs/ext3/inode.c

index 21b8bf4ee8613e0a58b1cd87b3fff6e549a9dda7..f9be16e3393eefdf500468157e34ffbb9a0ac42a 100644 (file)
@@ -926,7 +926,7 @@ int ext3_get_blocks_handle(handle_t *handle, struct inode *inode,
        set_buffer_new(bh_result);
 got_it:
        map_bh(bh_result, inode->i_sb, le32_to_cpu(chain[depth-1].key));
-       if (blocks_to_boundary == 0)
+       if (count > blocks_to_boundary)
                set_buffer_boundary(bh_result);
        err = count;
        /* Clean up and exit */