]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: monitor: Don't pass full flags to qemuMonitorJSONDriveMirror
authorPeter Krempa <pkrempa@redhat.com>
Fri, 17 May 2019 16:13:53 +0000 (18:13 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 21 May 2019 12:22:06 +0000 (14:22 +0200)
Split out the 'shallow' and 'reuse' flags as booleans rather than passing
in flags and constructing them in irrelevant APIs.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_driver.c
src/qemu/qemu_migration.c
src/qemu/qemu_monitor.c
src/qemu/qemu_monitor.h
src/qemu/qemu_monitor_json.c
src/qemu/qemu_monitor_json.h
tests/qemumonitorjsontest.c

index 0d0eaccb8c71e3d6c13d92c59c5a917a85aa6f52..42b1ce252110ad4ebcdd88ef63d9fd558107b189 100644 (file)
@@ -17786,7 +17786,9 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
     /* qemuMonitorDriveMirror needs to honor the REUSE_EXT flag as specified
      * by the user regardless of how @reuse was modified */
     ret = qemuMonitorDriveMirror(priv->mon, device, mirror->path, format,
-                                 bandwidth, granularity, buf_size, flags);
+                                 bandwidth, granularity, buf_size,
+                                 flags & VIR_DOMAIN_BLOCK_COPY_SHALLOW,
+                                 flags & VIR_DOMAIN_BLOCK_COPY_REUSE_EXT);
     virDomainAuditDisk(vm, NULL, mirror, "mirror", ret >= 0);
     if (qemuDomainObjExitMonitor(driver, vm) < 0)
         ret = -1;
index 832f98346d136fa576171018c0061620a7b25d09..32b3040473250ddb632e94a52092e8d885f9e077 100644 (file)
@@ -866,10 +866,6 @@ qemuMigrationSrcNBDStorageCopyDriveMirror(virQEMUDriverPtr driver,
     char *nbd_dest = NULL;
     int mon_ret;
     int ret = -1;
-    unsigned int mirror_flags = VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT;
-
-    if (mirror_shallow)
-        mirror_flags |= VIR_DOMAIN_BLOCK_REBASE_SHALLOW;
 
     if (strchr(host, ':')) {
         if (virAsprintf(&nbd_dest, "nbd:[%s]:%d:exportname=%s",
@@ -887,7 +883,7 @@ qemuMigrationSrcNBDStorageCopyDriveMirror(virQEMUDriverPtr driver,
 
     mon_ret = qemuMonitorDriveMirror(qemuDomainGetMonitor(vm),
                                      diskAlias, nbd_dest, "raw",
-                                     mirror_speed, 0, 0, mirror_flags);
+                                     mirror_speed, 0, 0, mirror_shallow, true);
 
     if (qemuDomainObjExitMonitor(driver, vm) < 0 || mon_ret < 0)
         goto cleanup;
index 9a796db3cb6b9e9baf9fc459965be1a77bcf9142..6b731cd91ac8fb197b06fd346cb62ba36e37fefa 100644 (file)
@@ -3244,17 +3244,18 @@ qemuMonitorDriveMirror(qemuMonitorPtr mon,
                        const char *device, const char *file,
                        const char *format, unsigned long long bandwidth,
                        unsigned int granularity, unsigned long long buf_size,
-                       unsigned int flags)
+                       bool shallow,
+                       bool reuse)
 {
     VIR_DEBUG("device=%s, file=%s, format=%s, bandwidth=%lld, "
-              "granularity=%#x, buf_size=%lld, flags=0x%x",
+              "granularity=%#x, buf_size=%lld, shallow=%d, reuse=%d",
               device, file, NULLSTR(format), bandwidth, granularity,
-              buf_size, flags);
+              buf_size, shallow, reuse);
 
     QEMU_CHECK_MONITOR(mon);
 
     return qemuMonitorJSONDriveMirror(mon, device, file, format, bandwidth,
-                                      granularity, buf_size, flags);
+                                      granularity, buf_size, shallow, reuse);
 }
 
 
index 438c3c38ed96fcb5539a3e83c46aaf38a897e41c..dee594fa66acdb8ceab34edf587909bd2ca498a3 100644 (file)
@@ -884,7 +884,8 @@ int qemuMonitorDriveMirror(qemuMonitorPtr mon,
                            unsigned long long bandwidth,
                            unsigned int granularity,
                            unsigned long long buf_size,
-                           unsigned int flags)
+                           bool shallow,
+                           bool reuse)
     ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
 int qemuMonitorBlockdevMirror(qemuMonitorPtr mon,
                               const char *jobname,
index a75e660d07314b316dc0a189eb8efa0ae95e492c..4152d443315f28c62ca6f2d79924f005720712d1 100644 (file)
@@ -4277,13 +4277,12 @@ qemuMonitorJSONDriveMirror(qemuMonitorPtr mon,
                            const char *format, unsigned long long speed,
                            unsigned int granularity,
                            unsigned long long buf_size,
-                           unsigned int flags)
+                           bool shallow,
+                           bool reuse)
 {
     int ret = -1;
     virJSONValuePtr cmd;
     virJSONValuePtr reply = NULL;
-    bool shallow = (flags & VIR_DOMAIN_BLOCK_REBASE_SHALLOW) != 0;
-    bool reuse = (flags & VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT) != 0;
 
     cmd = qemuMonitorJSONMakeCommand("drive-mirror",
                                      "s:device", device,
index 174db7a2e9cf69135d1d37041fa08aa9e9e869ef..acef1a0a79a506167d57c1e5c43824f0eed5a497 100644 (file)
@@ -250,7 +250,8 @@ int qemuMonitorJSONDriveMirror(qemuMonitorPtr mon,
                                unsigned long long speed,
                                unsigned int granularity,
                                unsigned long long buf_size,
-                               unsigned int flags)
+                               bool shallow,
+                               bool reuse)
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
 int qemuMonitorJSONBlockdevMirror(qemuMonitorPtr mon,
                                   const char *jobname,
index c2bb3a6c4fa7f28d5a7440d8fcc7b6b18e3db667..0894e748ae966a9af3ee1279e0a5cd74dc48d752 100644 (file)
@@ -1341,8 +1341,7 @@ GEN_TEST_FUNC(qemuMonitorJSONAddNetdev, "id=net0,type=test")
 GEN_TEST_FUNC(qemuMonitorJSONRemoveNetdev, "net0")
 GEN_TEST_FUNC(qemuMonitorJSONDelDevice, "ide0")
 GEN_TEST_FUNC(qemuMonitorJSONAddDevice, "some_dummy_devicestr")
-GEN_TEST_FUNC(qemuMonitorJSONDriveMirror, "vdb", "/foo/bar", "formatstr", 1024, 1234, 31234,
-              VIR_DOMAIN_BLOCK_REBASE_SHALLOW | VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT)
+GEN_TEST_FUNC(qemuMonitorJSONDriveMirror, "vdb", "/foo/bar", "formatstr", 1024, 1234, 31234, true, true)
 GEN_TEST_FUNC(qemuMonitorJSONBlockdevMirror, "jobname", "vdb", "targetnode", 1024, 1234, 31234, true)
 GEN_TEST_FUNC(qemuMonitorJSONBlockStream, "vdb", "/foo/bar1", "backingfilename", 1024)
 GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "/foo/bar1", "/foo/bar2", "backingfilename", 1024)