Vidya.Thumukunta@ibm.com has uploaded this change for review.
Fix RD5a pynfs nfs4.0 failure by handling very large READ offsets
pynfs4.0 test RD5a (testVeryLargeOffset) expected NFS4_OK with 0 bytes
and eof=TRUE when a READ is issued beyond the max file offset, but
Ganesha was returning NFS4ERR_FBIG.
As Per RFC 7530:
- If offset ≥ file size, server must return NFS4_OK with zero-length data
and eof=TRUE.
- NFS4ERR_FBIG is not a valid error for READ.
This patch updates nfs4_op_read() to:
- Return NFS4_OK with 0 bytes and eof=TRUE if offset ≥ MaxOffsetRead.
- Clamp size when (offset + size) would exceed MaxOffsetRead.
- Stop using NFS4ERR_FBIG for READ requests.
Change-Id: Ia91fd00214e8f02c2d4d3366c4c521d9fedb1f85
Signed-off-by: VidyaThumukunta <Vidya.Thumukunta@ibm.com>
---
M src/Protocols/NFS/nfs4_op_read.c
1 file changed, 19 insertions(+), 6 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/94/1223094/1
To view, visit change 1223094. To unsubscribe, or for help writing mail filters, visit settings.