Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

xen-blkback: use bdev_discard_alignment

Use bdev_discard_alignment to calculate the correct discard alignment
offset even for partitions instead of just looking at the queue limit.

Also switch to use bdev_discard_granularity to get rid of the last direct
queue reference in xen_blkbk_discard.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20220418045314.360785-12-hch@lst.de
[axboe: fold in 'q' removal as it's now unused]
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Christoph Hellwig and committed by
Jens Axboe
0000f2f7 18292faa

+2 -3
+2 -3
drivers/block/xen-blkback/xenbus.c
··· 575 575 int err; 576 576 int state = 0; 577 577 struct block_device *bdev = be->blkif->vbd.bdev; 578 - struct request_queue *q = bdev_get_queue(bdev); 579 578 580 579 if (!xenbus_read_unsigned(dev->nodename, "discard-enable", 1)) 581 580 return; ··· 582 583 if (bdev_max_discard_sectors(bdev)) { 583 584 err = xenbus_printf(xbt, dev->nodename, 584 585 "discard-granularity", "%u", 585 - q->limits.discard_granularity); 586 + bdev_discard_granularity(bdev)); 586 587 if (err) { 587 588 dev_warn(&dev->dev, "writing discard-granularity (%d)", err); 588 589 return; 589 590 } 590 591 err = xenbus_printf(xbt, dev->nodename, 591 592 "discard-alignment", "%u", 592 - q->limits.discard_alignment); 593 + bdev_discard_alignment(bdev)); 593 594 if (err) { 594 595 dev_warn(&dev->dev, "writing discard-alignment (%d)", err); 595 596 return;