hw/block/xen-block.c | 1 + 1 file changed, 1 insertion(+)
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>
---
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Paul Durrant <paul@xen.org>
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>
Cc: xen-devel@lists.xenproject.org
Cc: qemu-block@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
> -----Original Message----- > From: Roger Pau Monne <roger.pau@citrix.com> > Sent: 18 January 2021 15:34 > To: qemu-devel@nongnu.org > Cc: Roger Pau Monne <roger.pau@citrix.com>; Arthur Borsboom <arthurborsboom@gmail.com>; Stefano > Stabellini <sstabellini@kernel.org>; Anthony Perard <anthony.perard@citrix.com>; Paul Durrant > <paul@xen.org>; Kevin Wolf <kwolf@redhat.com>; Max Reitz <mreitz@redhat.com>; xen- > devel@lists.xenproject.org; qemu-block@nongnu.org > Subject: [PATCH] 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> Reviewed-by: Paul Durrant <paul@xen.org> > --- > Cc: Stefano Stabellini <sstabellini@kernel.org> > Cc: Anthony Perard <anthony.perard@citrix.com> > Cc: Paul Durrant <paul@xen.org> > Cc: Kevin Wolf <kwolf@redhat.com> > Cc: Max Reitz <mreitz@redhat.com> > Cc: xen-devel@lists.xenproject.org > Cc: qemu-block@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
Am 18.01.2021 um 16:49 hat Paul Durrant geschrieben: > > -----Original Message----- > > From: Roger Pau Monne <roger.pau@citrix.com> > > Sent: 18 January 2021 15:34 > > To: qemu-devel@nongnu.org > > Cc: Roger Pau Monne <roger.pau@citrix.com>; Arthur Borsboom <arthurborsboom@gmail.com>; Stefano > > Stabellini <sstabellini@kernel.org>; Anthony Perard <anthony.perard@citrix.com>; Paul Durrant > > <paul@xen.org>; Kevin Wolf <kwolf@redhat.com>; Max Reitz <mreitz@redhat.com>; xen- > > devel@lists.xenproject.org; qemu-block@nongnu.org > > Subject: [PATCH] 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> > > Reviewed-by: Paul Durrant <paul@xen.org> Thanks, applied to the block branch. Kevin
© 2016 - 2024 Red Hat, Inc.