]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: don't update importing caps' mseq when handing cap export 25762/head
authorYan, Zheng <zyan@redhat.com>
Thu, 29 Nov 2018 03:26:36 +0000 (11:26 +0800)
committerPrashant D <pdhange@redhat.com>
Thu, 3 Jan 2019 01:08:02 +0000 (20:08 -0500)
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
(cherry picked from commit d308b54db57591eff6a5e17dfc6c385156a79f53)

Conflicts:
src/client/Client.cc : Resolved in handle_cap_export

src/client/Client.cc

index fc99ad53bef945acddac43cc971a78a4e17319bf..560b21586a6e3fee8065e5044800fc91b22a5416 100644 (file)
@@ -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)