Btrfs: fix call to btrfs_search_slot in free space cache
authorJosef Bacik <josef@redhat.com>
Fri, 19 Aug 2011 16:06:12 +0000 (12:06 -0400)
committerJosef Bacik <josef@redhat.com>
Wed, 19 Oct 2011 19:12:38 +0000 (15:12 -0400)
We are setting ins_len to 1 even tho we are just modifying an item that should
be there already.  This may cause the search stuff to split nodes on the way
down needelessly.  Set this to 0 since we aren't inserting anything.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
fs/btrfs/free-space-cache.c

index b0122e19db6b407a7ac958f678c661d9c05c31c3..701ef5951e3f3523ff6e2f70700ab02e81a75d72 100644 (file)
@@ -802,7 +802,7 @@ int __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode,
        key.offset = offset;
        key.type = 0;
 
-       ret = btrfs_search_slot(trans, root, &key, path, 1, 1);
+       ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
        if (ret < 0) {
                ret = -1;
                clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, bytes - 1,