From 5a784cd3ebd87d7b626b70600184ecfb26a809c7 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 9 Sep 2014 17:28:54 -0700 Subject: [PATCH] osdc/Objecter: drop bad session nref assert This is a bad assert. Specifically, handle_osd_op_reply may still be holding the session ref while it is calling the completion for a previous request. This is safe: it is only holding the session ref after it dropped the global map rwlock because of the per-session completion locks. The request in question was already marked completed by the time our thread took the session lock. Fixes: #9241 Signed-off-by: Sage Weil --- src/osdc/Objecter.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index 407c38e543f9d..7a05eba364db3 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -1317,7 +1317,6 @@ void Objecter::close_session(OSDSession *s) osd_sessions.erase(s->osd); s->lock.unlock(); - assert(s->get_nref() == 1); // We reassigned any/all ops, so should be last ref put_session(s); // Assign any leftover ops to the homeless session -- 2.47.3