[libvirt] [PATCH] storage_backend_rbd: check the return value of rados_conf_set

Chen Hanxiao chen_han_xiao at 126.com
Fri Nov 11 12:35:30 UTC 2016



At 2016-11-11 18:30:05, "Peter Krempa" <pkrempa at redhat.com> wrote:
>On Fri, Nov 11, 2016 at 17:54:57 +0800, Chen Hanxiao wrote:
>> At 2016-11-11 17:27:48, "Peter Krempa" <pkrempa at redhat.com> wrote:
>> >On Fri, Nov 11, 2016 at 16:33:18 +0800, Chen Hanxiao wrote:
>> >> From: Chen Hanxiao <chenhanxiao at gmail.com>
>> >> 
>> >> We forget to check the return value of rados_conf_set.
>> >> 
>> >> Signed-off-by: Chen Hanxiao <chenhanxiao at gmail.com>
>> >> ---
>> >>  src/storage/storage_backend_rbd.c | 21 ++++++++++++++++++---
>> >>  1 file changed, 18 insertions(+), 3 deletions(-)
>
>[...]
>
>> >>      VIR_DEBUG("Setting RADOS option rados_mon_op_timeout to %s", mon_op_timeout);
>> >> -    rados_conf_set(ptr->cluster, "rados_mon_op_timeout", mon_op_timeout);
>> >> +    if (rados_conf_set(ptr->cluster, "rados_mon_op_timeout", mon_op_timeout) < 0) {
>> >> +        virReportError(VIR_ERR_INTERNAL_ERROR,
>> >> +                       _("failed to set RADOS option: %s"),
>> >> +                       "rados_mon_op_timeout");
>> >> +        goto cleanup;
>> >> +    }
>> >
>> >Did you have any problems with this? The documentation mentions only one
>> 
>> In a test, I failed in rados_connect once.
>> When I try again, it works.
>
>That looks more like a rados or network problem.
>
>> So I wonder maybe something wrong in rados_conf_set.
>
>That is very unlikely.
>
>> 
>> >error code (ENOENT) if the given config option does not exist in
>> >librados. This would point to us something doing wrong rather than a
>> >random failure and we should address the primary cause.
>> 
>> Any hints?
>
>I'd try to debug why rados_connect failed in the first place. The
>options you added debug statements for don't look critical enough.
>
>Said that, the patch itself is reasonable if you add error reporting for
>all the config options we set.
>

Thanks for your advice.
I'll try to debug that.
v2 will come soon.

Regards,
- Chen




More information about the libvir-list mailing list