Commit d4099f88 authored by Yu Kuai's avatar Yu Kuai Committed by Jens Axboe
Browse files

brd: fix aligned_sector from brd_do_discard()



The calculation is just wrong, fix it by round_up().

Fixes: 9ead7efc ("brd: implement discard support")
Signed-off-by: default avatarYu Kuai <yukuai3@huawei.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250506061756.2970934-3-yukuai1@huaweicloud.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 0e8acffc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -166,7 +166,7 @@ static void brd_free_one_page(struct rcu_head *head)

static void brd_do_discard(struct brd_device *brd, sector_t sector, u32 size)
{
	sector_t aligned_sector = (sector + PAGE_SECTORS) & ~PAGE_SECTORS;
	sector_t aligned_sector = round_up(sector, PAGE_SECTORS);
	struct page *page;

	size -= (aligned_sector - sector) * SECTOR_SIZE;