btrfs: remove the zoned/zone_size union in struct btrfs_fs_info
authorChristoph Hellwig <hch@lst.de>
Thu, 24 Mar 2022 16:52:09 +0000 (17:52 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 16 May 2022 15:03:12 +0000 (17:03 +0200)
commit8e010b3d7043e61fc0bbfe27a57dad674eef7340
tree76cb5e9e047452307ad37fa38f548955db555483
parent8aa1e49ea1fdcc585be4bcfe8c62684a087cc7c6
btrfs: remove the zoned/zone_size union in struct btrfs_fs_info

Reading a value from a different member of a union is not just a great
way to obfuscate code, but also creates an aliasing violation.  Switch
btrfs_is_zoned to look at ->zone_size and remove the union.

Note: union was to simplify the detection of zoned filesystem but now
this is wrapped behind btrfs_is_zoned so we can drop the union.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: David Sterba <dsterba@suse.com>
[ add note ]
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.h