提交 fccb84c9 编写于 作者: D David Sterba

btrfs: move checks for DUMMY_ROOT into a helper

Signed-off-by: NDavid Sterba <dsterba@suse.cz>
上级 7ec20afb
...@@ -1506,10 +1506,9 @@ static inline int should_cow_block(struct btrfs_trans_handle *trans, ...@@ -1506,10 +1506,9 @@ static inline int should_cow_block(struct btrfs_trans_handle *trans,
struct btrfs_root *root, struct btrfs_root *root,
struct extent_buffer *buf) struct extent_buffer *buf)
{ {
#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS if (btrfs_test_is_dummy_root(root))
if (unlikely(test_bit(BTRFS_ROOT_DUMMY_ROOT, &root->state)))
return 0; return 0;
#endif
/* ensure we can see the force_cow */ /* ensure we can see the force_cow */
smp_rmb(); smp_rmb();
......
...@@ -4131,4 +4131,13 @@ int btrfs_verify_qgroup_counts(struct btrfs_fs_info *fs_info, u64 qgroupid, ...@@ -4131,4 +4131,13 @@ int btrfs_verify_qgroup_counts(struct btrfs_fs_info *fs_info, u64 qgroupid,
u64 rfer, u64 excl); u64 rfer, u64 excl);
#endif #endif
static inline int btrfs_test_is_dummy_root(struct btrfs_root *root)
{
#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
if (unlikely(test_bit(BTRFS_ROOT_DUMMY_ROOT, &root->state)))
return 1;
#endif
return 0;
}
#endif #endif
...@@ -1130,11 +1130,9 @@ struct extent_buffer *btrfs_find_tree_block(struct btrfs_root *root, ...@@ -1130,11 +1130,9 @@ struct extent_buffer *btrfs_find_tree_block(struct btrfs_root *root,
struct extent_buffer *btrfs_find_create_tree_block(struct btrfs_root *root, struct extent_buffer *btrfs_find_create_tree_block(struct btrfs_root *root,
u64 bytenr, u32 blocksize) u64 bytenr, u32 blocksize)
{ {
#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS if (btrfs_test_is_dummy_root(root))
if (unlikely(test_bit(BTRFS_ROOT_DUMMY_ROOT, &root->state)))
return alloc_test_extent_buffer(root->fs_info, bytenr, return alloc_test_extent_buffer(root->fs_info, bytenr,
blocksize); blocksize);
#endif
return alloc_extent_buffer(root->fs_info, bytenr, blocksize); return alloc_extent_buffer(root->fs_info, bytenr, blocksize);
} }
......
...@@ -3073,10 +3073,10 @@ static int __btrfs_mod_ref(struct btrfs_trans_handle *trans, ...@@ -3073,10 +3073,10 @@ static int __btrfs_mod_ref(struct btrfs_trans_handle *trans,
int (*process_func)(struct btrfs_trans_handle *, struct btrfs_root *, int (*process_func)(struct btrfs_trans_handle *, struct btrfs_root *,
u64, u64, u64, u64, u64, u64, int); u64, u64, u64, u64, u64, u64, int);
#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
if (unlikely(test_bit(BTRFS_ROOT_DUMMY_ROOT, &root->state))) if (btrfs_test_is_dummy_root(root))
return 0; return 0;
#endif
ref_root = btrfs_header_owner(buf); ref_root = btrfs_header_owner(buf);
nritems = btrfs_header_nritems(buf); nritems = btrfs_header_nritems(buf);
level = btrfs_header_level(buf); level = btrfs_header_level(buf);
...@@ -6264,10 +6264,9 @@ int btrfs_free_extent(struct btrfs_trans_handle *trans, struct btrfs_root *root, ...@@ -6264,10 +6264,9 @@ int btrfs_free_extent(struct btrfs_trans_handle *trans, struct btrfs_root *root,
int ret; int ret;
struct btrfs_fs_info *fs_info = root->fs_info; struct btrfs_fs_info *fs_info = root->fs_info;
#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS if (btrfs_test_is_dummy_root(root))
if (unlikely(test_bit(BTRFS_ROOT_DUMMY_ROOT, &root->state)))
return 0; return 0;
#endif
add_pinned_bytes(root->fs_info, num_bytes, owner, root_objectid); add_pinned_bytes(root->fs_info, num_bytes, owner, root_objectid);
/* /*
...@@ -7336,15 +7335,14 @@ struct extent_buffer *btrfs_alloc_free_block(struct btrfs_trans_handle *trans, ...@@ -7336,15 +7335,14 @@ struct extent_buffer *btrfs_alloc_free_block(struct btrfs_trans_handle *trans,
bool skinny_metadata = btrfs_fs_incompat(root->fs_info, bool skinny_metadata = btrfs_fs_incompat(root->fs_info,
SKINNY_METADATA); SKINNY_METADATA);
#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS if (btrfs_test_is_dummy_root(root)) {
if (unlikely(test_bit(BTRFS_ROOT_DUMMY_ROOT, &root->state))) {
buf = btrfs_init_new_buffer(trans, root, root->alloc_bytenr, buf = btrfs_init_new_buffer(trans, root, root->alloc_bytenr,
blocksize, level); blocksize, level);
if (!IS_ERR(buf)) if (!IS_ERR(buf))
root->alloc_bytenr += blocksize; root->alloc_bytenr += blocksize;
return buf; return buf;
} }
#endif
block_rsv = use_block_rsv(trans, root, blocksize); block_rsv = use_block_rsv(trans, root, blocksize);
if (IS_ERR(block_rsv)) if (IS_ERR(block_rsv))
return ERR_CAST(block_rsv); return ERR_CAST(block_rsv);
......
...@@ -539,10 +539,9 @@ static int add_qgroup_item(struct btrfs_trans_handle *trans, ...@@ -539,10 +539,9 @@ static int add_qgroup_item(struct btrfs_trans_handle *trans,
struct extent_buffer *leaf; struct extent_buffer *leaf;
struct btrfs_key key; struct btrfs_key key;
#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS if (btrfs_test_is_dummy_root(quota_root))
if (unlikely(test_bit(BTRFS_ROOT_DUMMY_ROOT, &quota_root->state)))
return 0; return 0;
#endif
path = btrfs_alloc_path(); path = btrfs_alloc_path();
if (!path) if (!path)
return -ENOMEM; return -ENOMEM;
...@@ -698,10 +697,9 @@ static int update_qgroup_info_item(struct btrfs_trans_handle *trans, ...@@ -698,10 +697,9 @@ static int update_qgroup_info_item(struct btrfs_trans_handle *trans,
int ret; int ret;
int slot; int slot;
#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS if (btrfs_test_is_dummy_root(root))
if (unlikely(test_bit(BTRFS_ROOT_DUMMY_ROOT, &root->state)))
return 0; return 0;
#endif
key.objectid = 0; key.objectid = 0;
key.type = BTRFS_QGROUP_INFO_KEY; key.type = BTRFS_QGROUP_INFO_KEY;
key.offset = qgroup->qgroupid; key.offset = qgroup->qgroupid;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册