btrfs: store precalculated csum_size in fs_info
In many places we need the checksum size and it is inefficient to read it from the raw superblock. Store the value into fs_info, actual use will be in followup patches. The size is u32 as it allows to generate better assembly than with u16. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
265fdfa6ce
commit
22b6331d96
@ -937,6 +937,7 @@ struct btrfs_fs_info {
|
||||
u32 sectorsize;
|
||||
/* ilog2 of sectorsize, use to avoid 64bit division */
|
||||
u32 sectorsize_bits;
|
||||
u32 csum_size;
|
||||
u32 stripesize;
|
||||
|
||||
/* Block groups and devices containing active swapfiles. */
|
||||
|
@ -3080,6 +3080,7 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device
|
||||
fs_info->nodesize = nodesize;
|
||||
fs_info->sectorsize = sectorsize;
|
||||
fs_info->sectorsize_bits = ilog2(sectorsize);
|
||||
fs_info->csum_size = btrfs_super_csum_size(disk_super);
|
||||
fs_info->stripesize = stripesize;
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user