This is a note to let you know that I've just added the patch titled btrfs: relocation: return bool from btrfs_should_ignore_reloc_root to the 6.6-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: btrfs-relocation-return-bool-from-btrfs_should_ignor.patch and it can be found in the queue-6.6 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. commit 672bbdb39106b9f2e610300cdd2bb15f287c2630 Author: David Sterba <dsterba@xxxxxxxx> Date: Fri Sep 22 13:07:25 2023 +0200 btrfs: relocation: return bool from btrfs_should_ignore_reloc_root [ Upstream commit 32f2abca380fedc60f7a8d3288e4c9586672e207 ] btrfs_should_ignore_reloc_root() is a predicate so it should return bool. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@xxxxxxx> Reviewed-by: Qu Wenruo <wqu@xxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> Stable-dep-of: db7e68b522c0 ("btrfs: drop the backref cache during relocation if we commit") Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 05b2a59ce8897..1f4fd6c86fb00 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -329,31 +329,30 @@ static bool have_reloc_root(struct btrfs_root *root) return true; } -int btrfs_should_ignore_reloc_root(struct btrfs_root *root) +bool btrfs_should_ignore_reloc_root(struct btrfs_root *root) { struct btrfs_root *reloc_root; if (!test_bit(BTRFS_ROOT_SHAREABLE, &root->state)) - return 0; + return false; /* This root has been merged with its reloc tree, we can ignore it */ if (reloc_root_is_dead(root)) - return 1; + return true; reloc_root = root->reloc_root; if (!reloc_root) - return 0; + return false; if (btrfs_header_generation(reloc_root->commit_root) == root->fs_info->running_transaction->transid) - return 0; + return false; /* - * if there is reloc tree and it was created in previous - * transaction backref lookup can find the reloc tree, - * so backref node for the fs tree root is useless for - * relocation. + * If there is reloc tree and it was created in previous transaction + * backref lookup can find the reloc tree, so backref node for the fs + * tree root is useless for relocation. */ - return 1; + return true; } /* diff --git a/fs/btrfs/relocation.h b/fs/btrfs/relocation.h index 77d69f6ae967c..af749c780b4e7 100644 --- a/fs/btrfs/relocation.h +++ b/fs/btrfs/relocation.h @@ -18,7 +18,7 @@ int btrfs_reloc_post_snapshot(struct btrfs_trans_handle *trans, struct btrfs_pending_snapshot *pending); int btrfs_should_cancel_balance(struct btrfs_fs_info *fs_info); struct btrfs_root *find_reloc_root(struct btrfs_fs_info *fs_info, u64 bytenr); -int btrfs_should_ignore_reloc_root(struct btrfs_root *root); +bool btrfs_should_ignore_reloc_root(struct btrfs_root *root); u64 btrfs_get_reloc_bg_bytenr(struct btrfs_fs_info *fs_info); #endif