[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