]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_mon: allocate MonitorDBStore on stack
authorMatan Breizman <mbreizma@redhat.com>
Tue, 25 Jul 2023 07:23:48 +0000 (07:23 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Mon, 23 Oct 2023 13:35:23 +0000 (13:35 +0000)
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 58e4ffd0236a8962dfedefff983ecdc317067992)

src/ceph_mon.cc

index 96cdab43b9f8b152893fefffb4832cfb037a4203..7dfe77768f3c02d917deef2abd6ee47dcd6385e2 100644 (file)
@@ -367,7 +367,7 @@ int main(int argc, const char **argv)
     exit(1);
   }
 
-  MonitorDBStore *store = new MonitorDBStore(g_conf()->mon_data);
+  MonitorDBStore store(g_conf()->mon_data);
 
   // -- mkfs --
   if (mkfs) {
@@ -525,7 +525,7 @@ int main(int argc, const char **argv)
 
     // go
     ostringstream oss;
-    int r = store->create_and_open(oss);
+    int r = store.create_and_open(oss);
     if (oss.tellp())
       derr << oss.str() << dendl;
     if (r < 0) {
@@ -535,13 +535,13 @@ int main(int argc, const char **argv)
     }
     ceph_assert(r == 0);
 
-    Monitor mon(g_ceph_context, g_conf()->name.get_id(), store, 0, 0, &monmap);
+    Monitor mon(g_ceph_context, g_conf()->name.get_id(), &store, 0, 0, &monmap);
     r = mon.mkfs(osdmapbl);
     if (r < 0) {
       derr << argv[0] << ": error creating monfs: " << cpp_strerror(r) << dendl;
       exit(1);
     }
-    store->close();
+    store.close();
     dout(0) << argv[0] << ": created monfs at " << g_conf()->mon_data 
            << " for " << g_conf()->name << dendl;
     return 0;
@@ -622,7 +622,7 @@ int main(int argc, const char **argv)
   // make sure we aren't upgrading too fast
   {
     string val;
-    int r = store->read_meta("min_mon_release", &val);
+    int r = store.read_meta("min_mon_release", &val);
     if (r >= 0 && val.size()) {
       ceph_release_t from_release = ceph_release_from_name(val);
       ostringstream err;
@@ -635,7 +635,7 @@ int main(int argc, const char **argv)
 
   {
     ostringstream oss;
-    err = store->open(oss);
+    err = store.open(oss);
     if (oss.tellp())
       derr << oss.str() << dendl;
     if (err < 0) {
@@ -646,7 +646,7 @@ int main(int argc, const char **argv)
   }
 
   bufferlist magicbl;
-  err = store->get(Monitor::MONITOR_NAME, "magic", magicbl);
+  err = store.get(Monitor::MONITOR_NAME, "magic", magicbl);
   if (err || !magicbl.length()) {
     derr << "unable to read magic from mon data" << dendl;
     prefork.exit(1);
@@ -657,7 +657,7 @@ int main(int argc, const char **argv)
     prefork.exit(1);
   }
 
-  err = Monitor::check_features(store);
+  err = Monitor::check_features(&store);
   if (err < 0) {
     derr << "error checking features: " << cpp_strerror(err) << dendl;
     prefork.exit(1);
@@ -675,7 +675,7 @@ int main(int argc, const char **argv)
     }
 
     // get next version
-    version_t v = store->get("monmap", "last_committed");
+    version_t v = store.get("monmap", "last_committed");
     dout(0) << "last committed monmap epoch is " << v << ", injected map will be " << (v+1)
             << dendl;
     v++;
@@ -699,7 +699,7 @@ int main(int argc, const char **argv)
     t->put("monmap", v, mapbl);
     t->put("monmap", "latest", final);
     t->put("monmap", "last_committed", v);
-    store->apply_transaction(t);
+    store.apply_transaction(t);
 
     dout(0) << "done." << dendl;
     prefork.exit(0);
@@ -711,7 +711,7 @@ int main(int argc, const char **argv)
     // note that even if we don't find a viable monmap, we should go ahead
     // and try to build it up in the next if-else block.
     bufferlist mapbl;
-    int err = obtain_monmap(*store, mapbl);
+    int err = obtain_monmap(store, mapbl);
     if (err >= 0) {
       try {
         monmap.decode(mapbl);
@@ -856,7 +856,7 @@ int main(int argc, const char **argv)
     prefork.exit(1);
   }
 
-  mon = new Monitor(g_ceph_context, g_conf()->name.get_id(), store,
+  mon = new Monitor(g_ceph_context, g_conf()->name.get_id(), &store,
                    msgr, mgr_msgr, &monmap);
 
   mon->orig_argc = argc;
@@ -912,7 +912,7 @@ int main(int argc, const char **argv)
   msgr->wait();
   mgr_msgr->wait();
 
-  store->close();
+  store.close();
 
   unregister_async_signal_handler(SIGHUP, handle_mon_signal);
   unregister_async_signal_handler(SIGINT, handle_mon_signal);
@@ -920,7 +920,6 @@ int main(int argc, const char **argv)
   shutdown_async_signal_handler();
 
   delete mon;
-  delete store;
   delete msgr;
   delete mgr_msgr;
   delete client_throttler;