mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: capabilities: Always assume QEMU_CAPS_DRIVE_MIRROR
qemu added the 'drive-mirror' command in v1.3.0 (d9b902db3fb71fdc) Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
852afb2dc4
commit
72e88ca0a2
@ -962,7 +962,6 @@ struct virQEMUCapsStringFlags virQEMUCapsCommands[] = {
|
||||
{ "dump-guest-memory", QEMU_CAPS_DUMP_GUEST_MEMORY },
|
||||
{ "query-spice", QEMU_CAPS_SPICE },
|
||||
{ "query-vnc", QEMU_CAPS_VNC },
|
||||
{ "drive-mirror", QEMU_CAPS_DRIVE_MIRROR },
|
||||
{ "blockdev-snapshot-sync", QEMU_CAPS_DISK_SNAPSHOT },
|
||||
{ "nbd-server-start", QEMU_CAPS_NBD_SERVER },
|
||||
{ "change-backing-file", QEMU_CAPS_CHANGE_BACKING_FILE },
|
||||
|
@ -207,7 +207,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
|
||||
QEMU_CAPS_VNC, /* Is -vnc available? */
|
||||
|
||||
/* 115 */
|
||||
QEMU_CAPS_DRIVE_MIRROR, /* drive-mirror monitor command */
|
||||
X_QEMU_CAPS_DRIVE_MIRROR, /* drive-mirror monitor command */
|
||||
X_QEMU_CAPS_USB_REDIR_BOOTINDEX, /* usb-redir.bootindex */
|
||||
X_QEMU_CAPS_USB_HOST_BOOTINDEX, /* usb-host.bootindex */
|
||||
QEMU_CAPS_DISK_SNAPSHOT, /* blockdev-snapshot-sync command */
|
||||
|
@ -17683,11 +17683,6 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
|
||||
qemuDomainDefValidateDiskLunSource(mirror) < 0)
|
||||
goto endjob;
|
||||
|
||||
if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE_MIRROR)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("block copy is not supported with this QEMU binary"));
|
||||
goto endjob;
|
||||
}
|
||||
if (!(flags & VIR_DOMAIN_BLOCK_COPY_TRANSIENT_JOB) &&
|
||||
vm->persistent) {
|
||||
/* XXX if qemu ever lets us start a new domain with mirroring
|
||||
|
@ -2018,48 +2018,37 @@ qemuMigrationSrcBeginPhase(virQEMUDriverPtr driver,
|
||||
}
|
||||
|
||||
if (flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC)) {
|
||||
bool has_drive_mirror = virQEMUCapsGet(priv->qemuCaps,
|
||||
QEMU_CAPS_DRIVE_MIRROR);
|
||||
|
||||
if (nmigrate_disks) {
|
||||
if (has_drive_mirror) {
|
||||
size_t i, j;
|
||||
/* Check user requested only known disk targets. */
|
||||
for (i = 0; i < nmigrate_disks; i++) {
|
||||
for (j = 0; j < vm->def->ndisks; j++) {
|
||||
if (STREQ(vm->def->disks[j]->dst, migrate_disks[i]))
|
||||
break;
|
||||
}
|
||||
|
||||
if (j == vm->def->ndisks) {
|
||||
virReportError(VIR_ERR_INVALID_ARG,
|
||||
_("disk target %s not found"),
|
||||
migrate_disks[i]);
|
||||
goto cleanup;
|
||||
}
|
||||
size_t i, j;
|
||||
/* Check user requested only known disk targets. */
|
||||
for (i = 0; i < nmigrate_disks; i++) {
|
||||
for (j = 0; j < vm->def->ndisks; j++) {
|
||||
if (STREQ(vm->def->disks[j]->dst, migrate_disks[i]))
|
||||
break;
|
||||
}
|
||||
|
||||
if (flags & VIR_MIGRATE_TUNNELLED) {
|
||||
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
|
||||
_("Selecting disks to migrate is not "
|
||||
"implemented for tunnelled migration"));
|
||||
if (j == vm->def->ndisks) {
|
||||
virReportError(VIR_ERR_INVALID_ARG,
|
||||
_("disk target %s not found"),
|
||||
migrate_disks[i]);
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
|
||||
if (flags & VIR_MIGRATE_TUNNELLED) {
|
||||
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
|
||||
_("qemu does not support drive-mirror command"));
|
||||
_("Selecting disks to migrate is not "
|
||||
"implemented for tunnelled migration"));
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
if (has_drive_mirror) {
|
||||
/* TODO support NBD for TUNNELLED migration */
|
||||
if (flags & VIR_MIGRATE_TUNNELLED) {
|
||||
VIR_WARN("NBD in tunnelled migration is currently not supported");
|
||||
} else {
|
||||
cookieFlags |= QEMU_MIGRATION_COOKIE_NBD;
|
||||
priv->nbdPort = 0;
|
||||
}
|
||||
/* TODO support NBD for TUNNELLED migration */
|
||||
if (flags & VIR_MIGRATE_TUNNELLED) {
|
||||
VIR_WARN("NBD in tunnelled migration is currently not supported");
|
||||
} else {
|
||||
cookieFlags |= QEMU_MIGRATION_COOKIE_NBD;
|
||||
priv->nbdPort = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -32,7 +32,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='device-video-primary'/>
|
||||
|
@ -31,7 +31,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='device-video-primary'/>
|
||||
|
@ -18,7 +18,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='device-video-primary'/>
|
||||
<flag name='s390-sclp'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -18,7 +18,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='device-video-primary'/>
|
||||
<flag name='s390-sclp'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -32,7 +32,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='device-video-primary'/>
|
||||
|
@ -31,7 +31,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='device-video-primary'/>
|
||||
|
@ -18,7 +18,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='device-video-primary'/>
|
||||
<flag name='s390-sclp'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -34,7 +34,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='device-video-primary'/>
|
||||
|
@ -31,7 +31,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='device-video-primary'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -18,7 +18,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='device-video-primary'/>
|
||||
<flag name='s390-sclp'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -18,7 +18,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='device-video-primary'/>
|
||||
<flag name='s390-sclp'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -31,7 +31,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='device-video-primary'/>
|
||||
|
@ -18,7 +18,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='device-video-primary'/>
|
||||
<flag name='s390-sclp'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -31,7 +31,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='device-video-primary'/>
|
||||
|
@ -11,7 +11,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='device-video-primary'/>
|
||||
<flag name='nbd-server'/>
|
||||
|
@ -11,7 +11,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='device-video-primary'/>
|
||||
<flag name='nbd-server'/>
|
||||
|
@ -20,7 +20,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='device-video-primary'/>
|
||||
<flag name='s390-sclp'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -31,7 +31,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='cirrus-vga'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
@ -35,7 +35,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='device-video-primary'/>
|
||||
|
@ -35,7 +35,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='VGA'/>
|
||||
<flag name='device-video-primary'/>
|
||||
|
@ -41,7 +41,6 @@
|
||||
<flag name='seccomp-sandbox'/>
|
||||
<flag name='reboot-timeout'/>
|
||||
<flag name='vnc'/>
|
||||
<flag name='drive-mirror'/>
|
||||
<flag name='blockdev-snapshot-sync'/>
|
||||
<flag name='qxl'/>
|
||||
<flag name='VGA'/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user