[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: |
Jim Meyering |
Subject: |
bug#6131: [PATCH]: fiemap support for efficient sparse file copy |
Date: |
Tue, 28 Sep 2010 10:27:16 +0200 |
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?