]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: make btrfs_super_block size match BTRFS_SUPER_INFO_SIZE
authorQu Wenruo <wqu@suse.com>
Wed, 20 Oct 2021 23:44:47 +0000 (07:44 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 26 Oct 2021 17:08:07 +0000 (19:08 +0200)
commit77ee44fa2cecc221e878be6d6789e58a92d07ea1
tree008c09620fe2448e194fb4a7e5c65467d6ce7460
parent6fdf31d769f9c1d8f2f92ae9936b671144e2cdaf
btrfs: make btrfs_super_block size match BTRFS_SUPER_INFO_SIZE

It's a common practice to avoid use sizeof(struct btrfs_super_block)
(3531), but to use BTRFS_SUPER_INFO_SIZE (4096).

The problem is that, sizeof(struct btrfs_super_block) doesn't match
BTRFS_SUPER_INFO_SIZE from the very beginning.

Furthermore, for all call sites except selftests, we always allocate
BTRFS_SUPER_INFO_SIZE space for super block, there isn't any real reason
to use the smaller value, and it doesn't really save any space.

So let's get rid of such confusing behavior, and unify those two values.

This modification also adds a new static_assert() to verify the size,
and moves the BTRFS_SUPER_INFO_* macros to the definition of
btrfs_super_block for the static_assert().

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.h
fs/btrfs/disk-io.h