]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: cleanup Server::set_trace_dist()
authorYan, Zheng <zyan@redhat.com>
Mon, 30 Sep 2019 06:20:18 +0000 (14:20 +0800)
committerYan, Zheng <zyan@redhat.com>
Thu, 12 Dec 2019 18:04:14 +0000 (02:04 +0800)
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
src/mds/Server.cc
src/mds/Server.h

index 71b1672f301675ac7bf2941ae760dd648438730c..2a4e4f032312ca8d1af412f8f4da782faee64d22 100644 (file)
@@ -1981,8 +1981,7 @@ void Server::early_reply(MDRequestRef& mdr, CInode *tracei, CDentry *tracedn)
     if (tracedn)
       mdr->cap_releases.erase(tracedn->get_dir()->get_inode()->vino());
 
-    set_trace_dist(mdr->session, reply, tracei, tracedn, mdr->snapid,
-                  req->get_dentry_wanted(), mdr);
+    set_trace_dist(reply, tracei, tracedn, mdr);
   }
 
   reply->set_extra_bl(mdr->reply_extra_bl);
@@ -2039,14 +2038,12 @@ void Server::reply_client_request(MDRequestRef& mdr, const ref_t<MClientReply> &
   apply_allocated_inos(mdr, session);
 
   // get tracei/tracedn from mdr?
-  snapid_t snapid = mdr->snapid;
   CInode *tracei = mdr->tracei;
   CDentry *tracedn = mdr->tracedn;
 
   bool is_replay = mdr->client_request->is_replay();
   bool did_early_reply = mdr->did_early_reply;
   entity_inst_t client_inst = req->get_source_inst();
-  int dentry_wanted = req->get_dentry_wanted();
 
   if (!did_early_reply && !is_replay) {
 
@@ -2078,9 +2075,7 @@ void Server::reply_client_request(MDRequestRef& mdr, const ref_t<MClientReply> &
          mdcache->try_reconnect_cap(tracei, session);
       } else {
        // include metadata in reply
-       set_trace_dist(session, reply, tracei, tracedn,
-                      snapid, dentry_wanted,
-                      mdr);
+       set_trace_dist(reply, tracei, tracedn, mdr);
       }
     }
 
@@ -2119,10 +2114,8 @@ void Server::reply_client_request(MDRequestRef& mdr, const ref_t<MClientReply> &
  *
  * trace is in reverse order (i.e. root inode comes last)
  */
-void Server::set_trace_dist(Session *session, const ref_t<MClientReply> &reply,
+void Server::set_trace_dist(const ref_t<MClientReply> &reply,
                            CInode *in, CDentry *dn,
-                           snapid_t snapid,
-                           int dentry_wanted,
                            MDRequestRef& mdr)
 {
   // skip doing this for debugging purposes?
@@ -2136,13 +2129,13 @@ void Server::set_trace_dist(Session *session, const ref_t<MClientReply> &reply,
   // inode, dentry, dir, ..., inode
   bufferlist bl;
   mds_rank_t whoami = mds->get_nodeid();
-  client_t client = session->get_client();
+  Session *session = mdr->session;
+  client_t client = mdr->get_client();
+  snapid_t snapid = mdr->snapid;
   utime_t now = ceph_clock_now();
 
   dout(20) << "set_trace_dist snapid " << snapid << dendl;
 
-  //assert((bool)dn == (bool)dentry_wanted);  // not true for snapshot lookups
-
   // realm
   if (snapid == CEPH_NOSNAP) {
     SnapRealm *realm;
index c1eddd25977ba3c4df14592e196aa3412a134405..b8c1eb26af71002b9f273a6013f6fbb82e026ebb 100644 (file)
@@ -192,9 +192,7 @@ public:
   void perf_gather_op_latency(const cref_t<MClientRequest> &req, utime_t lat);
   void early_reply(MDRequestRef& mdr, CInode *tracei, CDentry *tracedn);
   void respond_to_request(MDRequestRef& mdr, int r = 0);
-  void set_trace_dist(Session *session, const ref_t<MClientReply> &reply, CInode *in, CDentry *dn,
-                     snapid_t snapid,
-                     int num_dentries_wanted,
+  void set_trace_dist(const ref_t<MClientReply> &reply, CInode *in, CDentry *dn,
                      MDRequestRef& mdr);