All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <wqu@suse.com>
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 16/19] btrfs: relocation: Open-code read_fs_root() for handle_one_tree_backref()
Date: Tue,  3 Mar 2020 15:14:06 +0800	[thread overview]
Message-ID: <20200303071409.57982-17-wqu@suse.com> (raw)
In-Reply-To: <20200303071409.57982-1-wqu@suse.com>

The backref code is going to be moved to backref.c, and read_fs_root()
is just a simple wrapper, open-code it to prepare to the incoming code
move.

Signed-off-by: Qu Wenruo <wqu@suse.com>
---
 fs/btrfs/relocation.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
index 2230ea8a3698..441d2b28d8e7 100644
--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@ -397,6 +397,7 @@ static int handle_one_tree_backref(struct backref_cache *cache,
 	struct backref_node *lower;
 	struct backref_edge *edge;
 	struct extent_buffer *eb;
+	struct btrfs_key root_key;
 	struct btrfs_root *root;
 	struct rb_node *rb_node;
 	bool need_check = true;
@@ -456,7 +457,10 @@ static int handle_one_tree_backref(struct backref_cache *cache,
 	 * ref_key.type == BTRFS_TREE_BLOCK_REF_KEY, ref_key->offset means the
 	 * root objectid. We need to search the tree to get its parent bytenr.
 	 */
-	root = read_fs_root(fs_info, ref_key->offset);
+	root_key.objectid = ref_key->offset;
+	root_key.type = BTRFS_ROOT_ITEM_KEY;
+	root_key.offset = (u64)-1;
+	root = btrfs_get_fs_root(fs_info, &root_key, false);
 	if (IS_ERR(root))
 		return PTR_ERR(root);
 	if (!test_bit(BTRFS_ROOT_REF_COWS, &root->state))
-- 
2.25.1


  parent reply	other threads:[~2020-03-03  7:15 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-03  7:13 [PATCH 00/19] btrfs: Move generic backref cache build functions to backref.c Qu Wenruo
2020-03-03  7:13 ` [PATCH 01/19] btrfs: Move backref node/edge/cache structure to backref.h Qu Wenruo
2020-03-03  7:13 ` [PATCH 02/19] btrfs: Rename tree_entry to simple_node and export it Qu Wenruo
2020-03-03  7:13 ` [PATCH 03/19] btrfs: relocation: Make reloc root search specific for relocation backref cache Qu Wenruo
2020-03-03  7:13 ` [PATCH 04/19] btrfs: relocation: Add backref_cache::pending_edge and backref_cache::useless_node members Qu Wenruo
2020-03-03  7:13 ` [PATCH 05/19] btrfs: relocation: Add backref_cache::fs_info member Qu Wenruo
2020-03-03  7:13 ` [PATCH 06/19] btrfs: Move backref_cache_init() to backref.c Qu Wenruo
2020-03-03  7:13 ` [PATCH 07/19] btrfs: Move alloc_backref_node() " Qu Wenruo
2020-03-03  7:13 ` [PATCH 08/19] btrfs: Move alloc_backref_edge() " Qu Wenruo
2020-03-03  7:13 ` [PATCH 09/19] btrfs: Move link_backref_edge() " Qu Wenruo
2020-03-03  7:14 ` [PATCH 10/19] btrfs: Move free_backref_node() and free_backref_edge() to backref.h Qu Wenruo
2020-03-03  7:14 ` [PATCH 11/19] btrfs: Move drop_backref_node() and needed facilities " Qu Wenruo
2020-03-03  7:14 ` [PATCH 12/19] btrfs: Rename remove_backref_node() to cleanup_backref_node() and move it to backref.c Qu Wenruo
2020-03-03  7:14 ` [PATCH 13/19] btrfs: Move backref_cache_cleanup() " Qu Wenruo
2020-03-03  7:14 ` [PATCH 14/19] btrfs: Rename backref_tree_panic() to backref_cache_panic(), and move it " Qu Wenruo
2020-03-03  7:14 ` [PATCH 15/19] btrfs: Rename should_ignore_root() to should_ignore_reloc_root() and export it Qu Wenruo
2020-03-03  7:14 ` Qu Wenruo [this message]
2020-03-03  7:14 ` [PATCH 17/19] btrfs: Rename handle_one_tree_block() to backref_cache_add_one_tree_block() and move it to backref.c Qu Wenruo
2020-03-03  7:14 ` [PATCH 18/19] btrfs: relocation: Move the target backref node insert code into finish_upper_links() Qu Wenruo
2020-03-03  7:14 ` [PATCH 19/19] btrfs: Rename finish_upper_links() to backref_cache_finish_upper_links() and move it to backref.c Qu Wenruo
2020-03-03 16:30 ` [PATCH 00/19] btrfs: Move generic backref cache build functions " David Sterba
2020-03-05  5:28   ` Qu Wenruo
2020-03-03 21:22 ` Josef Bacik
2020-03-04  4:54   ` Qu Wenruo
2020-03-04 13:40     ` David Sterba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200303071409.57982-17-wqu@suse.com \
    --to=wqu@suse.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.