OSDN Git Service

btrfs: make sure btrfs_io_context::fs_info is always initialized
authorQu Wenruo <wqu@suse.com>
Thu, 23 Sep 2021 06:00:08 +0000 (14:00 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 26 Oct 2021 17:08:02 +0000 (19:08 +0200)
commit731ccf15c952d53a5f8e8bf98cf110f4048e5ded
tree92ce2bf9439e04afe681a9b756fdcbe2a1d9828d
parent49d0c6424cf13a30768eace116769fe98f8fb69f
btrfs: make sure btrfs_io_context::fs_info is always initialized

Currently btrfs_io_context::fs_info is only initialized in
btrfs_map_bio, but there are call sites like btrfs_map_sblock() which
calls __btrfs_map_block() directly, leaving bioc::fs_info uninitialized
(NULL).

Currently this is fine, but later cleanup will rely on bioc::fs_info to
grab fs_info, and this can be a hidden problem for such usage.

This patch will remove such hidden uninitialized member by always
assigning bioc::fs_info at alloc_btrfs_io_context().

Reviewed-by: Nikolay Borisov <nborisov@suse.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/volumes.c