aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Pau Monne <roger.pau@citrix.com>2021-01-18 16:33:30 +0100
committerKevin Wolf <kwolf@redhat.com>2021-02-15 15:10:14 +0100
commit7f22201ac85186dd476d5ff8da278ab603df72b6 (patch)
tree8cd454627085bb8322a76365264d6b793ed9268c
parent26941eb4ca485150494379cf8f0751f426208a5b (diff)
downloadqemu-7f22201ac85186dd476d5ff8da278ab603df72b6.zip
qemu-7f22201ac85186dd476d5ff8da278ab603df72b6.tar.gz
qemu-7f22201ac85186dd476d5ff8da278ab603df72b6.tar.bz2
xen-block: fix reporting of discard feature
Linux blkfront expects both "discard-granularity" and "discard-alignment" present on xenbus in order to properly enable the feature, not exposing "discard-alignment" left some Linux blkfront versions with a broken discard setup. This has also been addressed in Linux with: https://lore.kernel.org/lkml/20210118151528.81668-1-roger.pau@citrix.com/T/#u Fix QEMU to report a "discard-alignment" of 0, in order for it to work with older Linux frontends. Reported-by: Arthur Borsboom <arthurborsboom@gmail.com> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Message-Id: <20210118153330.82324-1-roger.pau@citrix.com> Reviewed-by: Paul Durrant <paul@xen.org> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r--hw/block/xen-block.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 0e7d66c..a3b69e2 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -253,6 +253,7 @@ static void xen_block_realize(XenDevice *xendev, Error **errp)
xen_device_backend_printf(xendev, "feature-discard", "%u", 1);
xen_device_backend_printf(xendev, "discard-granularity", "%u",
conf->discard_granularity);
+ xen_device_backend_printf(xendev, "discard-alignment", "%u", 0);
}
xen_device_backend_printf(xendev, "feature-flush-cache", "%u", 1);