
On Mon, Sep 26, 2016 at 13:16:00 -0400, Corey S. McQuay wrote:
Currently Libvirt allows attempts to migrate read only disks. Qemu cannot handle this as read only disks cannot be written to on the destination system. The end result is a cryptic error message and a failed migration.
This patch causes migration to fail earlier and provides a meaningful error message stating that migrating read only disks is not supported.
Signed-off-by: Corey S. McQuay <csmcquay@linux.vnet.ibm.com> Reviewed-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> Reviewed-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com> --- src/qemu/qemu_migration.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index e451ef6..c8fb7ec 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -1764,6 +1764,12 @@ qemuMigrationStartNBDServer(virQEMUDriverPtr driver, /* check whether disk should be migrated */ if (!qemuMigrateDisk(disk, nmigrate_disks, migrate_disks)) continue; + + if (disk->src->readonly) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, + _("Cannot migrate read-only disk %s"), disk->dst);
This is misaligned.
+ goto cleanup; + }
VIR_FREE(diskAlias); if (!(diskAlias = qemuAliasFromDisk(disk)))
This patch fails syntax check due to trailing whitespace: trailing_blank src/qemu/qemu_migration.c:1767: src/qemu/qemu_migration.c:1769: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, maint.mk: found trailing blank(s) make: *** [maint.mk:748: sc_trailing_blank] Error 1 Please make sure you run "make check" and "make syntax-check" prior to submitting patches. I'll adjust the mistakes and push this as the patch is rather trivial. Peter