On 07/22/2014 11:09 PM, Martin Kletzander wrote: > On Tue, Jul 22, 2014 at 01:11:03PM -0600, Eric Blake wrote: >> https://bugzilla.redhat.com/show_bug.cgi?id=1122205 >> >> Although the edits were changing in-memory XML, it was not flushed >> to disk; so unless some other action changes XML, a libvirtd restart >> would lose the changed information. >> > > And there are more places like that. Take a > qemuDomainSetNumaParameters() for example. That's what I was afraid of - that I'd be stuck with auditing other uses all because I stumbled on this one while testing a similar fix to blockcopy. :/ > Would it be possible (as > in "not devastatingly hard" to create a syntax-check rule for > *_driver.c files (only those that are applicable, mostly stateful) > that would check if virCheckFlags is called with > VIR_DOMAIN_AFFECT_LIVE and if yes, then that function would have to > call virDomainSaveStatus() as well? Via a .pl script maybe, but even that is hard, because sometimes (as in this patch) the call to virDomainSaveStatus() is delegated to a helper function in another file than where the API call checks flags. It's not just AFFECT_LIVE, but any time where we modify a virDomainDefPtr (whether live or config), then those modifications have to be written back to disk before ending the API. > > [...] >> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c >> index 4b00280..6ed6155 100644 >> --- a/src/conf/domain_conf.c >> +++ b/src/conf/domain_conf.c > [...] >> @@ -19753,9 +19757,12 @@ virDomainObjSetMetadata(virDomainObjPtr vm, >> &persistentDef) < 0) >> return -1; >> >> - if (flags & VIR_DOMAIN_AFFECT_LIVE) >> + if (flags & VIR_DOMAIN_AFFECT_LIVE) { >> if (virDomainDefSetMetadata(vm->def, type, metadata, key, uri) >> < 0) >> return -1; > > One empty line right here would perfectly go with the rest of the > function ;) > > ACK with or without this change, > > Martin Thanks, will push shortly. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list