From: David Zafman Date: Wed, 4 Apr 2018 23:07:09 +0000 (-0700) Subject: osd: SnapSet::dump() handle snapid_t not in clone_overlap or clone_size X-Git-Tag: v13.1.0~334^2~3 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=866a52e5673e296a66dfa9407dcf9375f80b7f73;p=ceph.git osd: SnapSet::dump() handle snapid_t not in clone_overlap or clone_size Signed-off-by: David Zafman --- diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index 5b5b90b109973..42b0226f5718b 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -4749,8 +4749,16 @@ void SnapSet::dump(Formatter *f) const for (vector::const_iterator p = clones.begin(); p != clones.end(); ++p) { f->open_object_section("clone"); f->dump_unsigned("snap", *p); - f->dump_unsigned("size", clone_size.find(*p)->second); - f->dump_stream("overlap") << clone_overlap.find(*p)->second; + auto cs = clone_size.find(*p); + if (cs != clone_size.end()) + f->dump_unsigned("size", cs->second); + else + f->dump_string("size", "????"); + auto co = clone_overlap.find(*p); + if (co != clone_overlap.end()) + f->dump_stream("overlap") << co->second; + else + f->dump_stream("overlap") << "????"; auto q = clone_snaps.find(*p); if (q != clone_snaps.end()) { f->open_array_section("snaps");