[libvirt] [PATCH 1/9] fdstream: separate out virCommandPtr cleanup

Cole Robinson crobinso at redhat.com
Mon May 2 14:29:47 UTC 2016


On 05/02/2016 04:48 AM, Michal Privoznik wrote:
> On 25.04.2016 20:46, Cole Robinson wrote:
>> Let's us de-nest some of the logic, and will simplify upcoming
>> patches
>> ---
>>  src/fdstream.c | 73 +++++++++++++++++++++++++++++++++-------------------------
>>  1 file changed, 42 insertions(+), 31 deletions(-)
>>
>> diff --git a/src/fdstream.c b/src/fdstream.c
>> index a6a0fbe..681b90e 100644
>> --- a/src/fdstream.c
>> +++ b/src/fdstream.c
>> @@ -240,6 +240,46 @@ virFDStreamAddCallback(virStreamPtr st,
>>      return ret;
>>  }
>>  
>> +static int
>> +virFDStreamCloseCommand(struct virFDStreamData *fdst)
>> +{
>> +    char buf[1024];
>> +    ssize_t len;
>> +    int status;
>> +    int ret = -1;
>> +
>> +    if (!fdst->cmd)
>> +        return 0;
>> +
>> +    if ((len = saferead(fdst->errfd, buf, sizeof(buf)-1)) < 0)
>> +        buf[0] = '\0';
>> +    else
>> +        buf[len] = '\0';
>> +
>> +    virCommandRawStatus(fdst->cmd);
>> +    if (virCommandWait(fdst->cmd, &status) < 0)
>> +        goto error;
>> +
>> +    if (status != 0) {
>> +        if (buf[0] != '\0') {
>> +            virReportError(VIR_ERR_INTERNAL_ERROR, "%s", buf);
>> +        } else if (WIFEXITED(status)) {
>> +            virReportError(VIR_ERR_INTERNAL_ERROR,
>> +                           _("I/O helper exited with status %d"),
>> +                           WEXITSTATUS(status));
>> +        } else {
>> +            virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>> +                           _("I/O helper exited abnormally"));
>> +        }
>> +        goto error;
>> +    }
>> +
>> +    ret = 0;
>> + error:
> 
> Just a small nit, we tend to name 'cleanup' labels that are used in both
> successful and unsuccessful return paths. So this should be 'cleanup' to
> follow our style.
> 

Thanks for the review. I fixed this and pushed the series now

- Cole




More information about the libvir-list mailing list