
On Mon, Oct 29, 2007 at 03:57:29AM +0000, Daniel P. Berrange wrote:
This patch defines the internal driver API for the storage API calls. It also provides the cache implementation for the virStoragePoolPtr and virStorageVolPtr objects. The virStorageVolPtr object is a little different in that it doesn't reference the virConnectPtr object directly. Instead it points to the virStoragePoolPtr object. This
Okay
makes the reference counting 'interesting', because when we get a virStorageVolPtr object, we have increment the count on both the pool and the connection. This was starting to get complex, so to keep it sane I don't bother with referencing counting on the virStorageVolPtr object itself.
So how do you get rid of it ? You assume they will always stay around ? Also what's the story about locking in that patch, you're trying to allow concurrent operations on multiple storage pools (which may be needed due to storage and network latencies) [...]
+ * Provides the connection pointer associated with a storage poolk. The
s/poolk/pool/ The patch code looks mostly common :-) Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/