diff options
author | Josef Bacik <josef@toxicpanda.com> | 2024-04-13 00:11:22 -0400 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2024-05-07 21:31:05 +0200 |
commit | 99f2be15229ae269afa9af0eeaca2deefa87fdb3 (patch) | |
tree | 408e19a54ae367d91c52a84dcfffa347c31bca98 | |
parent | 7f6af7c434d9db0f937774e9f0e31bf5fc73a86e (diff) | |
download | linux-stable-99f2be15229ae269afa9af0eeaca2deefa87fdb3.tar.gz linux-stable-99f2be15229ae269afa9af0eeaca2deefa87fdb3.tar.bz2 linux-stable-99f2be15229ae269afa9af0eeaca2deefa87fdb3.zip |
btrfs: replace btrfs_delayed_*_ref with btrfs_*_ref
Now that these two structs are the same, move the btrfs_data_ref and
btrfs_tree_ref up and use these in the btrfs_delayed_ref_node. Then
remove the btrfs_delayed_*_ref structs.
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | fs/btrfs/delayed-ref.c | 10 | ||||
-rw-r--r-- | fs/btrfs/delayed-ref.h | 55 |
2 files changed, 27 insertions, 38 deletions
diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c index 8d553347e11b..6cc80fb10da2 100644 --- a/fs/btrfs/delayed-ref.c +++ b/fs/btrfs/delayed-ref.c @@ -982,12 +982,10 @@ static void init_delayed_ref_common(struct btrfs_fs_info *fs_info, RB_CLEAR_NODE(&ref->ref_node); INIT_LIST_HEAD(&ref->add_list); - if (generic_ref->type == BTRFS_REF_DATA) { - ref->data_ref.objectid = generic_ref->data_ref.objectid; - ref->data_ref.offset = generic_ref->data_ref.offset; - } else { - ref->tree_ref.level = generic_ref->tree_ref.level; - } + if (generic_ref->type == BTRFS_REF_DATA) + ref->data_ref = generic_ref->data_ref; + else + ref->tree_ref = generic_ref->tree_ref; } void btrfs_init_tree_ref(struct btrfs_ref *generic_ref, int level, u64 mod_root, diff --git a/fs/btrfs/delayed-ref.h b/fs/btrfs/delayed-ref.h index 09f2c4cfea7f..04b180ebe1fe 100644 --- a/fs/btrfs/delayed-ref.h +++ b/fs/btrfs/delayed-ref.h @@ -30,15 +30,32 @@ enum btrfs_delayed_ref_action { BTRFS_UPDATE_DELAYED_HEAD, } __packed; -struct btrfs_delayed_tree_ref { - int level; -}; +struct btrfs_data_ref { + /* For EXTENT_DATA_REF */ -struct btrfs_delayed_data_ref { + /* Inode which refers to this data extent */ u64 objectid; + + /* + * file_offset - extent_offset + * + * file_offset is the key.offset of the EXTENT_DATA key. + * extent_offset is btrfs_file_extent_offset() of the EXTENT_DATA data. + */ u64 offset; }; +struct btrfs_tree_ref { + /* + * Level of this tree block. + * + * Shared for skinny (TREE_BLOCK_REF) and normal tree ref. + */ + int level; + + /* For non-skinny metadata, no special member needed */ +}; + struct btrfs_delayed_ref_node { struct rb_node ref_node; /* @@ -84,8 +101,8 @@ struct btrfs_delayed_ref_node { unsigned int type:8; union { - struct btrfs_delayed_tree_ref tree_ref; - struct btrfs_delayed_data_ref data_ref; + struct btrfs_tree_ref tree_ref; + struct btrfs_data_ref data_ref; }; }; @@ -222,32 +239,6 @@ enum btrfs_ref_type { BTRFS_REF_LAST, } __packed; -struct btrfs_data_ref { - /* For EXTENT_DATA_REF */ - - /* Inode which refers to this data extent */ - u64 objectid; - - /* - * file_offset - extent_offset - * - * file_offset is the key.offset of the EXTENT_DATA key. - * extent_offset is btrfs_file_extent_offset() of the EXTENT_DATA data. - */ - u64 offset; -}; - -struct btrfs_tree_ref { - /* - * Level of this tree block - * - * Shared for skinny (TREE_BLOCK_REF) and normal tree ref. - */ - int level; - - /* For non-skinny metadata, no special member needed */ -}; - struct btrfs_ref { enum btrfs_ref_type type; enum btrfs_delayed_ref_action action; |