]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
class: fix adding of class library, when previously existed
authorYehuda Sadeh <yehuda@hq.newdream.net>
Mon, 30 Aug 2010 21:57:27 +0000 (14:57 -0700)
committerYehuda Sadeh <yehuda@hq.newdream.net>
Mon, 30 Aug 2010 22:13:22 +0000 (15:13 -0700)
src/mon/ClassMonitor.cc

index 726fa5854071c1215472569a35f3b5a063d988f9..3b4f624773f531be2116f01a0625486fb82e7c21 100644 (file)
@@ -346,6 +346,8 @@ bool ClassMonitor::prepare_command(MMonCommand *m)
       }
       impl.stamp = g_clock.now();
 
+      bool in_map = list.library_map.find(name) != list.library_map.end();
+
       ClassVersionMap& map = list.library_map[name];
       ClassVersion cv(ver, arch);
       ClassInfo& info = map.m[cv];
@@ -356,7 +358,7 @@ bool ClassMonitor::prepare_command(MMonCommand *m)
       snprintf(store_name, len, "%s.%s.%s", name.c_str(), cv.str(), cv.arch());
       bufferlist prev_bin;
       bool should_store = true;
-      if (!overwrite_opt) {
+      if (!overwrite_opt && in_map) {
         bufferlist bl;
 
         int bin_len = mon->store->get_bl_ss(bl, "class_impl", store_name);