[libvirt] [PATCH 2/4] qemu: Refactor managed save functions to use domain lookup helpers
Eric Blake
eblake at redhat.com
Tue Dec 11 21:50:53 UTC 2012
On 12/11/2012 11:48 AM, Peter Krempa wrote:
> ---
> src/qemu/qemu_driver.c | 54 +++++++++++---------------------------------------
> 1 file changed, 12 insertions(+), 42 deletions(-)
Nice reduction in size. However, you need a v2...
> @@ -3323,50 +3316,28 @@ cleanup:
> static int
> qemuDomainHasManagedSaveImage(virDomainPtr dom, unsigned int flags)
> {
> - virQEMUDriverPtr driver = dom->conn->privateData;
> virDomainObjPtr vm = NULL;
> - int ret = -1;
>
> virCheckFlags(0, -1);
>
> - qemuDriverLock(driver);
> - vm = virDomainFindByUUID(&driver->domains, dom->uuid);
> - if (!vm) {
> - char uuidstr[VIR_UUID_STRING_BUFLEN];
> - virUUIDFormat(dom->uuid, uuidstr);
> - virReportError(VIR_ERR_NO_DOMAIN,
> - _("no domain with matching uuid '%s'"), uuidstr);
> - goto cleanup;
> - }
> -
> - ret = vm->hasManagedSave;
> + if (!(vm = qemuDomObjFromDomain(dom)))
> + return -1;
>
> -cleanup:
> - if (vm)
> - virDomainObjUnlock(vm);
> - qemuDriverUnlock(driver);
> - return ret;
> + return vm->hasManagedSave;
> }
Ouch. This leaves vm locked on exit. It needs to look more like:
if !(vm = qemuDomObjFromDomain(dom)))
return -1;
ret = vm->hasManagedSave;
virDomainObjUnlock(vm);
retun ret;
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20121211/39e17f70/attachment-0001.sig>
More information about the libvir-list
mailing list