]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: use collection handle where possible 7223/head
authorSage Weil <sage@redhat.com>
Mon, 18 Jan 2016 16:10:05 +0000 (11:10 -0500)
committerSage Weil <sage@redhat.com>
Wed, 27 Jan 2016 19:34:51 +0000 (14:34 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/ECBackend.cc
src/osd/PGBackend.cc
src/osd/ReplicatedBackend.cc
src/osd/ReplicatedPG.cc

index f1bcd85f6f98308aa863b17a1440d68d646ac97e..b9b1b04ec229ad6b57ccd31ab8fbfe0065bde61c 100644 (file)
@@ -919,7 +919,7 @@ void ECBackend::handle_sub_read(
           i->second.begin(); j != i->second.end(); ++j) {
       bufferlist bl;
       r = store->read(
-       coll,
+       ch,
        ghobject_t(i->first, ghobject_t::NO_GEN, shard),
        j->get<0>(),
        j->get<1>(),
@@ -976,7 +976,7 @@ error:
     if (reply->errors.count(*i))
       continue;
     int r = store->getattrs(
-      coll,
+      ch,
       ghobject_t(
        *i, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
       reply->attrs_read[*i]);
@@ -1712,7 +1712,7 @@ ECUtil::HashInfoRef ECBackend::get_hash_info(
     dout(10) << __func__ << ": not in cache " << hoid << dendl;
     struct stat st;
     int r = store->stat(
-      coll,
+      ch,
       ghobject_t(hoid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
       &st);
     ECUtil::HashInfo hinfo(ec_impl->get_chunk_count());
@@ -1729,7 +1729,7 @@ ECUtil::HashInfoRef ECBackend::get_hash_info(
        }
       } else {
        r = store->getattr(
-         coll,
+         ch,
          ghobject_t(hoid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
          ECUtil::get_hinfo_key(),
          bl);
@@ -2033,7 +2033,7 @@ int ECBackend::objects_get_attrs(
   map<string, bufferlist> *out)
 {
   int r = store->getattrs(
-    coll,
+    ch,
     ghobject_t(hoid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
     *out);
   if (r < 0)
@@ -2081,7 +2081,7 @@ void ECBackend::be_deep_scrub(
     bufferlist bl;
     handle.reset_tp_timeout();
     r = store->read(
-      coll,
+      ch,
       ghobject_t(
        poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
       pos,
index cc04ac8ce8fa8b6e397cd4c48b3c2f238be2646f..d12c25f2e0c210c071058a4f5768a4840b83d588 100644 (file)
@@ -115,7 +115,7 @@ int PGBackend::objects_list_partial(
   while (!_next.is_max() && ls->size() < (unsigned)min) {
     vector<ghobject_t> objects;
     int r = store->collection_list(
-      coll,
+      ch,
       _next,
       ghobject_t::get_max(),
       parent->sort_bitwise(),
@@ -150,7 +150,7 @@ int PGBackend::objects_list_range(
   assert(ls);
   vector<ghobject_t> objects;
   int r = store->collection_list(
-    coll,
+    ch,
     ghobject_t(start, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
     ghobject_t(end, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
     parent->sort_bitwise(),
@@ -180,7 +180,7 @@ int PGBackend::objects_get_attr(
 {
   bufferptr bp;
   int r = store->getattr(
-    coll,
+    ch,
     ghobject_t(hoid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
     attr.c_str(),
     bp);
@@ -196,7 +196,7 @@ int PGBackend::objects_get_attrs(
   map<string, bufferlist> *out)
 {
   return store->getattrs(
-    coll,
+    ch,
     ghobject_t(hoid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
     *out);
 }
@@ -297,6 +297,7 @@ PGBackend *PGBackend::build_pg_backend(
     return new ECBackend(
       l,
       coll,
+      ch,
       store,
       cct,
       ec_impl,
@@ -326,7 +327,7 @@ void PGBackend::be_scan_list(
 
     struct stat st;
     int r = store->stat(
-      coll,
+      ch,
       ghobject_t(
        poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
       &st,
@@ -336,7 +337,7 @@ void PGBackend::be_scan_list(
       o.size = st.st_size;
       assert(!o.negative);
       store->getattrs(
-       coll,
+       ch,
        ghobject_t(
          poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
        o.attrs);
index 72055dec068fc75b4d5597182a0e219f89c99d6e..52b6d6342026ea1f2f7e1c45c55b13122f8cae5d 100644 (file)
@@ -260,7 +260,7 @@ int ReplicatedBackend::objects_read_sync(
   uint32_t op_flags,
   bufferlist *bl)
 {
-  return store->read(coll, ghobject_t(hoid), off, len, *bl, op_flags);
+  return store->read(ch, ghobject_t(hoid), off, len, *bl, op_flags);
 }
 
 struct AsyncReadCallback : public GenContext<ThreadPool::TPHandle&> {
@@ -291,7 +291,7 @@ void ReplicatedBackend::objects_read_async(
           to_read.begin();
        i != to_read.end() && r >= 0;
        ++i) {
-    int _r = store->read(coll, ghobject_t(hoid), i->first.get<0>(),
+    int _r = store->read(ch, ghobject_t(hoid), i->first.get<0>(),
                         i->first.get<1>(), *(i->second.first),
                         i->first.get<2>());
     if (i->second.second) {
@@ -762,7 +762,7 @@ void ReplicatedBackend::be_deep_scrub(
   while (true) {
     handle.reset_tp_timeout();
     r = store->read(
-         coll,
+         ch,
          ghobject_t(
            poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
          pos,
@@ -2014,7 +2014,7 @@ int ReplicatedBackend::build_push_op(const ObjectRecoveryInfo &recovery_info,
 
   if (progress.first) {
     store->omap_get_header(coll, ghobject_t(recovery_info.soid), &out_op->omap_header);
-    store->getattrs(coll, ghobject_t(recovery_info.soid), out_op->attrset);
+    store->getattrs(ch, ghobject_t(recovery_info.soid), out_op->attrset);
 
     // Debug
     bufferlist bv = out_op->attrset[OI_ATTR];
@@ -2060,7 +2060,7 @@ int ReplicatedBackend::build_push_op(const ObjectRecoveryInfo &recovery_info,
     if (!recovery_info.copy_subset.empty()) {
       interval_set<uint64_t> copy_subset = recovery_info.copy_subset;
       bufferlist bl;
-      int r = store->fiemap(coll, ghobject_t(recovery_info.soid), 0,
+      int r = store->fiemap(ch, ghobject_t(recovery_info.soid), 0,
                             copy_subset.range_end(), bl);
       if (r >= 0)  {
         interval_set<uint64_t> fiemap_included;
@@ -2089,7 +2089,7 @@ int ReplicatedBackend::build_push_op(const ObjectRecoveryInfo &recovery_info,
        p != out_op->data_included.end();
        ++p) {
     bufferlist bit;
-    store->read(coll, ghobject_t(recovery_info.soid),
+    store->read(ch, ghobject_t(recovery_info.soid),
                p.get_start(), p.get_len(), bit,
                 cache_dont_need ? CEPH_OSD_OP_FLAG_FADVISE_DONTNEED: 0);
     if (p.get_len() != bit.length()) {
@@ -2275,7 +2275,7 @@ void ReplicatedBackend::handle_pull(pg_shard_t peer, PullOp &op, PushOp *reply)
 {
   const hobject_t &soid = op.soid;
   struct stat st;
-  int r = store->stat(coll, ghobject_t(soid), &st);
+  int r = store->stat(ch, ghobject_t(soid), &st);
   if (r != 0) {
     get_parent()->clog_error() << get_info().pgid << " "
                               << peer << " tried to pull " << soid
index e3e9e520ecf00ed52d944971be711b10b952a6d8..bf40634afd009f688d103e22e41c871595aa12ed 100644 (file)
@@ -1287,7 +1287,7 @@ void ReplicatedPG::do_pg_op(OpRequestRef op)
            wait_for_unreadable_object(oid, op);
            return;
          }
-         result = osd->store->read(coll, ghobject_t(oid), 0, 0, osd_op.outdata);
+         result = osd->store->read(ch, ghobject_t(oid), 0, 0, osd_op.outdata);
        }
       }
       break;
@@ -4110,8 +4110,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       {
        // read into a buffer
        bufferlist bl;
-       int r = osd->store->fiemap(coll, ghobject_t(soid, ghobject_t::NO_GEN,
-                                                   info.pgid.shard),
+       int r = osd->store->fiemap(ch, ghobject_t(soid, ghobject_t::NO_GEN,
+                                                 info.pgid.shard),
                                   op.extent.offset, op.extent.length, bl);
        osd_op.outdata.claim(bl);
        if (r < 0)
@@ -4144,8 +4144,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
        // read into a buffer
        bufferlist bl;
         uint32_t total_read = 0;
-       int r = osd->store->fiemap(coll, ghobject_t(soid, ghobject_t::NO_GEN,
-                                                   info.pgid.shard),
+       int r = osd->store->fiemap(ch, ghobject_t(soid, ghobject_t::NO_GEN,
+                                                 info.pgid.shard),
                                   op.extent.offset, op.extent.length, bl);
        if (r < 0)  {
          result = r;
@@ -5480,7 +5480,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
       }
       ++ctx->num_read;
       {
-       osd->store->omap_get_header(coll, ghobject_t(soid), &osd_op.outdata);
+       osd->store->omap_get_header(ch, ghobject_t(soid), &osd_op.outdata);
        ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
        ctx->delta_stats.num_rd++;
       }
@@ -5501,7 +5501,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
        tracepoint(osd, do_osd_op_pre_omapgetvalsbykeys, soid.oid.name.c_str(), soid.snap.val, list_entries(keys_to_get).c_str());
        map<string, bufferlist> out;
        if (pool.info.supports_omap()) {
-         osd->store->omap_get_values(coll, ghobject_t(soid), keys_to_get, &out);
+         osd->store->omap_get_values(ch, ghobject_t(soid), keys_to_get, &out);
        } // else return empty omap entries
        ::encode(out, osd_op.outdata);
        ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
@@ -5536,7 +5536,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
               i != assertions.end();
               ++i)
            to_get.insert(i->first);
-         int r = osd->store->omap_get_values(coll, ghobject_t(soid),
+         int r = osd->store->omap_get_values(ch, ghobject_t(soid),
                                              to_get, &out);
          if (r < 0) {
            result = r;
@@ -6846,7 +6846,7 @@ int ReplicatedPG::fill_in_copy_get(
     if (left > 0 && !cursor.omap_complete) {
       assert(cursor.data_complete);
       if (cursor.omap_offset.empty()) {
-       osd->store->omap_get_header(coll, ghobject_t(oi.soid),
+       osd->store->omap_get_header(ch, ghobject_t(oi.soid),
                                    &reply_obj.omap_header);
       }
       bufferlist omap_data;
@@ -11000,7 +11000,7 @@ void ReplicatedPG::check_local()
               << " at " << p->version << dendl;
       struct stat st;
       int r = osd->store->stat(
-       coll,
+       ch,
        ghobject_t(p->soid, ghobject_t::NO_GEN, pg_whoami.shard),
        &st);
       if (r != -ENOENT) {
@@ -11647,7 +11647,7 @@ void ReplicatedPG::agent_load_hit_sets()
        bufferlist bl;
        {
          obc->ondisk_read_lock();
-         int r = osd->store->read(coll, ghobject_t(oid), 0, 0, bl);
+         int r = osd->store->read(ch, ghobject_t(oid), 0, 0, bl);
          assert(r >= 0);
          obc->ondisk_read_unlock();
        }