]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix mds forwarding request 'no_available_op_found' 37240/head
authorYanhu Cao <jrcaoyanhu@jd.com>
Wed, 15 Jul 2020 07:44:19 +0000 (15:44 +0800)
committerVicente Cheng <freeze.bilsted@gmail.com>
Fri, 18 Sep 2020 14:52:52 +0000 (14:52 +0000)
Fixes: https://tracker.ceph.com/issues/46543
Signed-off-by: Yanhu Cao <jrcaoyanhu@jd.com>
(cherry picked from commit 4b7f76056d56bd3a1925d2b4c63cc664a1041435)

src/mds/MDCache.cc
src/mds/Mutation.cc

index 88eece19f00bb485c42581b7cc838641626986bd..f19e6001da36d2e685c08cb1f2d8b833546aeba6 100644 (file)
@@ -9625,7 +9625,9 @@ void MDCache::request_finish(MDRequestRef& mdr)
 
 void MDCache::request_forward(MDRequestRef& mdr, mds_rank_t who, int port)
 {
-  mdr->mark_event("forwarding request");
+  CachedStackStringStream css;
+  *css << "forwarding request to mds." << who;
+  mdr->mark_event(css->strv());
   if (mdr->client_request && mdr->client_request->get_source().is_client()) {
     dout(7) << "request_forward " << *mdr << " to mds." << who << " req "
             << *mdr->client_request << dendl;
index d9f3f7cadcc60b049014a2096d964b0027d5f56f..b5ea81543963f02e23d6583c603dc28aa865c510 100644 (file)
@@ -444,6 +444,7 @@ cref_t<MClientRequest> MDRequestImpl::release_client_request()
   msg_lock.lock();
   cref_t<MClientRequest> req;
   req.swap(client_request);
+  client_request = req;
   msg_lock.unlock();
   return req;
 }