diff options
author | Sage Weil <sage@inktank.com> | 2013-02-10 10:57:12 -0800 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-03-19 10:30:00 -0700 |
commit | aa74fabd90b776e9938f3d59ea5ed04bd4027dbb (patch) | |
tree | 89e155af5a4011312ea317afbfad25cc04655e08 | |
parent | a30903c6adaa023587d3147179d6038ad37ca520 (diff) | |
download | ceph-aa74fabd90b776e9938f3d59ea5ed04bd4027dbb.tar.gz |
osd: improve debug output on snap collections
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 8b05492ca5f1479589bb19c1ce058b0d0988b74f)
-rw-r--r-- | src/osd/ReplicatedPG.cc | 2 | ||||
-rw-r--r-- | src/osd/osd_types.cc | 16 |
2 files changed, 15 insertions, 3 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 938715dbf08..3e75fe2c7dc 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1438,7 +1438,7 @@ ReplicatedPG::RepGather *ReplicatedPG::trim_object(const hobject_t &coid, dout(10) << "removing coid " << coid << " from snap collections " << to_remove << " and adding to snap collections " - << to_create << dendl; + << to_create << " for final snaps " << coi.snaps << dendl; ctx->log.push_back(pg_log_entry_t(pg_log_entry_t::MODIFY, coid, coi.version, coi.prior_version, osd_reqid_t(), ctx->mtime)); diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index 97b23e35d92..ce28235ee9f 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -1781,8 +1781,20 @@ void pg_log_entry_t::generate_test_instances(list<pg_log_entry_t*>& o) ostream& operator<<(ostream& out, const pg_log_entry_t& e) { - return out << e.version << " (" << e.prior_version << ") " - << e.get_op_name() << ' ' << e.soid << " by " << e.reqid << " " << e.mtime; + out << e.version << " (" << e.prior_version << ") " + << e.get_op_name() << ' ' << e.soid << " by " << e.reqid << " " << e.mtime; + if (e.snaps.length()) { + vector<snapid_t> snaps; + bufferlist c = e.snaps; + bufferlist::iterator p = c.begin(); + try { + ::decode(snaps, p); + } catch (...) { + snaps.clear(); + } + out << " snaps " << snaps; + } + return out; } |