[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#6131: [PATCH]: fiemap support for efficient sparse file copy
From: |
jeff.liu |
Subject: |
bug#6131: [PATCH]: fiemap support for efficient sparse file copy |
Date: |
Wed, 29 Sep 2010 15:35:17 +0800 |
User-agent: |
Thunderbird 2.0.0.14 (X11/20080505) |
Jim Meyering wrote:
> jeff.liu wrote:
>> jeff.liu wrote:
>>> Hi Jim,
>>>
>>> Thanks for your prompt response, I will fix this issue when all review done.
>> Hi Jim,
>>
>> For my current implementation, I just have another thought to remove the
>> "char *fname" from struct
>> extent_scan, and add a new item "int errno" to save the errno set by
>> ioctl(2) or lseek(2) if either
>> call failed.
>> at first, I am intended to use "char *fname" for the debugging purpose
>> inside, however, maybe its
>> better to do such things outside of the module according to the return value
>> and errno. this change
>> can not only reduce the memory allocation for 'fname' but also make a neatly
>> open_extent_scan()
>> interface.
>>
>> /* Structure used to reserve extent scan information per file. */
>> struct extent_scan
>> {
>> ....
>> int errno;
>> ....
>> };
>>
>> void
>> open_extent_scan (int src_fd, struct extent_scan **scan);
>>
>>
>> Is it better?
>
> That would be better.
> Since there is only one diagnostic using that file name
> you can do the same from the caller.
>
> In fact, why store errno in that struct at all?
> Can't you just ensure that errno is set to the proper value when it fails?
Indeed, there is no need to store 'errno'.
Thanks,
-Jeff
>
>
>