]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: do not return ref to MonOpRequest::get_session() caller
authorSage Weil <sage@redhat.com>
Mon, 14 Sep 2015 14:24:22 +0000 (10:24 -0400)
committerSage Weil <sage@redhat.com>
Mon, 14 Sep 2015 14:24:22 +0000 (10:24 -0400)
Most callers don't put the ref, and since we hold the op ref it's
not necessary.  This will also  make a somewhat cleaner transition
to MonSessionRef later.

Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/AuthMonitor.cc
src/mon/MonOpRequest.h
src/mon/Monitor.cc

index 24cacb31a4da05f1c983c5decd103cefcc9fc068..c948680840bbc2295beee9f6878fd8e6a89ce889 100644 (file)
@@ -452,8 +452,6 @@ bool AuthMonitor::prep_auth(MonOpRequestRef op, bool paxos_writable)
         goto done;
       }
 
-      s->put();
-
       if (!mon->is_leader()) {
        dout(10) << "not the leader, requesting more ids from leader" << dendl;
        int leader = mon->get_leader();
@@ -511,7 +509,6 @@ reply:
   reply = new MAuthReply(proto, &response_bl, ret, s->global_id);
   mon->send_reply(op, reply);
 done:
-  s->put();
   return true;
 }
 
index db08ba26eb8b1f09a7c928269363017fe87abe21..e8339f6c646c1e9f548e866fb8196a91b0d6ad81 100644 (file)
@@ -140,7 +140,7 @@ public:
   MonSession *get_session() const {
     if (!session)
       return NULL;
-    return (MonSession*)session->get();
+    return session;
   }
 
   template<class T>
index 61fed6faec392ba1e1045e6395771d9efe113917..d886272534a69742216c5a46163efded81aeadad 100644 (file)
@@ -3083,8 +3083,6 @@ void Monitor::forward_request_leader(MonOpRequestRef op)
   } else {
     dout(10) << "forward_request no session for request " << *req << dendl;
   }
-  if (session)
-    session->put();
 }
 
 // fake connection attached to forwarded messages
@@ -3166,7 +3164,6 @@ void Monitor::handle_forward(MonOpRequestRef op)
     _ms_dispatch(req);
     s->put();
   }
-  session->put();
 }
 
 void Monitor::try_send_message(Message *m, const entity_inst_t& to)
@@ -3228,7 +3225,6 @@ void Monitor::send_reply(MonOpRequestRef op, Message *reply)
     session->con->send_message(reply);
     op->mark_event("reply: send");
   }
-  session->put();
 }
 
 void Monitor::no_reply(MonOpRequestRef op)
@@ -3261,7 +3257,6 @@ void Monitor::no_reply(MonOpRequestRef op)
              << " " << *req << dendl;
     op->mark_event("no_reply");
   }
-  session->put();
 }
 
 void Monitor::handle_route(MonOpRequestRef op)
@@ -3272,7 +3267,6 @@ void Monitor::handle_route(MonOpRequestRef op)
   if (session && !session->is_capable("mon", MON_CAP_X)) {
     dout(0) << "MRoute received from entity without appropriate perms! "
            << dendl;
-    session->put();
     return;
   }
   if (m->msg)
@@ -3304,8 +3298,6 @@ void Monitor::handle_route(MonOpRequestRef op)
       m->msg = NULL;
     }
   }
-  if (session)
-    session->put();
 }
 
 void Monitor::resend_routed_requests()
@@ -3444,7 +3436,6 @@ void Monitor::dispatch(MonOpRequestRef op)
   if (s && s->closed) {
     caps = s->caps;
     reuse_caps = true;
-    s->put();
     s = NULL;
   }
   Message *m = op->get_req();
@@ -3510,7 +3501,6 @@ void Monitor::dispatch(MonOpRequestRef op)
   } else {
     dispatch_op(op);
   }
-  s->put();
   return;
 }
 
@@ -4207,7 +4197,6 @@ void Monitor::handle_subscribe(MonOpRequestRef op)
   if (reply)
     m->get_connection()->send_message(new MMonSubscribeAck(monmap->get_fsid(), (int)g_conf->mon_subscribe_interval));
 
-  s->put();
 }
 
 void Monitor::handle_get_version(MonOpRequestRef op)
@@ -4252,10 +4241,8 @@ void Monitor::handle_get_version(MonOpRequestRef op)
 
     m->get_connection()->send_message(reply);
   }
-
-
  out:
-  s->put();
+  return;
 }
 
 bool Monitor::ms_handle_reset(Connection *con)