[Libvir] Re: [PATCH 7/7] Add KVM restore support using migration.
Daniel Veillard
veillard at redhat.com
Mon Aug 13 14:49:17 UTC 2007
On Sun, Aug 12, 2007 at 07:11:39PM -0400, Jim Paris wrote:
>
> Signed-off-by: Jim Paris <jim at jtan.com>
> + if ((xml = (char *)malloc(header.xml_len + 1)) == NULL) {
> + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED,
> + "out of memory");
> + close(fd);
> + return -1;
> + }
> +
> + if (read(fd, xml, header.xml_len) != header.xml_len) {
> + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED,
> + "failed to read XML");
> + close(fd);
> + free(xml);
> + return -1;
> + }
> + xml[header.xml_len] = '\0';
I would rather save xml_len to include the trailing 0 as part of the save
and simplify the + 1. For example it would be legal to have an XML description
done in UTF-16, where adding a single trailing 0 byte would not be sufficient,
better consider the lenght to be the full data, NUL character included.
Oh and wrapping the read() here too, as suggested in previous patch.
> + vm = qemudFindVMByUUID(driver, def->uuid);
> + if (!vm) vm = qemudFindVMByName(driver, def->name);
> + if (vm && qemudIsActiveVM(vm)) {
> + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED,
> + "domain to restore is already active");
Would be great to have the name printed here in the error message, allowing
to take corrective action or at least some easy analysis
thanks,
Daniel
--
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard at redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
More information about the libvir-list
mailing list