diff options
author | Josef Bacik <josef@toxicpanda.com> | 2021-11-05 21:45:48 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-01-03 15:09:49 +0100 |
commit | fc28b25e1f428651133326300d9572b42aae6d8f (patch) | |
tree | 6fa19060d267497123fdcdadafbd9ba62a6c6dc1 /fs/btrfs/scrub.c | |
parent | btrfs: set BTRFS_FS_STATE_NO_CSUMS if we fail to load the csum root (diff) | |
download | linux-fc28b25e1f428651133326300d9572b42aae6d8f.tar.xz linux-fc28b25e1f428651133326300d9572b42aae6d8f.zip |
btrfs: stop accessing ->csum_root directly
We are going to have multiple csum roots in the future, so convert all
users of ->csum_root to btrfs_csum_root() and rename ->csum_root to
->_csum_root so we can easily find remaining users in the future.
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/scrub.c')
-rw-r--r-- | fs/btrfs/scrub.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index a0017351e558..15a123e67108 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c @@ -2898,7 +2898,7 @@ static noinline_for_stack int scrub_raid56_parity(struct scrub_ctx *sctx, { struct btrfs_fs_info *fs_info = sctx->fs_info; struct btrfs_root *root = btrfs_extent_root(fs_info, logic_start); - struct btrfs_root *csum_root = fs_info->csum_root; + struct btrfs_root *csum_root; struct btrfs_extent_item *extent; struct btrfs_io_context *bioc = NULL; u64 flags; @@ -3060,6 +3060,7 @@ again: extent_dev = bioc->stripes[0].dev; btrfs_put_bioc(bioc); + csum_root = btrfs_csum_root(fs_info, extent_logical); ret = btrfs_lookup_csums_range(csum_root, extent_logical, extent_logical + extent_len - 1, @@ -3169,7 +3170,7 @@ static noinline_for_stack int scrub_stripe(struct scrub_ctx *sctx, struct btrfs_path *path, *ppath; struct btrfs_fs_info *fs_info = sctx->fs_info; struct btrfs_root *root; - struct btrfs_root *csum_root = fs_info->csum_root; + struct btrfs_root *csum_root; struct btrfs_extent_item *extent; struct blk_plug plug; u64 flags; @@ -3273,6 +3274,8 @@ static noinline_for_stack int scrub_stripe(struct scrub_ctx *sctx, key_end.offset = (u64)-1; reada1 = btrfs_reada_add(root, &key, &key_end); + csum_root = btrfs_csum_root(fs_info, logical); + if (cache->flags & BTRFS_BLOCK_GROUP_DATA) { key.objectid = BTRFS_EXTENT_CSUM_OBJECTID; key.type = BTRFS_EXTENT_CSUM_KEY; |