[pve-devel] [PATCH] Add patch to improve qmrestore to RBD, activating writeback cache.

Eneko Lacunza elacunza at binovo.es
Tue Jul 26 16:05:52 CEST 2016


Hi,

I'm unsure about wether it would be better to have one patch or two 
independent patches?

El 26/07/16 a las 16:02, Alexandre DERUMIER escribió:
> Hi,
>
> I think that qemu-img convert have the same problem
>
> I have found a commit from 2015
> https://git.greensocs.com/fkonrad/mttcg/commit/80ccf93b884a2edab5ec62634758e942bba81b7c
>
> By default it don't send flush (cache=unsafe), and the commit add a flush on image closing, because some storage like sheepdog,
> can't do the flush by themself.
>
> maybe can we add the same flush just after the opening in convert.
>
>
>
> ----- Mail original -----
> De: "Eneko Lacunza" <elacunza at binovo.es>
> À: "pve-devel" <pve-devel at pve.proxmox.com>
> Cc: "Eneko Lacunza" <elacunza at pve-test.binovo.net>
> Envoyé: Mardi 26 Juillet 2016 15:18:55
> Objet: [pve-devel] [PATCH] Add patch to improve qmrestore to RBD,	activating writeback cache.
>
> From: Eneko Lacunza <elacunza at pve-test.binovo.net>
>
> Signed-off-by: Eneko Lacunza <elacunza at pve-test.binovo.net>
> ---
> .../0054-vma-force-enable-rbd-cache-for-qmrestore.patch | 17 +++++++++++++++++
> debian/patches/series | 1 +
> 2 files changed, 18 insertions(+)
> create mode 100644 debian/patches/pve/0054-vma-force-enable-rbd-cache-for-qmrestore.patch
>
> diff --git a/debian/patches/pve/0054-vma-force-enable-rbd-cache-for-qmrestore.patch b/debian/patches/pve/0054-vma-force-enable-rbd-cache-for-qmrestore.patch
> new file mode 100644
> index 0000000..d9722c7
> --- /dev/null
> +++ b/debian/patches/pve/0054-vma-force-enable-rbd-cache-for-qmrestore.patch
> @@ -0,0 +1,17 @@
> +Issue a bogus flush so that Ceph activates rbd cache, accelerating qmrestore to RBD.
> +---
> +Index: b/vma.c
> +===================================================================
> +--- a/vma.c
> ++++ b/vma.c
> +@@ -335,6 +335,9 @@ static int extract_content(int argc, cha
> +
> + BlockDriverState *bs = blk_bs(blk);
> +
> ++ /* This is needed to activate rbd cache (writeback/coalesce) */
> ++ bdrv_flush(bs);
> ++
> + if (vma_reader_register_bs(vmar, i, bs, write_zero, &errp) < 0) {
> + g_error("%s", error_get_pretty(errp));
> + }
> +
> diff --git a/debian/patches/series b/debian/patches/series
> index 3614309..c858a30 100644
> --- a/debian/patches/series
> +++ b/debian/patches/series
> @@ -51,6 +51,7 @@ pve/0050-fix-possible-unitialised-return-value.patch
> pve/0051-net-NET_CLIENT_OPTIONS_KIND_MAX-changed.patch
> pve/0052-vnc-refactor-to-QIOChannelSocket.patch
> pve/0053-vma-use-BlockBackend-on-extract.patch
> +pve/0054-vma-force-enable-rbd-cache-for-qmrestore.patch
> #see https://bugs.launchpad.net/qemu/+bug/1488363?comments=all
> extra/0001-Revert-target-i386-disable-LINT0-after-reset.patch
> extra/0001-i386-kvmvapic-initialise-imm32-variable.patch


-- 
Zuzendari Teknikoa / Director Técnico
Binovo IT Human Project, S.L.
Telf. 943493611
       943324914
Astigarraga bidea 2, planta 6 dcha., ofi. 3-2; 20180 Oiartzun (Gipuzkoa)
www.binovo.es




More information about the pve-devel mailing list