f2fs: fix the fault of calculating blkstart twice
When the zone type is BLK_ZONE_TYPE_CONVENTIONAL, the blkstart is calculated twice. Signed-off-by: Kinglong Mee <kinglongmee@gmail.com> Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
committed by
Jaegeuk Kim
parent
e2f0e962ac
commit
10a875f82b
@ -796,6 +796,7 @@ static int __f2fs_issue_discard_zone(struct f2fs_sb_info *sbi,
|
|||||||
struct block_device *bdev, block_t blkstart, block_t blklen)
|
struct block_device *bdev, block_t blkstart, block_t blklen)
|
||||||
{
|
{
|
||||||
sector_t sector, nr_sects;
|
sector_t sector, nr_sects;
|
||||||
|
block_t lblkstart = blkstart;
|
||||||
int devi = 0;
|
int devi = 0;
|
||||||
|
|
||||||
if (sbi->s_ndevs) {
|
if (sbi->s_ndevs) {
|
||||||
@ -813,7 +814,7 @@ static int __f2fs_issue_discard_zone(struct f2fs_sb_info *sbi,
|
|||||||
case BLK_ZONE_TYPE_CONVENTIONAL:
|
case BLK_ZONE_TYPE_CONVENTIONAL:
|
||||||
if (!blk_queue_discard(bdev_get_queue(bdev)))
|
if (!blk_queue_discard(bdev_get_queue(bdev)))
|
||||||
return 0;
|
return 0;
|
||||||
return __f2fs_issue_discard_async(sbi, bdev, blkstart, blklen);
|
return __f2fs_issue_discard_async(sbi, bdev, lblkstart, blklen);
|
||||||
case BLK_ZONE_TYPE_SEQWRITE_REQ:
|
case BLK_ZONE_TYPE_SEQWRITE_REQ:
|
||||||
case BLK_ZONE_TYPE_SEQWRITE_PREF:
|
case BLK_ZONE_TYPE_SEQWRITE_PREF:
|
||||||
sector = SECTOR_FROM_BLOCK(blkstart);
|
sector = SECTOR_FROM_BLOCK(blkstart);
|
||||||
|
Reference in New Issue
Block a user