mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: monitor: Don't pass full flags to qemuMonitorJSONDriveMirror
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>
This commit is contained in:
parent
6b155c41e9
commit
e90d51c4d0
@ -17786,7 +17786,9 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
|
|||||||
/* qemuMonitorDriveMirror needs to honor the REUSE_EXT flag as specified
|
/* qemuMonitorDriveMirror needs to honor the REUSE_EXT flag as specified
|
||||||
* by the user regardless of how @reuse was modified */
|
* by the user regardless of how @reuse was modified */
|
||||||
ret = qemuMonitorDriveMirror(priv->mon, device, mirror->path, format,
|
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);
|
virDomainAuditDisk(vm, NULL, mirror, "mirror", ret >= 0);
|
||||||
if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
@ -866,10 +866,6 @@ qemuMigrationSrcNBDStorageCopyDriveMirror(virQEMUDriverPtr driver,
|
|||||||
char *nbd_dest = NULL;
|
char *nbd_dest = NULL;
|
||||||
int mon_ret;
|
int mon_ret;
|
||||||
int ret = -1;
|
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 (strchr(host, ':')) {
|
||||||
if (virAsprintf(&nbd_dest, "nbd:[%s]:%d:exportname=%s",
|
if (virAsprintf(&nbd_dest, "nbd:[%s]:%d:exportname=%s",
|
||||||
@ -887,7 +883,7 @@ qemuMigrationSrcNBDStorageCopyDriveMirror(virQEMUDriverPtr driver,
|
|||||||
|
|
||||||
mon_ret = qemuMonitorDriveMirror(qemuDomainGetMonitor(vm),
|
mon_ret = qemuMonitorDriveMirror(qemuDomainGetMonitor(vm),
|
||||||
diskAlias, nbd_dest, "raw",
|
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)
|
if (qemuDomainObjExitMonitor(driver, vm) < 0 || mon_ret < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -3244,17 +3244,18 @@ qemuMonitorDriveMirror(qemuMonitorPtr mon,
|
|||||||
const char *device, const char *file,
|
const char *device, const char *file,
|
||||||
const char *format, unsigned long long bandwidth,
|
const char *format, unsigned long long bandwidth,
|
||||||
unsigned int granularity, unsigned long long buf_size,
|
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, "
|
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,
|
device, file, NULLSTR(format), bandwidth, granularity,
|
||||||
buf_size, flags);
|
buf_size, shallow, reuse);
|
||||||
|
|
||||||
QEMU_CHECK_MONITOR(mon);
|
QEMU_CHECK_MONITOR(mon);
|
||||||
|
|
||||||
return qemuMonitorJSONDriveMirror(mon, device, file, format, bandwidth,
|
return qemuMonitorJSONDriveMirror(mon, device, file, format, bandwidth,
|
||||||
granularity, buf_size, flags);
|
granularity, buf_size, shallow, reuse);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -884,7 +884,8 @@ int qemuMonitorDriveMirror(qemuMonitorPtr mon,
|
|||||||
unsigned long long bandwidth,
|
unsigned long long bandwidth,
|
||||||
unsigned int granularity,
|
unsigned int granularity,
|
||||||
unsigned long long buf_size,
|
unsigned long long buf_size,
|
||||||
unsigned int flags)
|
bool shallow,
|
||||||
|
bool reuse)
|
||||||
ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
|
ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
|
||||||
int qemuMonitorBlockdevMirror(qemuMonitorPtr mon,
|
int qemuMonitorBlockdevMirror(qemuMonitorPtr mon,
|
||||||
const char *jobname,
|
const char *jobname,
|
||||||
|
@ -4277,13 +4277,12 @@ qemuMonitorJSONDriveMirror(qemuMonitorPtr mon,
|
|||||||
const char *format, unsigned long long speed,
|
const char *format, unsigned long long speed,
|
||||||
unsigned int granularity,
|
unsigned int granularity,
|
||||||
unsigned long long buf_size,
|
unsigned long long buf_size,
|
||||||
unsigned int flags)
|
bool shallow,
|
||||||
|
bool reuse)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
virJSONValuePtr cmd;
|
virJSONValuePtr cmd;
|
||||||
virJSONValuePtr reply = NULL;
|
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",
|
cmd = qemuMonitorJSONMakeCommand("drive-mirror",
|
||||||
"s:device", device,
|
"s:device", device,
|
||||||
|
@ -250,7 +250,8 @@ int qemuMonitorJSONDriveMirror(qemuMonitorPtr mon,
|
|||||||
unsigned long long speed,
|
unsigned long long speed,
|
||||||
unsigned int granularity,
|
unsigned int granularity,
|
||||||
unsigned long long buf_size,
|
unsigned long long buf_size,
|
||||||
unsigned int flags)
|
bool shallow,
|
||||||
|
bool reuse)
|
||||||
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
|
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
|
||||||
int qemuMonitorJSONBlockdevMirror(qemuMonitorPtr mon,
|
int qemuMonitorJSONBlockdevMirror(qemuMonitorPtr mon,
|
||||||
const char *jobname,
|
const char *jobname,
|
||||||
|
@ -1341,8 +1341,7 @@ GEN_TEST_FUNC(qemuMonitorJSONAddNetdev, "id=net0,type=test")
|
|||||||
GEN_TEST_FUNC(qemuMonitorJSONRemoveNetdev, "net0")
|
GEN_TEST_FUNC(qemuMonitorJSONRemoveNetdev, "net0")
|
||||||
GEN_TEST_FUNC(qemuMonitorJSONDelDevice, "ide0")
|
GEN_TEST_FUNC(qemuMonitorJSONDelDevice, "ide0")
|
||||||
GEN_TEST_FUNC(qemuMonitorJSONAddDevice, "some_dummy_devicestr")
|
GEN_TEST_FUNC(qemuMonitorJSONAddDevice, "some_dummy_devicestr")
|
||||||
GEN_TEST_FUNC(qemuMonitorJSONDriveMirror, "vdb", "/foo/bar", "formatstr", 1024, 1234, 31234,
|
GEN_TEST_FUNC(qemuMonitorJSONDriveMirror, "vdb", "/foo/bar", "formatstr", 1024, 1234, 31234, true, true)
|
||||||
VIR_DOMAIN_BLOCK_REBASE_SHALLOW | VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT)
|
|
||||||
GEN_TEST_FUNC(qemuMonitorJSONBlockdevMirror, "jobname", "vdb", "targetnode", 1024, 1234, 31234, true)
|
GEN_TEST_FUNC(qemuMonitorJSONBlockdevMirror, "jobname", "vdb", "targetnode", 1024, 1234, 31234, true)
|
||||||
GEN_TEST_FUNC(qemuMonitorJSONBlockStream, "vdb", "/foo/bar1", "backingfilename", 1024)
|
GEN_TEST_FUNC(qemuMonitorJSONBlockStream, "vdb", "/foo/bar1", "backingfilename", 1024)
|
||||||
GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "/foo/bar1", "/foo/bar2", "backingfilename", 1024)
|
GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "/foo/bar1", "/foo/bar2", "backingfilename", 1024)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user