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 >