]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: log on bad seq 9214/head
authorBrett Niver <bniver@redhat.com>
Thu, 26 May 2016 17:39:43 +0000 (13:39 -0400)
committerBrett Niver <bniver@redhat.com>
Thu, 26 May 2016 17:39:43 +0000 (13:39 -0400)
Fixes: http://tracker.ceph.com/issues/9904
Signed-off-by: Brett Niver <bniver@redhat.com>
src/mds/Server.cc

index 750fb418cef48086229e5beccf5622ee8f9d2270..debac40d7ac6aac79d389557bee80d9ada0fddae 100644 (file)
@@ -349,10 +349,16 @@ void Server::handle_client_session(MClientSession *m)
        m->put();
        return;
       }
+      // We are getting a seq that is higher than expected.
+      // Handle the same as any other seqn error.
+      //
       if (m->get_seq() != session->get_push_seq()) {
-       dout(0) << "old push seq " << m->get_seq() << " != " << session->get_push_seq() 
+       dout(0) << "old push seq " << m->get_seq() << " != " << session->get_push_seq()
                << ", BUGGY!" << dendl;
-       assert(0);
+       mds->clog->warn() << "incorrect push seq " << m->get_seq() << " != "
+                         << session->get_push_seq() << ", dropping" << " from client : " << session->get_human_name();
+       m->put();
+       return;
       }
       journal_close_session(session, Session::STATE_CLOSING, NULL);
     }