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(a)linux.vnet.ibm.com>
Reviewed-by: Jason J. Herne <jjherne(a)linux.vnet.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy(a)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