]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #29322 from rzarzynski/wip-objclass-cleanup
authorKefu Chai <kchai@redhat.com>
Sat, 3 Aug 2019 12:25:39 +0000 (20:25 +0800)
committerGitHub <noreply@github.com>
Sat, 3 Aug 2019 12:25:39 +0000 (20:25 +0800)
objclass, osd: clean up the cls-host interface. Turn ClassHandler into singleton

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
1  2 
src/CMakeLists.txt
src/objclass/class_api.cc
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PrimaryLogPG.cc

Simple merge
Simple merge
diff --cc src/osd/OSD.cc
index 1724ca213b7de4f2dd97efb10d275f110373c868,e2f6325e52a671c3cc2790cd881b3160e0f4dd46..d67002909e9ef25188a8be1e0e16bc0f34f334c6
@@@ -2866,20 -2864,9 +2862,17 @@@ int OSD::init(
      if (r < 0)
        goto out;
    }
 +  if (!store->exists(service.meta_ch, OSD::make_purged_snaps_oid())) {
 +    dout(10) << "init creating/touching purged_snaps object" << dendl;
 +    ObjectStore::Transaction t;
 +    t.touch(coll_t::meta(), OSD::make_purged_snaps_oid());
 +    r = store->queue_transaction(service.meta_ch, std::move(t));
 +    if (r < 0)
 +      goto out;
 +  }
  
-   class_handler = new ClassHandler(cct);
-   cls_initialize(class_handler);
    if (cct->_conf->osd_open_classes_on_start) {
-     int r = class_handler->open_all_classes();
+     int r = ClassHandler::get_instance().open_all_classes();
      if (r)
        dout(1) << "warning: got an error loading one or more classes: " << cpp_strerror(r) << dendl;
    }
diff --cc src/osd/OSD.h
Simple merge
Simple merge