From: Osier Yang Date: Tue, 19 Feb 2013 12:27:43 +0000 (+0800) Subject: qemu: Update shared disk table when reconnecting qemu process X-Git-Tag: v1.0.3-rc1~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0e4b762042e8f71c24ee93312ee3a131dcd0335;p=thirdparty%2Flibvirt.git qemu: Update shared disk table when reconnecting qemu process --- diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 95ed6c0658..476e3ed2d5 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -3189,6 +3189,7 @@ qemuProcessReconnect(void *opaque) int reason; virQEMUDriverConfigPtr cfg; virCapsPtr caps = NULL; + size_t i; memcpy(&oldjob, &data->oldjob, sizeof(oldjob)); @@ -3230,6 +3231,15 @@ qemuProcessReconnect(void *opaque) if (qemuUpdateActiveUsbHostdevs(driver, obj->def) < 0) goto error; + /* XXX: Need to change as long as lock is introduced for + * qemu_driver->sharedDisks. + */ + for (i = 0; i < obj->def->ndisks; i++) { + if (qemuAddSharedDisk(driver, obj->def->disks[i], + obj->def->name) < 0) + goto error; + } + if (qemuProcessUpdateState(driver, obj) < 0) goto error;