Message ID | 20191025085956.48352-2-wqu@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: trim: Fix a bug certain range may not be trimmed properly | expand |
On Fri, Oct 25, 2019 at 04:59:55PM +0800, Qu Wenruo wrote: > The old code goes: > > offset = logical - em->start; > length = min_t(u64, em->len - offset, length); > > Where @length calculate is dependent on offset, it can take reader > several more seconds to find it's just the same code as: > > offset = logical - em->start; > length = min_t(u64, em->start + em->len - logical, length); > > Use above code to make the length calculate independent from other > variable, thus slightly increase the readability. > > Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: Josef Bacik <josef@toxicpanda.com> Thanks, Josef
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index cdd7af424033..a6db11e821a5 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -5616,7 +5616,7 @@ static int __btrfs_map_block_for_discard(struct btrfs_fs_info *fs_info, } offset = logical - em->start; - length = min_t(u64, em->len - offset, length); + length = min_t(u64, em->start + em->len - logical, length); stripe_len = map->stripe_len; /*
The old code goes: offset = logical - em->start; length = min_t(u64, em->len - offset, length); Where @length calculate is dependent on offset, it can take reader several more seconds to find it's just the same code as: offset = logical - em->start; length = min_t(u64, em->start + em->len - logical, length); Use above code to make the length calculate independent from other variable, thus slightly increase the readability. Signed-off-by: Qu Wenruo <wqu@suse.com> --- fs/btrfs/volumes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)