[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Regression in xen-blkfront regarding sector sizes
On Mon, Jun 24, 2024 at 04:29:15PM +0200, Jürgen Groß wrote: >> Rusty suspects it's related to >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/block/xen-blkfront.c?id=ba3f67c1163812b5d7ec33705c31edaa30ce6c51, >> so I'm cc-ing people mentioned there too. > > I think the call of blkif_set_queue_limits() in this patch should NOT precede > setting of info->sector_size and info->physical_sector_size, as those are > needed by blkif_set_queue_limits(). Yes. Something like the patch below should fix it. We could also stop passing sector_size and physіcal_sector_size to xlvbd_alloc_gendisk to clean things up a bit more. diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index fd7c0ff2139cee..9f3d68044f8882 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -1133,6 +1133,8 @@ static int xlvbd_alloc_gendisk(blkif_sector_t capacity, if (err) goto out_release_minors; + info->sector_size = sector_size; + info->physical_sector_size = physical_sector_size; blkif_set_queue_limits(info, &lim); gd = blk_mq_alloc_disk(&info->tag_set, &lim, info); if (IS_ERR(gd)) { @@ -1159,8 +1161,6 @@ static int xlvbd_alloc_gendisk(blkif_sector_t capacity, info->rq = gd->queue; info->gd = gd; - info->sector_size = sector_size; - info->physical_sector_size = physical_sector_size; xlvbd_flush(info);
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |