From: Yan, Zheng Date: Thu, 29 Nov 2018 03:26:36 +0000 (+0800) Subject: client: don't update importing caps' mseq when handing cap export X-Git-Tag: v12.2.11~21^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=70abf75313a29a199652353d923d1f8f263d2a74;p=ceph.git client: don't update importing caps' mseq when handing cap export Updating mseq makes client think importer mds has accepted all prior cap messages and importer mds knows what caps client wants. Actually some cap messages may have been dropped because of mseq mismatch. If mseq is left untouched, importing caps' mds_wanted later will get reset by cap import message. Signed-off-by: "Yan, Zheng" Fixes: http://tracker.ceph.com/issues/37464 (cherry picked from commit d308b54db57591eff6a5e17dfc6c385156a79f53) Conflicts: src/client/Client.cc : Resolved in handle_cap_export --- diff --git a/src/client/Client.cc b/src/client/Client.cc index fc99ad53bef9..560b21586a6e 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -4862,7 +4862,6 @@ void Client::handle_cap_export(MetaSession *session, Inode *in, MClientCaps *m) tcap->cap_id = m->peer.cap_id; tcap->seq = m->peer.seq - 1; tcap->issue_seq = tcap->seq; - tcap->mseq = m->peer.mseq; tcap->issued |= cap->issued; tcap->implemented |= cap->issued; if (cap == in->auth_cap)