]> git.proxmox.com Git - pve-qemu.git/blobdiff - debian/patches/pve/0018-PVE-block-add-the-zeroinit-block-driver-filter.patch
import QEMU 5.0.0-rc2 and rebase patches
[pve-qemu.git] / debian / patches / pve / 0018-PVE-block-add-the-zeroinit-block-driver-filter.patch
index a970cc37c03d7986fd04433d9ec7e13734a40f5b..52f7afc2ddb82d90453141e849c1e763cf35012b 100644 (file)
@@ -1,17 +1,17 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Wolfgang Bumiller <w.bumiller@proxmox.com>
-Date: Thu, 17 Mar 2016 11:33:37 +0100
+Date: Mon, 6 Apr 2020 12:16:47 +0200
 Subject: [PATCH] PVE: block: add the zeroinit block driver filter
 
 Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
 ---
  block/Makefile.objs |   1 +
- block/zeroinit.c    | 203 ++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 204 insertions(+)
+ block/zeroinit.c    | 197 ++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 198 insertions(+)
  create mode 100644 block/zeroinit.c
 
 diff --git a/block/Makefile.objs b/block/Makefile.objs
-index 7a81892a52..03b5763bfa 100644
+index 3635b6b4c1..1282445672 100644
 --- a/block/Makefile.objs
 +++ b/block/Makefile.objs
 @@ -11,6 +11,7 @@ block-obj-$(CONFIG_QED) += qed.o qed-l2-cache.o qed-table.o qed-cluster.o
@@ -24,10 +24,10 @@ index 7a81892a52..03b5763bfa 100644
  block-obj-y += blklogwrites.o
 diff --git a/block/zeroinit.c b/block/zeroinit.c
 new file mode 100644
-index 0000000000..64c49ad0e0
+index 0000000000..ff38388d94
 --- /dev/null
 +++ b/block/zeroinit.c
-@@ -0,0 +1,203 @@
+@@ -0,0 +1,197 @@
 +/*
 + * Filter to fake a zero-initialized block device.
 + *
@@ -45,6 +45,7 @@ index 0000000000..64c49ad0e0
 +#include "qapi/qmp/qstring.h"
 +#include "qemu/cutils.h"
 +#include "qemu/option.h"
++#include "qemu/module.h"
 +
 +typedef struct {
 +    bool has_zero_init;
@@ -161,12 +162,6 @@ index 0000000000..64c49ad0e0
 +    return bdrv_co_pwritev(bs->file, offset, bytes, qiov, flags);
 +}
 +
-+static bool zeroinit_recurse_is_first_non_filter(BlockDriverState *bs,
-+                                                  BlockDriverState *candidate)
-+{
-+    return bdrv_recurse_is_first_non_filter(bs->file->bs, candidate);
-+}
-+
 +static coroutine_fn int zeroinit_co_flush(BlockDriverState *bs)
 +{
 +    return bdrv_co_flush(bs->file->bs);
@@ -185,9 +180,9 @@ index 0000000000..64c49ad0e0
 +}
 +
 +static int zeroinit_co_truncate(BlockDriverState *bs, int64_t offset,
-+                             PreallocMode prealloc, Error **errp)
++                                _Bool exact, PreallocMode prealloc, Error **errp)
 +{
-+    return bdrv_co_truncate(bs->file, offset, prealloc, errp);
++    return bdrv_co_truncate(bs->file, offset, exact, prealloc, errp);
 +}
 +
 +static int zeroinit_get_info(BlockDriverState *bs, BlockDriverInfo *bdi)
@@ -213,7 +208,6 @@ index 0000000000..64c49ad0e0
 +    .bdrv_co_flush                    = zeroinit_co_flush,
 +
 +    .is_filter                        = true,
-+    .bdrv_recurse_is_first_non_filter = zeroinit_recurse_is_first_non_filter,
 +
 +    .bdrv_has_zero_init               = zeroinit_has_zero_init,
 +
@@ -231,6 +225,3 @@ index 0000000000..64c49ad0e0
 +}
 +
 +block_init(bdrv_zeroinit_init);
--- 
-2.20.1
-