mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
btrfs: be a bit more careful when setting mirror_num_ret in btrfs_map_block
[ Upstream commit4e7de35eb7] The mirror_num_ret is allowed to be NULL, although it has to be set when smap is set. Unfortunately that is not a well enough specifiable invariant for static type checkers, so add a NULL check to make sure they are fine. Fixes:03793cbbc8("btrfs: add fast path for single device io in __btrfs_map_block") Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by: Qu Wenruo <wqu@suse.com> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
08bdd70974
commit
9c85f71d3f
@@ -6595,11 +6595,13 @@ static int __btrfs_map_block(struct btrfs_fs_info *fs_info,
|
||||
if (patch_the_first_stripe_for_dev_replace) {
|
||||
smap->dev = dev_replace->tgtdev;
|
||||
smap->physical = physical_to_patch_in_first_stripe;
|
||||
*mirror_num_ret = map->num_stripes + 1;
|
||||
if (mirror_num_ret)
|
||||
*mirror_num_ret = map->num_stripes + 1;
|
||||
} else {
|
||||
set_io_stripe(smap, map, stripe_index, stripe_offset,
|
||||
stripe_nr);
|
||||
*mirror_num_ret = mirror_num;
|
||||
if (mirror_num_ret)
|
||||
*mirror_num_ret = mirror_num;
|
||||
}
|
||||
*bioc_ret = NULL;
|
||||
ret = 0;
|
||||
|
||||
Reference in New Issue
Block a user