于 2011年07月15日 03:50, Osier Yang 写道:
于 2011年07月15日 00:25, Eric Blake 写道:On 07/13/2011 09:56 PM, Osier Yang wrote:-=item B<undefine> I<domain-id> +=item B<undefine> I<domain-id> optional I<--undefine-managed-state> Undefine the configuration for an inactive domain. Since it's not running the domain name or UUID must be used as the I<domain-id>.Oh, this is different than libvirt.c, which claimed you can run 'undefine' on a running persistent domain. Which is it? Can undefine make a running domain transient, or must it be on an inactive domain?No, document in libvirt.c is not correct, undefining on a running domain will be refused.I argue that we found a bug in the qemu driver then. Right now, you can use 'virDomainDefineXML' to convert a transient guest into a persistent one, but there is no counterpart operation to convert a persistent guest back into a transient one. That is, I think the libvirt.c docs are right in implying that you can 'undefine' a running domain, and that the qemu driver needs to be fixed to allow this use case. if (virDomainObjIsActive(vm)) { qemuReportError(VIR_ERR_OPERATION_INVALID, "%s", _("cannot delete active domain")); goto cleanup; } if (!vm->persistent) { qemuReportError(VIR_ERR_OPERATION_INVALID, "%s", _("cannot undefine transient domain")); goto cleanup; } Is the codes above to check if the domain is persistent bogus? If we don't intend to support undefine a running domain. A transient domain can only be in running or paused state, in which cases the domain id is already not -1, means for a transient domain, codes above will never be executed (fails when checking if it's active) Either Dan, do you want to weigh in on this API question?-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list |
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list