*pmissing = oid;
return -ENOENT;
}
- dout(10) << "find_object_context " << oid
+ dout(10) << __func__ << " " << oid
<< " @" << oid.snap
<< " oi=" << obc->obs.oi
<< dendl;
}
if (map_snapid_to_clone) {
- dout(10) << "find_object_context " << oid << " @" << oid.snap
+ dout(10) << __func__ << " " << oid << " @" << oid.snap
<< " snapset " << ssc->snapset
<< " map_snapid_to_clone=true" << dendl;
if (oid.snap > ssc->snapset.seq) {
// already must be readable
ObjectContextRef obc = get_object_context(head, false);
- dout(10) << "find_object_context " << oid << " @" << oid.snap
+ dout(10) << __func__ << " " << oid << " @" << oid.snap
<< " snapset " << ssc->snapset
<< " maps to head" << dendl;
*pobc = obc;
ssc->snapset.clones.end(),
oid.snap);
if (citer == ssc->snapset.clones.end()) {
- dout(10) << "find_object_context " << oid << " @" << oid.snap
+ dout(10) << __func__ << " " << oid << " @" << oid.snap
<< " snapset " << ssc->snapset
<< " maps to nothing" << dendl;
put_snapset_context(ssc);
return -ENOENT;
}
- dout(10) << "find_object_context " << oid << " @" << oid.snap
+ dout(10) << __func__ << " " << oid << " @" << oid.snap
<< " snapset " << ssc->snapset
<< " maps to " << oid << dendl;
if (pg_log.get_missing().is_missing(oid)) {
- dout(10) << "find_object_context " << oid << " @" << oid.snap
+ dout(10) << __func__ << " " << oid << " @" << oid.snap
<< " snapset " << ssc->snapset
<< " " << oid << " is missing" << dendl;
if (pmissing)
ObjectContextRef obc = get_object_context(oid, false);
if (!obc || !obc->obs.exists) {
- dout(10) << "find_object_context " << oid << " @" << oid.snap
+ dout(10) << __func__ << " " << oid << " @" << oid.snap
<< " snapset " << ssc->snapset
<< " " << oid << " is not present" << dendl;
if (pmissing)
put_snapset_context(ssc);
return -ENOENT;
}
- dout(10) << "find_object_context " << oid << " @" << oid.snap
+ dout(10) << __func__ << " " << oid << " @" << oid.snap
<< " snapset " << ssc->snapset
<< " " << oid << " HIT" << dendl;
*pobc = obc;
ceph_abort(); //unreachable
}
- dout(10) << "find_object_context " << oid << " @" << oid.snap
+ dout(10) << __func__ << " " << oid << " @" << oid.snap
<< " snapset " << ssc->snapset << dendl;
// head?
if (oid.snap > ssc->snapset.seq) {
ObjectContextRef obc = get_object_context(head, false);
- dout(10) << "find_object_context " << head
+ dout(10) << __func__ << " " << head
<< " want " << oid.snap << " > snapset seq " << ssc->snapset.seq
<< " -- HIT " << obc->obs
<< dendl;
ssc->snapset.clones[k] < oid.snap)
k++;
if (k == ssc->snapset.clones.size()) {
- dout(10) << "find_object_context no clones with last >= oid.snap "
+ dout(10) << __func__ << " no clones with last >= oid.snap "
<< oid.snap << " -- DNE" << dendl;
put_snapset_context(ssc);
return -ENOENT;
info.pgid.pool(), oid.get_namespace());
if (pg_log.get_missing().is_missing(soid)) {
- dout(20) << "find_object_context " << soid << " missing, try again later"
+ dout(20) << __func__ << " " << soid << " missing, try again later"
<< dendl;
if (pmissing)
*pmissing = soid;
ssc = 0;
// clone
- dout(20) << "find_object_context " << soid
+ dout(20) << __func__ << " " << soid
<< " snapset " << obc->ssc->snapset
<< dendl;
snapid_t first, last;
first = p->second.back();
last = p->second.front();
if (first <= oid.snap) {
- dout(20) << "find_object_context " << soid << " [" << first << "," << last
+ dout(20) << __func__ << " " << soid << " [" << first << "," << last
<< "] contains " << oid.snap << " -- HIT " << obc->obs << dendl;
*pobc = obc;
return 0;
} else {
- dout(20) << "find_object_context " << soid << " [" << first << "," << last
+ dout(20) << __func__ << " " << soid << " [" << first << "," << last
<< "] does not contain " << oid.snap << " -- DNE" << dendl;
return -ENOENT;
}
{
object_info_t& oi = obc->obs.oi;
- dout(10) << "add_object_context_to_pg_stat " << oi.soid << dendl;
+ dout(10) << __func__ << " " << oi.soid << dendl;
assert(!oi.soid.is_snapdir());
object_stat_sum_t stat;
}
}
-/** pull - request object from a peer
- */
-
/*
* Return values:
* NONE - didn't pull anything
* YES - pulled what the caller wanted
- * OTHER - needed to pull head first
+ * HEAD - needed to pull head first
*/
enum { PULL_NONE, PULL_HEAD, PULL_YES };
PGBackend::RecoveryHandle *h)
{
if (missing_loc.is_unfound(soid)) {
- dout(7) << "pull " << soid
+ dout(7) << __func__ << " " << soid
<< " v " << v
<< " but it is unfound" << dendl;
return PULL_NONE;
void PrimaryLogPG::finish_degraded_object(const hobject_t& oid)
{
- dout(10) << "finish_degraded_object " << oid << dendl;
+ dout(10) << __func__ << " " << oid << dendl;
if (callbacks_for_degraded_object.count(oid)) {
list<Context*> contexts;
contexts.swap(callbacks_for_degraded_object[oid]);
{
lock();
if (!pg_has_reset_since(epoch)) {
- dout(10) << "_committed_pushed_object last_complete " << last_complete << " now ondisk" << dendl;
+ dout(10) << __func__ << " last_complete " << last_complete << " now ondisk" << dendl;
last_complete_ondisk = last_complete;
if (last_complete_ondisk == info.last_update) {
}
} else {
- dout(10) << "_committed_pushed_object pg has changed, not touching last_complete_ondisk" << dendl;
+ dout(10) << __func__ << " pg has changed, not touching last_complete_ondisk" << dendl;
}
unlock();
if (!is_peered() || !is_primary()) {
pair<hobject_t, ObjectContextRef> i;
while (object_contexts.get_next(i.first, &i)) {
- derr << "on_flushed: object " << i.first << " obc still alive" << dendl;
+ derr << __func__ << ": object " << i.first << " obc still alive" << dendl;
}
assert(object_contexts.empty());
}
void PrimaryLogPG::on_removal(ObjectStore::Transaction *t)
{
- dout(10) << "on_removal" << dendl;
+ dout(10) << __func__ << dendl;
// adjust info to backfill
info.set_last_backfill(hobject_t());
last_backfill_started = earliest_backfill();
new_backfill = true;
assert(!last_backfill_started.is_max());
- dout(5) << "on activate: bft=" << backfill_targets
+ dout(5) << __func__ << ": bft=" << backfill_targets
<< " from " << last_backfill_started << dendl;
for (set<pg_shard_t>::iterator i = backfill_targets.begin();
i != backfill_targets.end();
void PrimaryLogPG::on_change(ObjectStore::Transaction *t)
{
- dout(10) << "on_change" << dendl;
+ dout(10) << __func__ << dendl;
if (hit_set && hit_set->insert_count() == 0) {
dout(20) << " discarding empty hit_set" << dendl;
void PrimaryLogPG::on_role_change()
{
- dout(10) << "on_role_change" << dendl;
+ dout(10) << __func__ << dendl;
if (get_role() != 0 && hit_set) {
dout(10) << " clearing hit set" << dendl;
hit_set_clear();
++p;
continue;
}
- ldout(pg->cct, 10) << "check_recovery_sources source osd." << *p << " now down" << dendl;
+ ldout(pg->cct, 10) << __func__ << " source osd." << *p << " now down" << dendl;
now_down.insert(*p);
missing_loc_sources.erase(p++);
}
if (now_down.empty()) {
- ldout(pg->cct, 10) << "check_recovery_sources no source osds (" << missing_loc_sources << ") went down" << dendl;
+ ldout(pg->cct, 10) << __func__ << " no source osds (" << missing_loc_sources << ") went down" << dendl;
} else {
- ldout(pg->cct, 10) << "check_recovery_sources sources osds " << now_down << " now down, remaining sources are "
+ ldout(pg->cct, 10) << __func__ << " sources osds " << now_down << " now down, remaining sources are "
<< missing_loc_sources << dendl;
// filter missing_loc
const auto &missing = pg_log.get_missing();
- dout(10) << "recover_primary recovering " << recovering.size()
- << " in pg" << dendl;
- dout(10) << "recover_primary " << missing << dendl;
- dout(25) << "recover_primary " << missing.get_items() << dendl;
+ dout(10) << __func__ << " recovering " << recovering.size()
+ << " in pg,"
+ << " missing " << missing << dendl;
+
+ dout(25) << __func__ << " " << missing.get_items() << dendl;
// look at log!
pg_log_entry_t *latest = 0;
eversion_t need = item.need;
- dout(10) << "recover_primary "
+ dout(10) << __func__ << " "
<< soid << " " << item.need
<< (missing.is_missing(soid) ? " (missing)":"")
<< (missing.is_missing(head) ? " (missing head)":"")
uint64_t max,
ThreadPool::TPHandle &handle, bool *work_started)
{
- dout(10) << "recover_backfill (" << max << ")"
+ dout(10) << __func__ << " (" << max << ")"
<< " bft=" << backfill_targets
<< " last_backfill_started " << last_backfill_started
<< (new_backfill ? " new_backfill":"")