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: v14.1.0~638^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d308b54db57591eff6a5e17dfc6c385156a79f53;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 --- diff --git a/src/client/Client.cc b/src/client/Client.cc index a1a0866c3472..1cb3024a7ffb 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -4898,7 +4898,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)