Re: [PATCH v2 2/2] xfstests: introduce 280 for SEEK_DATA/SEEK_HOLE copy check

Mark Tinguely
2012-02-07T14:17:12Z

On 02/07/12 01:40, Jeff Liu wrote:
> Hi Mark,
>
> On 02/07/2012 06:30 AM, Mark Tinguely wrote:
>
>> On 02/06/12 08:30, Jeff Liu wrote:
>>> Introduce 280 for SEEK_DATA/SEEK_HOLE copy check.
>>>
>>> Signed-off-by: Jie Liu<jeff.liu@oracle.com>
>>>
>>> ---
>>
>>>
>>> diff --git a/src/seek_copy_tester.c b/src/seek_copy_tester.c
>>> new file mode 100644
>>> index 0000000..ddf683f
>>> --- /dev/null
>>> +++ b/src/seek_copy_tester.c
>>
>>> +static size_t
>>> +full_write(int fd, const void *buf, size_t count)
>>> +{
>>> + size_t total = 0;
>>> + const char *ptr = (const char *) buf;
>>> +
>>> + while (count> 0) {
>>> + ssize_t n = write(fd, ptr, count);
>>> + if (n< 0) {
>>> + if (errno == EINTR)
>>> + continue;
>>
>> Wouldn't you want to stop the write loop if interrupted?
>
> As this routine was called "full_write" which means it is expect to write as much as it can.
> So I would keep retrying if the process was interrupted by EINTR.
> Would you please give some opinions whether this approach is not suitable in this circumstance?

Maybe I was thinking wrong. I was thinking if someone had killed the
test and the write was interrupted by the signal, then you would give up
the write loop.

--Mark.