]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mds: add more debug logs before crashing the MDS
authorXiubo Li <xiubli@redhat.com>
Thu, 28 Jul 2022 08:46:35 +0000 (16:46 +0800)
committerXiubo Li <xiubli@redhat.com>
Thu, 4 Aug 2022 23:45:21 +0000 (07:45 +0800)
Print the detail confilicting requests before crashing the MDS.

Fixes: https://tracker.ceph.com/issues/57044
Signed-off-by: Xiubo Li <xiubli@redhat.com>
src/mds/MDCache.cc

index 2d27cbf137ec4328896cb74e4ba0a5d9992bbc29..1d7beca8e8cc68441f2179fa114003993422a844 100644 (file)
@@ -9652,9 +9652,14 @@ MDRequestRef MDCache::request_start_internal(int op)
   MDRequestRef mdr =
       mds->op_tracker.create_request<MDRequestImpl,MDRequestImpl::Params*>(&params);
 
-  ceph_assert(active_requests.count(mdr->reqid) == 0);
+  if (active_requests.count(mdr->reqid)) {
+    auto& _mdr = active_requests[mdr->reqid];
+    dout(0) << __func__ << " existing " << *_mdr << " op " << _mdr->internal_op << dendl;
+    dout(0) << __func__ << " new " << *mdr << " op " << op << dendl;
+    ceph_abort();
+  }
   active_requests[mdr->reqid] = mdr;
-  dout(7) << "request_start_internal " << *mdr << " op " << op << dendl;
+  dout(7) << __func__ << " " << *mdr << " op " << op << dendl;
   return mdr;
 }