> > > Currently to deal with auto-shutdown libvirtd must periodically > > > poll all stateful drivers. Thus sucks because it requires > > > acquiring both the driver lock and locks on every single virtual > > > machine. Instead pass in a "inhibit" callback to > > > virStateInitialize > > > which drivers can invoke whenever they want to inhibit shutdown > > > due to existance of active VMs. > > > +nwfilterDriverStartup(bool privileged ATTRIBUTE_UNUSED, > > > + virStateInhibitCallback callback > > > ATTRIBUTE_UNUSED, > > > + void *opaque ATTRIBUTE_UNUSED) > > > { > > > > Here, you aren't remembering the callback... > > Yes, this is technically a semantic change, I could have pulled > into a separate patch. > > Basically there is no compelling reason for the nwfilter driver > to inhibit shutdown. Active NWfilters are all associated with > active domains, which will already be inhibiting shutdown. True. > > > +storageDriverStartup(bool privileged, > > > + virStateInhibitCallback callback > > > ATTRIBUTE_UNUSED, > > > + void *opaque ATTRIBUTE_UNUSED) > > > > Another case of ignoring the callback... > Again this is because, IMHO, there is no compelling reason for active > storage pools to inhibit libvirtd shutdown. Indeed inhibiting it > makes > auto-shutdown pretty much useless, since you'll almost always have an > active directory based storage pool. Probably worth mentioning these intentional changes in the commit log, but you've convinced me that the code is sane. ACK. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list