From b4c662c2cf47f7b6f952e776d0212156861eaffb Mon Sep 17 00:00:00 2001 From: John Spray Date: Wed, 11 Oct 2017 11:36:36 +0100 Subject: [PATCH] mds: additional damage handling case in EImportStart Fixes: http://tracker.ceph.com/issues/21759 Signed-off-by: John Spray --- src/mds/journal.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mds/journal.cc b/src/mds/journal.cc index c659c2e7b12..4e6ab183bb8 100644 --- a/src/mds/journal.cc +++ b/src/mds/journal.cc @@ -2959,7 +2959,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(); -- 2.39.5