OSDN Git Service

btrfs: calculate physical_end using dev_extent_len directly in scrub_stripe()
authorQu Wenruo <wqu@suse.com>
Fri, 11 Mar 2022 07:38:41 +0000 (15:38 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 16 May 2022 15:17:30 +0000 (17:17 +0200)
commit1194a82481d8f37892e0362b7e77d3627f51d017
treec87592ced04a3f294c826737671903fff1313214
parent48b36a602a335c184505346b5b37077840660634
btrfs: calculate physical_end using dev_extent_len directly in scrub_stripe()

The variable @physical_end is the exclusive stripe end, currently it's
calculated using @physical + @dev_extent_len / map->stripe_len *
 map->stripe_len.

And since at allocation time we ensured dev_extent_len is stripe_len
aligned, the result is the same as @physical + @dev_extent_len.

So this patch will just assign @physical and @physical_end early,
without using @nstripes.

This is especially helpful for any possible out: label user, as now we
only need to initialize @offset before going to out: label.

Since we're here, also make @physical_end constant.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/scrub.c