[PATCH 0/1] Clean up and fix NFS server handling of eof

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Currently, the knfsd server assumes that a short read indicates and
end of file. That assumption is incorrect. The short read means that
either we've hit the end of file, or we've hit a read error.

In the case of a read error, the client may want to retry (as per
the implementation recommendations in RFC1813, and RFC7530), but
currently it is being told that it hit an eof.

The following patch cleans up read, and fixes the eof reporting
to the two following cases:
1) read() returns a zero length short read with no error.
2) the offset+length of the read is >= the file size.

Trond Myklebust (1):
  nfsd: Clean up nfs read eof detection

 fs/nfsd/nfs3proc.c |  9 ++-------
 fs/nfsd/nfs4xdr.c  | 11 +++--------
 fs/nfsd/nfsproc.c  |  4 +++-
 fs/nfsd/vfs.c      | 37 ++++++++++++++++++++++++++-----------
 fs/nfsd/vfs.h      | 28 ++++++----------------------
 fs/nfsd/xdr3.h     |  2 +-
 6 files changed, 41 insertions(+), 50 deletions(-)

-- 
2.21.0




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux