diff options
| author | Vasily Khoruzhick <[email protected]> | 2018-05-14 08:34:36 -0700 |
|---|---|---|
| committer | Joe Hershberger <[email protected]> | 2018-06-13 13:54:16 -0500 |
| commit | d48d40a09127dfcb1f073c3e44de4b858393ae9e (patch) | |
| tree | 47a1aa80f22d3ff9b0a5bbea8e9d285d7805379c | |
| parent | 286bea2e85a73602624b8dc05dd0dfac8e7e4263 (diff) | |
net: nfs: don't fail when nfs_read_reply returns -NFS_RPC_DROP
That can happen if duplicate UDP packet arrived, and that's not uncommon.
Anyway, we ignore packets with rpc_id lower than last we sent for other
requests, so it makes sense to do that for read request as well.
Signed-off-by: Vasily Khoruzhick <[email protected]>
Acked-by: Joe Hershberger <[email protected]>
| -rw-r--r-- | net/nfs.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/nfs.c b/net/nfs.c index 83ed0a7c37c..9a16765ba15 100644 --- a/net/nfs.c +++ b/net/nfs.c @@ -822,6 +822,8 @@ static void nfs_handler(uchar *pkt, unsigned dest, struct in_addr sip, case STATE_READ_REQ: rlen = nfs_read_reply(pkt, len); + if (rlen == -NFS_RPC_DROP) + break; net_set_timeout_handler(nfs_timeout, nfs_timeout_handler); if (rlen > 0) { nfs_offset += rlen; |
