From: John Spray Date: Wed, 11 Oct 2017 10:36:36 +0000 (+0100) Subject: mds: additional damage handling case in EImportStart X-Git-Tag: v12.2.3~28^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7a8e915483397d740e3be3815ece23f4cd3c6b7a;p=ceph.git mds: additional damage handling case in EImportStart Fixes: http://tracker.ceph.com/issues/21759 Signed-off-by: John Spray (cherry picked from commit b4c662c2cf47f7b6f952e776d0212156861eaffb) --- diff --git a/src/mds/journal.cc b/src/mds/journal.cc index b63fbd980c8..70163f1f15d 100644 --- a/src/mds/journal.cc +++ b/src/mds/journal.cc @@ -2964,7 +2964,14 @@ void EImportStart::replay(MDSRank *mds) bufferlist::iterator blp = client_map.begin(); ::decode(cm, blp); mds->sessionmap.open_sessions(cm); - assert(mds->sessionmap.get_version() == cmapv); + if (mds->sessionmap.get_version() != cmapv) + { + derr << "sessionmap version " << mds->sessionmap.get_version() + << " != cmapv " << cmapv << dendl; + mds->clog->error() << "failure replaying journal (EImportStart)"; + mds->damaged(); + ceph_abort(); // Should be unreachable because damaged() calls respawn() + } mds->sessionmap.set_projected(mds->sessionmap.get_version()); } update_segment();