[Libguestfs] [PATCH v2] file: Normalize errno value for ENODEV

Eric Blake eblake at redhat.com
Tue Jul 31 14:03:17 UTC 2018


On 07/30/2018 02:27 PM, Nir Soffer wrote:

>>> +#if defined(FALLOC_FL_PUNCH_HOLE) || defined(FALLOC_FL_ZERO_RANGE)
>>> +static int
>>> +do_fallocate(int fd, int mode, off_t offset, off_t len)
>>> +{
>>> +  int r = -1;
>>> +  r = fallocate (fd, mode, offset, len);
>>
>> Dead assignment to r in the declaration. Could merge these two lines
>> into one.  Not necessarily worth a respin just for that.
>>
> 
> I tried to keep the style used in this file, but here it is indeed never
> needed.
> 
> 
>>
>>> +  /* kernel 3.10 fails with ENODEV for block device. Kernel >= 4.9 fails
>>> +     with EOPNOTSUPP in this case. Normalize errno to simplify callers.
>> */
>>
>> Comment is slightly misleading - new enough kernels coupled with decent
>> enough block device drivers actually succeed rather than failing. But
>> I'm fine with checking in the comment as worded.
>>
> 
> The comment is only about the error flow. Moving it into the block would
> avoid the confusion.

Okay, I did that, and pushed both this and the #include fix, as touched 
up according to list discussion.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org




More information about the Libguestfs mailing list