From d1d99df2742f5d7eb6dac8e0ee34e26eab7de812 Mon Sep 17 00:00:00 2001 From: David Zafman Date: Mon, 17 Mar 2014 15:46:05 -0700 Subject: [PATCH] osd: Improve logging output including pg_shard_t as osd#(shard) Signed-off-by: David Zafman --- src/osd/PG.cc | 10 +++++++--- src/osd/osd_types.cc | 6 +++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 1b18d83ec5932..09bbc14de7b15 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -536,7 +536,9 @@ bool PG::needs_recovery() const const pg_missing_t &missing = pg_log.get_missing(); if (missing.num_missing()) { - dout(10) << __func__ << " primary has " << missing.num_missing() << dendl; + dout(10) << __func__ << " primary has " << missing.num_missing() + << " missing" << dendl; + ret = true; } @@ -549,12 +551,14 @@ bool PG::needs_recovery() const pg_shard_t peer = *a; map::const_iterator pm = peer_missing.find(peer); if (pm == peer_missing.end()) { - dout(10) << __func__ << " osd." << peer << " don't have missing set" << dendl; + dout(10) << __func__ << " osd." << peer << " doesn't have missing set" + << dendl; ret = true; continue; } if (pm->second.num_missing()) { - dout(10) << __func__ << " osd." << peer << " has " << pm->second.num_missing() << " missing" << dendl; + dout(10) << __func__ << " osd." << peer << " has " + << pm->second.num_missing() << " missing" << dendl; ret = true; } } diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index f57ab0cf242bd..09fdd6840c8df 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -82,7 +82,11 @@ void pg_shard_t::decode(bufferlist::iterator &bl) ostream &operator<<(ostream &lhs, const pg_shard_t &rhs) { - return lhs << '(' << rhs.osd << ',' << (unsigned)(rhs.shard) << ')'; + if (rhs.is_undefined()) + return lhs << "?"; + if (rhs.shard == ghobject_t::NO_SHARD) + return lhs << rhs.osd; + return lhs << rhs.osd << '(' << (unsigned)(rhs.shard) << ')'; } // -- osd_reqid_t -- -- 2.39.5