orig_ctx = NULL;
}
+ostream& operator<<(ostream& out, const PG::BackfillInterval& bi)
+{
+ out << "BackfillInfo(" << bi.begin << "-" << bi.end
+ << " " << bi.objects.size() << " objects";
+ if (!bi.objects.empty())
+ out << " " << bi.objects;
+ out << ")";
+ return out;
+}
+
void intrusive_ptr_add_ref(PG *pg) { pg->get("intptr"); }
void intrusive_ptr_release(PG *pg) { pg->put("intptr"); }
set<int> heartbeat_peers;
set<int> probe_targets;
-protected:
/**
* BackfillInterval
*
f->close_section();
}
};
-
+
+protected:
BackfillInterval backfill_info;
map<pg_shard_t, BackfillInterval> peer_backfill_info;
bool backfill_reserved;
ostream& operator<<(ostream& out, const PG& pg);
+ostream& operator<<(ostream& out, const PG::BackfillInterval& bi);
+
#endif
backfill_pos = MIN_HOBJ(backfill_info.begin, earliest_peer_backfill(),
get_sort_bitwise());
- dout(20) << " my backfill interval " << backfill_info.begin << "-" << backfill_info.end
- << " " << backfill_info.objects.size() << " objects"
- << " " << backfill_info.objects
- << dendl;
+ dout(20) << " my backfill interval " << backfill_info << dendl;
bool sent_scan = false;
for (set<pg_shard_t>::iterator i = backfill_targets.begin();
pg_shard_t bt = *i;
BackfillInterval& pbi = peer_backfill_info[bt];
- dout(20) << " peer shard " << bt << " backfill " << pbi.begin << "-"
- << pbi.end << " " << pbi.objects << dendl;
+ dout(20) << " peer shard " << bt << " backfill " << pbi << dendl;
if (cmp(pbi.begin, backfill_info.begin, get_sort_bitwise()) <= 0 &&
!pbi.extends_to_end() && pbi.empty()) {
dout(10) << " scanning peer osd." << bt << " from " << pbi.end << dendl;