[libvirt PATCH 4/6] qemu: block: blockpull param 'top' support in driver and RPC

Pavel Mores pmores at redhat.com
Wed Mar 4 10:12:38 UTC 2020


Rebase implementation in QEMU driver extended with a new 'top' parameter.
Support for 'top' added to RPC's remote_domain_block_rebase_args structure.

Signed-off-by: Pavel Mores <pmores at redhat.com>
---
 src/driver-hypervisor.h      | 1 +
 src/libvirt-domain.c         | 2 +-
 src/qemu/qemu_driver.c       | 3 ++-
 src/remote/remote_protocol.x | 1 +
 src/remote_protocol-structs  | 1 +
 5 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/driver-hypervisor.h b/src/driver-hypervisor.h
index bce023017d..51a25c41e3 100644
--- a/src/driver-hypervisor.h
+++ b/src/driver-hypervisor.h
@@ -1053,6 +1053,7 @@ typedef int
 (*virDrvDomainBlockRebase)(virDomainPtr dom,
                            const char *path,
                            const char *base,
+                           const char *top,
                            unsigned long bandwidth,
                            unsigned int flags);
 
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 1f9d1b5b84..33e307cb26 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -10287,7 +10287,7 @@ virDomainBlockRebase(virDomainPtr dom, const char *disk,
 
     if (conn->driver->domainBlockRebase) {
         int ret;
-        ret = conn->driver->domainBlockRebase(dom, disk, base, bandwidth,
+        ret = conn->driver->domainBlockRebase(dom, disk, base, top, bandwidth,
                                               flags);
         if (ret < 0)
             goto error;
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 7970c913f3..b3f97bf593 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -18143,7 +18143,8 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
 
 static int
 qemuDomainBlockRebase(virDomainPtr dom, const char *path, const char *base,
-                      unsigned long bandwidth, unsigned int flags)
+                      const char *top, unsigned long bandwidth,
+                      unsigned int flags)
 {
     virDomainObjPtr vm;
     int ret = -1;
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index d4393680e9..5f5a921057 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -1414,6 +1414,7 @@ struct remote_domain_block_rebase_args {
     remote_nonnull_domain dom;
     remote_nonnull_string path;
     remote_string base;
+    remote_string top;
     unsigned hyper bandwidth;
     unsigned int flags;
 };
diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
index bae0f0b545..b317ec9102 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -992,6 +992,7 @@ struct remote_domain_block_rebase_args {
         remote_nonnull_domain      dom;
         remote_nonnull_string      path;
         remote_string              base;
+        remote_string              top;
         uint64_t                   bandwidth;
         u_int                      flags;
 };
-- 
2.24.1




More information about the libvir-list mailing list