On 03/26/2010 09:45 AM, Daniel Veillard wrote:
+ /* now that we know it is about to start call the hook if
present */
+ if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) {
+ char *xml = virDomainDefFormat(vm->def, 0);
+ int hookret;
+
+ hookret = virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name,
+ VIR_HOOK_QEMU_OP_START, VIR_HOOK_SUBOP_BEGIN, NULL, xml);
+ VIR_FREE(xml);
+
+ /*
+ * If the script raised an error abort the launch
+ */
+ if (hookret < 0)
+ goto cleanup;
Should we also report an error if virHookCall returned 1 because the
hook could not be run?
+ /* we can't stop the operation even if the script raised
an error */
+ virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name,
+ VIR_HOOK_QEMU_OP_STOPPED, VIR_HOOK_SUBOP_END, NULL, xml);
Likewise, should we report if virHookCall returns non-zero, even though
we don't abort the operation?
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org