Commit b3cbfb0d authored by Josef Bacik's avatar Josef Bacik Committed by David Sterba

btrfs: add a btrfs_csum_type_size helper

This is needed in btrfs-progs for the tools that convert the checksum
types for file systems and a few other things.  We don't have it in the
kernel as we just want to get the size for the super blocks type.
However I don't want to have to manually add this every time we sync
ctree.c into btrfs-progs, so add the helper in the kernel with a note so
it doesn't get removed by a later cleanup.
Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent a95b7f93
...@@ -150,13 +150,19 @@ static inline void copy_leaf_items(const struct extent_buffer *dst, ...@@ -150,13 +150,19 @@ static inline void copy_leaf_items(const struct extent_buffer *dst,
nr_items * sizeof(struct btrfs_item)); nr_items * sizeof(struct btrfs_item));
} }
/* This exists for btrfs-progs usages. */
u16 btrfs_csum_type_size(u16 type)
{
return btrfs_csums[type].size;
}
int btrfs_super_csum_size(const struct btrfs_super_block *s) int btrfs_super_csum_size(const struct btrfs_super_block *s)
{ {
u16 t = btrfs_super_csum_type(s); u16 t = btrfs_super_csum_type(s);
/* /*
* csum type is validated at mount time * csum type is validated at mount time
*/ */
return btrfs_csums[t].size; return btrfs_csum_type_size(t);
} }
const char *btrfs_super_csum_name(u16 csum_type) const char *btrfs_super_csum_name(u16 csum_type)
......
...@@ -701,6 +701,7 @@ static inline bool btrfs_is_data_reloc_root(const struct btrfs_root *root) ...@@ -701,6 +701,7 @@ static inline bool btrfs_is_data_reloc_root(const struct btrfs_root *root)
return root->root_key.objectid == BTRFS_DATA_RELOC_TREE_OBJECTID; return root->root_key.objectid == BTRFS_DATA_RELOC_TREE_OBJECTID;
} }
u16 btrfs_csum_type_size(u16 type);
int btrfs_super_csum_size(const struct btrfs_super_block *s); int btrfs_super_csum_size(const struct btrfs_super_block *s);
const char *btrfs_super_csum_name(u16 csum_type); const char *btrfs_super_csum_name(u16 csum_type);
const char *btrfs_super_csum_driver(u16 csum_type); const char *btrfs_super_csum_driver(u16 csum_type);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment