* [pve-devel] [PATCH qemu] add patch to fix discard on GlusterFS
@ 2022-05-05 8:43 Fabian Ebner
0 siblings, 0 replies; only message in thread
From: Fabian Ebner @ 2022-05-05 8:43 UTC (permalink / raw)
To: pve-devel
Reported in the community forum:
https://forum.proxmox.com/threads/108875
and thanks to Mira for telling me how to reproduce it.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---
Mail sent upstream:
https://lists.nongnu.org/archive/html/qemu-devel/2022-05/msg00938.html
...rrectly-set-max_pdiscard-which-is-in.patch | 37 +++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 38 insertions(+)
create mode 100644 debian/patches/extra/0018-block-gluster-correctly-set-max_pdiscard-which-is-in.patch
diff --git a/debian/patches/extra/0018-block-gluster-correctly-set-max_pdiscard-which-is-in.patch b/debian/patches/extra/0018-block-gluster-correctly-set-max_pdiscard-which-is-in.patch
new file mode 100644
index 0000000..0fed7f5
--- /dev/null
+++ b/debian/patches/extra/0018-block-gluster-correctly-set-max_pdiscard-which-is-in.patch
@@ -0,0 +1,37 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Fabian Ebner <f.ebner@proxmox.com>
+Date: Thu, 5 May 2022 09:50:38 +0200
+Subject: [PATCH] block/gluster: correctly set max_pdiscard which is int64_t
+
+Previously, max_pdiscard would be zero in the following assertion:
+qemu-system-x86_64: ../block/io.c:3166: bdrv_co_pdiscard: Assertion
+`max_pdiscard >= bs->bl.request_alignment' failed.
+
+Fixes: 0c8022876f ("block: use int64_t instead of int in driver discard handlers")
+Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
+---
+ block/gluster.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/block/gluster.c b/block/gluster.c
+index 398976bc66..592e71b22a 100644
+--- a/block/gluster.c
++++ b/block/gluster.c
+@@ -891,7 +891,7 @@ out:
+ static void qemu_gluster_refresh_limits(BlockDriverState *bs, Error **errp)
+ {
+ bs->bl.max_transfer = GLUSTER_MAX_TRANSFER;
+- bs->bl.max_pdiscard = SIZE_MAX;
++ bs->bl.max_pdiscard = INT64_MAX;
+ }
+
+ static int qemu_gluster_reopen_prepare(BDRVReopenState *state,
+@@ -1304,7 +1304,7 @@ static coroutine_fn int qemu_gluster_co_pdiscard(BlockDriverState *bs,
+ GlusterAIOCB acb;
+ BDRVGlusterState *s = bs->opaque;
+
+- assert(bytes <= SIZE_MAX); /* rely on max_pdiscard */
++ assert(bytes <= INT64_MAX); /* rely on max_pdiscard */
+
+ acb.size = 0;
+ acb.ret = 0;
diff --git a/debian/patches/series b/debian/patches/series
index 9a75f9b..6589fe7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -15,6 +15,7 @@ extra/0014-vhost-vsock-detach-the-virqueue-element-in-case-of-e.patch
extra/0015-vhost-user-remove-VirtQ-notifier-restore.patch
extra/0016-vhost-user-fix-VirtQ-notifier-cleanup.patch
extra/0017-virtio-fix-the-condition-for-iommu_platform-not-supp.patch
+extra/0018-block-gluster-correctly-set-max_pdiscard-which-is-in.patch
bitmap-mirror/0001-drive-mirror-add-support-for-sync-bitmap-mode-never.patch
bitmap-mirror/0002-drive-mirror-add-support-for-conditional-and-always-.patch
bitmap-mirror/0003-mirror-add-check-for-bitmap-mode-without-bitmap.patch
--
2.30.2
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-05-05 8:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-05 8:43 [pve-devel] [PATCH qemu] add patch to fix discard on GlusterFS Fabian Ebner
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal