> > 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.