From 70abf75313a29a199652353d923d1f8f263d2a74 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Thu, 29 Nov 2018 11:26:36 +0800 Subject: [PATCH] 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 --- src/client/Client.cc | 1 - 1 file changed, 1 deletion(-) 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) -- 2.47.3