fin->last_offset = last_offset;
manifest_fop->chunks++;
- unsigned n = info.pgid.hash_to_shard(osd->m_objecter_finishers);
tid = osd->objecter->mutate(
tgt_soid.oid, oloc, obj_op, snapc,
ceph::real_clock::from_ceph_timespec(obc->obs.oi.mtime),
- flags, new C_OnFinisher(fin, osd->objecter_finishers[n]));
+ flags, new C_OnFinisher(fin, osd->get_objecter_finisher(get_pg_shard())));
fin->tid = tid;
manifest_fop->io_tids[iter->first] = tid;
C_ProxyRead *fin = new C_ProxyRead(this, soid, get_last_peering_reset(),
prdop);
- unsigned n = info.pgid.hash_to_shard(osd->m_objecter_finishers);
ceph_tid_t tid = osd->objecter->read(
soid.oid, oloc, obj_op,
m->get_snapid(), NULL,
- flags, new C_OnFinisher(fin, osd->objecter_finishers[n]),
+ flags, new C_OnFinisher(fin, osd->get_objecter_finisher(get_pg_shard())),
&prdop->user_version,
&prdop->data_offset,
m->get_features());
C_ProxyWrite_Commit *fin = new C_ProxyWrite_Commit(
this, soid, get_last_peering_reset(), pwop);
- unsigned n = info.pgid.hash_to_shard(osd->m_objecter_finishers);
ceph_tid_t tid = osd->objecter->mutate(
soid.oid, oloc, obj_op, snapc,
ceph::real_clock::from_ceph_timespec(pwop->mtime),
- flags, new C_OnFinisher(fin, osd->objecter_finishers[n]),
+ flags, new C_OnFinisher(fin, osd->get_objecter_finisher(get_pg_shard())),
&pwop->user_version, pwop->reqid);
fin->tid = tid;
pwop->objecter_tid = tid;
Context *c = nullptr;
if (cb) {
- unsigned n = info.pgid.hash_to_shard(osd->m_objecter_finishers);
C_SetManifestRefCountDone *fin =
new C_SetManifestRefCountDone(cb, obc->obs.oi.soid);
- c = new C_OnFinisher(fin, osd->objecter_finishers[n]);
+ c = new C_OnFinisher(fin, osd->get_objecter_finisher(get_pg_shard()));
}
auto tid = osd->objecter->mutate(
fin->obc = obc;
fin->req_total_len = req_total_len;
- unsigned n = info.pgid.hash_to_shard(osd->m_objecter_finishers);
ceph_tid_t tid = osd->objecter->read(
soid.oid, oloc, obj_op,
m->get_snapid(), NULL,
- flags, new C_OnFinisher(fin, osd->objecter_finishers[n]),
+ flags, new C_OnFinisher(fin, osd->get_objecter_finisher(get_pg_shard())),
&prdop->user_version,
&prdop->data_offset,
m->get_features());
C_Copyfrom *fin = new C_Copyfrom(this, obc->obs.oi.soid,
get_last_peering_reset(), cop);
- unsigned n = info.pgid.hash_to_shard(osd->m_objecter_finishers);
gather.set_finisher(new C_OnFinisher(fin,
- osd->objecter_finishers[n]));
+ osd->get_objecter_finisher(get_pg_shard())));
ceph_tid_t tid = osd->objecter->read(cop->src.oid, cop->oloc, op,
cop->src.snap, NULL,
C_CopyChunk *fin = new C_CopyChunk(this, obc->obs.oi.soid,
get_last_peering_reset(), cop);
fin->offset = obj_offset;
- unsigned n = info.pgid.hash_to_shard(osd->m_objecter_finishers);
-
- ceph_tid_t tid = osd->objecter->read(soid.oid, oloc, op,
- sub_cop->src.snap, NULL,
- flags,
- new C_OnFinisher(fin, osd->objecter_finishers[n]),
- // discover the object version if we don't know it yet
- sub_cop->results.user_version ? NULL : &sub_cop->results.user_version);
+
+ ceph_tid_t tid = osd->objecter->read(
+ soid.oid, oloc, op,
+ sub_cop->src.snap, NULL,
+ flags,
+ new C_OnFinisher(fin, osd->get_objecter_finisher(get_pg_shard())),
+ // discover the object version if we don't know it yet
+ sub_cop->results.user_version ? NULL : &sub_cop->results.user_version);
fin->tid = tid;
sub_cop->objecter_tid = tid;
if (last_offset < iter->first) {
}
C_Flush *fin = new C_Flush(this, soid, get_last_peering_reset());
- unsigned n = info.pgid.hash_to_shard(osd->m_objecter_finishers);
ceph_tid_t tid = osd->objecter->mutate(
soid.oid, base_oloc, o, snapc,
ceph::real_clock::from_ceph_timespec(oi.mtime),
CEPH_OSD_FLAG_IGNORE_OVERLAY | CEPH_OSD_FLAG_ENFORCE_SNAPC,
new C_OnFinisher(fin,
- osd->objecter_finishers[n]));
+ osd->get_objecter_finisher(get_pg_shard())));
/* we're under the pg lock and fin->finish() is grabbing that */
fin->tid = tid;
fop->objecter_tid = tid;