Re: [PATCH] ext4: Remove repeated test in ext4_file_read_iter.

From: Sean Fu
Date: Tue Jan 16 2018 - 03:10:46 EST


On Wed, Jan 10, 2018 at 03:02:55PM -0500, Theodore Ts'o wrote:
> On Wed, Jan 10, 2018 at 10:01:49PM +0800, Sean Fu wrote:
> >
> > Correct, IOCB_NOWAIT read with zero count can return -EAGAIN, But I
> > think that it is reasonable. while it got lock, zero would be returned
> > in this case.
>
> Returning -EAGAIN and 0 are not the same thing. Specifically
> returning 0 means "end of file". Hence, it is NOT reasonable.
>
I know that two returnning value mean different things.
once the inode is not under lock contention, read again with zero count
would return zero.
> See the man page for read(2) or the relevant Single Unix Specification
> standard:
>
> RETURN VALUE
> On success, the number of bytes read is returned (zero indicates
> end of file)....
>
> Changing the behavior of the system in which will break userspace is
> never acceptable, and even more so given that this is just a "cleanup
> patch".
>
I agree with you at this point.
Thanks for your reply.

> - Ted
>