Commit 71affe9b authored by Trond Myklebust's avatar Trond Myklebust

NFSv2: Fix eof handling

If we received a reply from the server with a zero length read and
no error, then that implies we are at eof.
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 96c41455
...@@ -594,7 +594,8 @@ static int nfs_read_done(struct rpc_task *task, struct nfs_pgio_header *hdr) ...@@ -594,7 +594,8 @@ static int nfs_read_done(struct rpc_task *task, struct nfs_pgio_header *hdr)
/* Emulate the eof flag, which isn't normally needed in NFSv2 /* Emulate the eof flag, which isn't normally needed in NFSv2
* as it is guaranteed to always return the file attributes * as it is guaranteed to always return the file attributes
*/ */
if (hdr->args.offset + hdr->res.count >= hdr->res.fattr->size) if ((hdr->res.count == 0 && hdr->args.count > 0) ||
hdr->args.offset + hdr->res.count >= hdr->res.fattr->size)
hdr->res.eof = 1; hdr->res.eof = 1;
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment