[libvirt] [PATCH] Fix bug in storage driver accessing wrong private data

Daniel Veillard veillard at redhat.com
Wed Dec 9 12:49:27 UTC 2009


On Wed, Dec 09, 2009 at 09:39:17AM +0000, Daniel P. Berrange wrote:
> * src/storage/storage_driver.c: Fix IsPersistent() and IsActivE()
>   methods on storage pools to use 'storagePrivateData' instead
>   of 'privateData'. Also fix naming convention of objects
> ---
>  src/storage/storage_driver.c |   16 ++++++++--------
>  1 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
> index fadba57..4a49089 100644
> --- a/src/storage/storage_driver.c
> +++ b/src/storage/storage_driver.c
> @@ -466,17 +466,17 @@ cleanup:
>  }
>  
>  
> -static int storagePoolIsActive(virStoragePoolPtr net)
> +static int storagePoolIsActive(virStoragePoolPtr pool)
>  {
> -    virStorageDriverStatePtr driver = net->conn->privateData;
> +    virStorageDriverStatePtr driver = pool->conn->storagePrivateData;
>      virStoragePoolObjPtr obj;
>      int ret = -1;
>  
>      storageDriverLock(driver);
> -    obj = virStoragePoolObjFindByUUID(&driver->pools, net->uuid);
> +    obj = virStoragePoolObjFindByUUID(&driver->pools, pool->uuid);
>      storageDriverUnlock(driver);
>      if (!obj) {
> -        virStorageReportError(net->conn, VIR_ERR_NO_STORAGE_POOL, NULL);
> +        virStorageReportError(pool->conn, VIR_ERR_NO_STORAGE_POOL, NULL);
>          goto cleanup;
>      }
>      ret = virStoragePoolObjIsActive(obj);
> @@ -487,17 +487,17 @@ cleanup:
>      return ret;
>  }
>  
> -static int storagePoolIsPersistent(virStoragePoolPtr net)
> +static int storagePoolIsPersistent(virStoragePoolPtr pool)
>  {
> -    virStorageDriverStatePtr driver = net->conn->privateData;
> +    virStorageDriverStatePtr driver = pool->conn->storagePrivateData;
>      virStoragePoolObjPtr obj;
>      int ret = -1;
>  
>      storageDriverLock(driver);
> -    obj = virStoragePoolObjFindByUUID(&driver->pools, net->uuid);
> +    obj = virStoragePoolObjFindByUUID(&driver->pools, pool->uuid);
>      storageDriverUnlock(driver);
>      if (!obj) {
> -        virStorageReportError(net->conn, VIR_ERR_NO_STORAGE_POOL, NULL);
> +        virStorageReportError(pool->conn, VIR_ERR_NO_STORAGE_POOL, NULL);
>          goto cleanup;
>      }
>      ret = obj->configFile ? 1 : 0;

  ah, it's conn->storagePrivateData instead of conn->privateData,
I initially got confused why the argument rename would fix something...

  ACK !

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list