[libvirt] [PATCH 2/8] Basic framework for lock manager plugins

Daniel P. Berrange berrange at redhat.com
Tue Nov 23 10:26:48 UTC 2010


On Mon, Nov 22, 2010 at 05:47:19PM -0500, David Teigland wrote:
> On Mon, Nov 22, 2010 at 06:09:21PM +0000, Daniel P. Berrange wrote:
> > +/*
> > + * Flags to pass to 'load_drv' and also 'new_drv' method
> > + * Plugins must support at least one of the modes. If a
> > + * mode is unsupported, it must return an error
> > + */
> > +enum {
> > +    VIR_LOCK_MANAGER_MODE_CONTENT    = (1 << 0),
> > +    VIR_LOCK_MANAGER_MODE_METADATA  = (1 << 1),
> > +} virLockManagerFlags;
> 
> If I want one plugin to provide both modes, but want to deal with each
> mode differently, then wouldn't I need a separate _virLockDriver structure
> for each, or a mode arg in each function?

The mode will get passed to the virLockDriverNew callback in
the flags field, whenever setting up any lock, so you wouldn't
need a separate virLockDriver table.

Regards,
Daniel




More information about the libvir-list mailing list