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....@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 <arthurborsb...@gmail.com> Signed-off-by: Roger Pau Monné <roger....@citrix.com> --- Cc: Stefano Stabellini <sstabell...@kernel.org> Cc: Anthony Perard <anthony.per...@citrix.com> Cc: Paul Durrant <p...@xen.org> Cc: Kevin Wolf <kw...@redhat.com> Cc: Max Reitz <mre...@redhat.com> Cc: xen-de...@lists.xenproject.org Cc: qemu-bl...@nongnu.org --- hw/block/xen-block.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index 718d886e5c..246d9c23a2 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); -- 2.29.2