From: Jeff Mahoney <je...@suse.com>

The root is never used.  We substitute extent_root in for the reada_find_extent
call, since it's only ever used to obtain the node size.  This call site
will be changed to use fs_info in a later patch.

Signed-off-by: Jeff Mahoney <je...@suse.com>
---
 fs/btrfs/ctree.h |  2 +-
 fs/btrfs/reada.c | 13 +++++++------
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 7063c55..784f003 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -3581,7 +3581,7 @@ static inline void btrfs_bio_counter_dec(struct 
btrfs_fs_info *fs_info)
 
 /* reada.c */
 struct reada_control {
-       struct btrfs_root       *root;          /* tree to prefetch */
+       struct btrfs_fs_info    *fs_info;               /* tree to prefetch */
        struct btrfs_key        key_start;
        struct btrfs_key        key_end;        /* exclusive */
        atomic_t                elems;
diff --git a/fs/btrfs/reada.c b/fs/btrfs/reada.c
index 8428db7..4965d59 100644
--- a/fs/btrfs/reada.c
+++ b/fs/btrfs/reada.c
@@ -554,17 +554,18 @@ static void reada_control_release(struct kref *kref)
 static int reada_add_block(struct reada_control *rc, u64 logical,
                           struct btrfs_key *top, u64 generation)
 {
-       struct btrfs_root *root = rc->root;
+       struct btrfs_fs_info *fs_info = rc->fs_info;
        struct reada_extent *re;
        struct reada_extctl *rec;
 
-       re = reada_find_extent(root, logical, top); /* takes one ref */
+       /* takes one ref */
+       re = reada_find_extent(fs_info->tree_root, logical, top);
        if (!re)
                return -1;
 
        rec = kzalloc(sizeof(*rec), GFP_KERNEL);
        if (!rec) {
-               reada_extent_put(root->fs_info, re);
+               reada_extent_put(fs_info, re);
                return -ENOMEM;
        }
 
@@ -926,7 +927,7 @@ struct reada_control *btrfs_reada_add(struct btrfs_root 
*root,
        if (!rc)
                return ERR_PTR(-ENOMEM);
 
-       rc->root = root;
+       rc->fs_info = root->fs_info;
        rc->key_start = *key_start;
        rc->key_end = *key_end;
        atomic_set(&rc->elems, 0);
@@ -954,7 +955,7 @@ struct reada_control *btrfs_reada_add(struct btrfs_root 
*root,
 int btrfs_reada_wait(void *handle)
 {
        struct reada_control *rc = handle;
-       struct btrfs_fs_info *fs_info = rc->root->fs_info;
+       struct btrfs_fs_info *fs_info = rc->fs_info;
 
        while (atomic_read(&rc->elems)) {
                if (!atomic_read(&fs_info->reada_works_cnt))
@@ -975,7 +976,7 @@ int btrfs_reada_wait(void *handle)
 int btrfs_reada_wait(void *handle)
 {
        struct reada_control *rc = handle;
-       struct btrfs_fs_info *fs_info = rc->root->fs_info;
+       struct btrfs_fs_info *fs_info = rc->fs_info;
 
        while (atomic_read(&rc->elems)) {
                if (!atomic_read(&fs_info->reada_works_cnt))
-- 
2.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to