]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
client: don't update importing caps' mseq when handing cap export
authorYan, Zheng <zyan@redhat.com>
Thu, 29 Nov 2018 03:26:36 +0000 (11:26 +0800)
committerYan, Zheng <zyan@redhat.com>
Thu, 29 Nov 2018 07:43:51 +0000 (15:43 +0800)
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" <zyan@redhat.com>
Fixes: http://tracker.ceph.com/issues/37464
src/client/Client.cc

index a1a0866c3472527e3194e4f24229b9748a902406..1cb3024a7ffb7d8ec21703a45e0ae9ac6e2c92c6 100644 (file)
@@ -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)