[libvirt] [PATCH 4/9] Introduce annotations for virLXCDriverPtr fields
Daniel P. Berrange
berrange at redhat.com
Thu Jul 18 10:18:47 UTC 2013
On Wed, Jul 17, 2013 at 03:04:21PM +0200, Michal Privoznik wrote:
> Annotate the fields in virLXCDriverPtr to indicate the locking
> rules for their use
> ---
> src/lxc/lxc_conf.h | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/src/lxc/lxc_conf.h b/src/lxc/lxc_conf.h
> index f9a3e53..831e3e5 100644
> --- a/src/lxc/lxc_conf.h
> +++ b/src/lxc/lxc_conf.h
> @@ -67,29 +67,43 @@ struct _virLXCDriverConfig {
> struct _virLXCDriver {
> virMutex lock;
>
> + /* Require lock to get reference on 'config',
> + * then lockless thereafter */
> virLXCDriverConfigPtr config;
>
> + /* Require lock while using. Unsafe. XXX */
> virCapsPtr caps;
>
> + /* Immutable pointer. Unsafe APIs XXX */
> virCgroupPtr cgroup;
Oh this field is completely unused & should have been deleted a
while back. Please just kill as a separate patch.
>
> + /* Immutable pointer, Immutable object */
> virDomainXMLOptionPtr xmlopt;
>
> + /* Immutable pointer, lockless APIs*/
> virSysinfoDefPtr hostsysinfo;
>
> + /* Atomic inc/dec only */
> unsigned int nactive;
>
> + /* Immutable pointers. Caller must provide locking */
> virStateInhibitCallback inhibitCallback;
> void *inhibitOpaque;
>
> + /* Immutable pointer, self-locking APIs */
> virDomainObjListPtr domains;
>
> + /* Immutable pointer. Requires lock to be held before
> + * calling APIs. */
> virUSBDeviceListPtr activeUsbHostdevs;
>
> + /* Immutable pointer, self-locking APIs */
> virDomainEventStatePtr domainEventState;
>
> + /* Immutable pointer. self-locking APIs */
> virSecurityManagerPtr securityManager;
>
> + /* Immutable pointer. Unsafe APIs. XXX */
> virHashTablePtr autodestroy;
> };
ACK, all makes sense.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list