[M] Change in ...nfs-ganesha[next]: Check whether request is a real replay to warn kernel's bug
liyinshu has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/542321 ) Change subject: Check whether request is a real replay to warn kernel's bug ...................................................................... Check whether request is a real replay to warn kernel's bug If client use kernel 4.14.81 in https://kernel.org/, sometimes different requests share the same slot and sequenceid, ganesha thinks the latter request is a replay of former request, so return the response of the former request as the reply of the latter request. It can cause client hangs forever. For example, OP_SEQUENCE comes first, and then comes OP_GETATTR which share the same slot and sequenceid with the former OP_SEQUENCE, and ganesha reply NFS4ERR_RETRY_UNCACHED_REP. Then nfs-client will retry send the OP_GETATTR with the same slot and sequenceid, and ganesha still reply NFS4ERR_RETRY_UNCACHED_REP, ..., this will last forever. This bug, i.e. different requests share the same slot and sequenceid, disappers in kernel 5.4.143, fixed by some previous version. Change-Id: I9108d3bbe5310c3eaf0c1d600668a18b9dabbf76 Signed-off-by: liyinshu <liyinshu@bytedance.com> --- M src/Protocols/NFS/nfs4_Compound.c M src/Protocols/NFS/nfs4_op_sequence.c M src/include/nfs_proto_functions.h M src/include/sal_data.h 4 files changed, 169 insertions(+), 2 deletions(-) git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/21/542321/1 -- To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/542321 To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings Gerrit-Project: ffilz/nfs-ganesha Gerrit-Branch: next Gerrit-Change-Id: I9108d3bbe5310c3eaf0c1d600668a18b9dabbf76 Gerrit-Change-Number: 542321 Gerrit-PatchSet: 1 Gerrit-Owner: liyinshu <liyinshu@bytedance.com> Gerrit-MessageType: newchange
participants (1)
-
liyinshu (GerritHub)