[libvirt] [PATCH v2] storage: Fix volStorageBackendRBDRefreshVolInfo

Cole Robinson crobinso at redhat.com
Fri Dec 20 17:09:45 UTC 2019


On 10/29/19 12:12 AM, Yi Li wrote:
> Fix the return value status comparison checking for call to
> volStorageBackendRBDRefreshVolInfo introduced by commit id f46d137e.
> 
> we only should fail when the return is < 0. -ENOENT, -ETIMEDOUT will
> ignore according commit id f46d137e.
> 
> Signed-off-by: Yi Li <yili at winhong.com>
> ---
>  src/storage/storage_backend_rbd.c | 32 ++++++++++++++++++++++----------
>  1 file changed, 22 insertions(+), 10 deletions(-)
> 

Sorry for the lack of response on this one. The change makes sense,
seems like that first commit was busted, not sure how it ever worked as
intended.

> diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c
> index 7ce26ed..f7319d6 100644
> --- a/src/storage/storage_backend_rbd.c
> +++ b/src/storage/storage_backend_rbd.c
> @@ -411,6 +411,7 @@ volStorageBackendRBDGetFeatures(rbd_image_t image,
>      int r, ret = -1;
>  
>      if ((r = rbd_get_features(image, features)) < 0) {
> +        ret = r;
>          virReportSystemError(-r, _("failed to get the features of RBD image "
>                                   "%s"), volname);
>          goto cleanup;
> @@ -427,16 +428,19 @@ volStorageBackendRBDGetFlags(rbd_image_t image,
>                               const char *volname,
>                               uint64_t *flags)
>  {
> -    int rc;
> +    int r, ret = -1;
>  

Though this file uses 'int r' to hold intermediate function return
values, most libvirt code uses 'int rc'. Your change here to use 'int r'
is more consistent with the file, but inconsistent with the rest of libvirt.

Can you send a first patch that converts this whole file to use 'int rc'
in place of 'int r'? ('int ret' should be kept as is)

Then the actual changes in this patch will be a second patch on top. You
can CC me and I'll test and review those

Thanks,
Cole




More information about the libvir-list mailing list