[libvirt] [PATCH 08/10] Replace polling for active VMs with signalling by drivers
Eric Blake
eblake at redhat.com
Thu Nov 29 17:28:31 UTC 2012
> > > 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.
More information about the libvir-list
mailing list