btrfs: use reada direction enum instead of constant value in load_free_space_tree
authorGu JinXiang <gujx@cn.fujitsu.com>
Thu, 11 Jan 2018 08:12:18 +0000 (16:12 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 26 Mar 2018 13:09:37 +0000 (15:09 +0200)
load_free_space_tree calls either function load_free_space_bitmaps or
load_free_space_extents. And either of those two will lead to call
btrfs_next_item.  So in function load_free_space_tree, use READA_FORWARD
to read forward ahead.

This also changes the value from READA_BACK to READA_FORWARD, since
according to the logic, it should reada_for_search forward, not
backward.

Signed-off-by: Gu JinXiang <gujx@cn.fujitsu.com>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
[ update changelog ]
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/free-space-tree.c

index d7b6c00171437432f58e0b0a3ef31f3d8841f5b2..af36a6a971fe56e9151b9bb10dd1a83ab08eacaf 100644 (file)
@@ -1573,7 +1573,7 @@ int load_free_space_tree(struct btrfs_caching_control *caching_ctl)
         */
        path->skip_locking = 1;
        path->search_commit_root = 1;
-       path->reada = 1;
+       path->reada = READA_FORWARD;
 
        info = search_free_space_info(NULL, fs_info, block_group, path, 0);
        if (IS_ERR(info)) {