]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: cancel revoking caps when reconnecting the mds
authorYan, Zheng <zyan@redhat.com>
Fri, 30 Oct 2015 09:28:02 +0000 (17:28 +0800)
committerYan, Zheng <zyan@redhat.com>
Tue, 17 Nov 2015 03:32:26 +0000 (11:32 +0800)
Signed-off-by: Yan, Zheng <zyan@redhat.com>
src/client/Client.cc

index e9824aa53ccb5b479b69ac581ccd7a863fddc292..6dbd8da760492d082b080bb8b51800d6955590d7 100644 (file)
@@ -2492,14 +2492,16 @@ void Client::send_reconnect(MetaSession *session)
       bufferlist flockbl;
       _encode_filelocks(in, flockbl);
 
-      in->caps[mds]->seq = 0;  // reset seq.
-      in->caps[mds]->issue_seq = 0;  // reset seq.
-      in->caps[mds]->mseq = 0;  // reset seq.
+      Cap *cap = in->caps[mds];
+      cap->seq = 0;  // reset seq.
+      cap->issue_seq = 0;  // reset seq.
+      cap->mseq = 0;  // reset seq.
+      cap->issued = cap->implemented;
       m->add_cap(p->first.ino, 
-                in->caps[mds]->cap_id,
+                cap->cap_id,
                 path.get_ino(), path.get_path(),   // ino
                 in->caps_wanted(), // wanted
-                in->caps[mds]->issued,     // issued
+                cap->issued,     // issued
                 in->snaprealm->ino,
                 flockbl);