On 10/26/11 8:01 PM, "Roopa Prabhu" <ropra...@cisco.com> wrote:
>
>
>
> On 10/24/11 11:14 AM, "Stefan Berger" <stef...@linux.vnet.ibm.com> wrote:
>
>> On 10/20/2011 01:46 PM, Roopa Prabhu wrote:
>>> From: Roopa Prabhu<ropra...@cisco.com>
>>>
>>> Fixes some cases where 1 was being returned instead of -1.
>>> There are still some inconsistencies in the file with respect
>>> to what the return variable is initialized to. Can be fixed
>>> as a separate patch if needed. The scope of this patch is just
>>> to fix the return value 1. Did some basic sanity test.
>>>
>>> Signed-off-by: Roopa Prabhu<ropra...@cisco.com>
>>> Reported-by: Eric Blake<ebl...@redhat.com>
>>> ---
>>> src/util/macvtap.c | 22 ++++++++--------------
>>> 1 files changed, 8 insertions(+), 14 deletions(-)
>>>
>>>
>>> diff --git a/src/util/macvtap.c b/src/util/macvtap.c
>>> index 7fd6eb5..f8b9d55 100644
>>> --- a/src/util/macvtap.c
>>> +++ b/src/util/macvtap.c
>>> @@ -480,7 +480,7 @@ getPortProfileStatus(struct nlattr **tb, int32_t vf,
>>> bool is8021Qbg,
>>> uint16_t *status)
>>> {
>>> - int rc = 1;
>>> + int rc = -1;
>>> const char *msg = NULL;
>>> struct nlattr *tb_port[IFLA_PORT_MAX + 1] = { NULL, };
>>>
>>> @@ -806,7 +806,7 @@ sassm...@redhat.com(bool nltarget_kernel,
>>> _("error %d during port-profile setlink on "
>>> "interface %s (%d)"),
>>> status, ifname, ifindex);
>>> - rc = 1;
>>> + rc = -1;
>>> break;
>>> }
>>>
>> In this function we later on return a -ETIMEDOUT. The -1 doesn't overlap
>> with it, but I am wondering whether we should return -EFAULT in the
>> places of -1 now ?
>>
> Instead of defaulting to -EFAULT, shall I just add a function to map the
> port profile/VDP status codes to closest errno (with default being unknown
> error) and use that instead ?.
> Also, for some reason we are reporting EINVAL in the virReportSystemError
> just above it. EINVAL also does not seem right there.
>
> I can fix it.
> Thanks,
> Roopa
>
Also, looks like no where else in libvirt code we return errno. We only
print errno but always return -1. And the -ETIMEDOUT case in macvtap is an
exception, cause the upper layer requires the cause of this particular
error.
I don't mind changing everything to errno. But that seems to be not the
convention. And I cant find a clean way to not return -ETIMEDOUT. I can
however return status of the command in an argument and return -1 for the
ETIMEDOUT case. I will do that unless you have other suggestions. Thanks.
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list