]> www.infradead.org Git - users/hch/block.git/commitdiff
xen-blkback: use bdev_discard_alignment block-discard-offset-fixes
authorChristoph Hellwig <hch@lst.de>
Sat, 9 Apr 2022 04:57:48 +0000 (06:57 +0200)
committerChristoph Hellwig <hch@lst.de>
Fri, 15 Apr 2022 06:50:04 +0000 (08:50 +0200)
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>
drivers/block/xen-blkback/xenbus.c

index b21bffc9c50bc0c1fcc72bcfedea7ad31ea0a526..04c90cb8955f681da2cd72bdbdb2ef5aca08509b 100644 (file)
@@ -583,14 +583,14 @@ static void xen_blkbk_discard(struct xenbus_transaction xbt, struct backend_info
        if (bdev_max_discard_sectors(bdev)) {
                err = xenbus_printf(xbt, dev->nodename,
                        "discard-granularity", "%u",
-                       q->limits.discard_granularity);
+                       bdev_discard_granularity(bdev));
                if (err) {
                        dev_warn(&dev->dev, "writing discard-granularity (%d)", err);
                        return;
                }
                err = xenbus_printf(xbt, dev->nodename,
                        "discard-alignment", "%u",
-                       q->limits.discard_alignment);
+                       bdev_discard_alignment(bdev));
                if (err) {
                        dev_warn(&dev->dev, "writing discard-alignment (%d)", err);
                        return;