]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix mds forwarding request 'no_available_op_found' 36107/head
authorYanhu Cao <jrcaoyanhu@jd.com>
Wed, 15 Jul 2020 07:44:19 +0000 (15:44 +0800)
committerYanhu Cao <jrcaoyanhu@jd.com>
Thu, 16 Jul 2020 01:14:16 +0000 (09:14 +0800)
Fixes: https://tracker.ceph.com/issues/46543
Signed-off-by: Yanhu Cao <jrcaoyanhu@jd.com>
src/mds/MDCache.cc
src/mds/Mutation.cc

index caf7cf1c10e371adb6e46afa3d9a03c9cdde0636..a8423edac1882185f121e42d4d1c36e3124233dc 100644 (file)
@@ -9649,7 +9649,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 16f1a7383ab606e030bec2ad4481b66e0abf315c..10b211ecabe6ff07e6ec0f36511d2a623106a92f 100644 (file)
@@ -463,6 +463,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;
 }