]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: SnapSet::dump() handle snapid_t not in clone_overlap or clone_size
authorDavid Zafman <dzafman@redhat.com>
Wed, 4 Apr 2018 23:07:09 +0000 (16:07 -0700)
committerDavid Zafman <dzafman@redhat.com>
Tue, 10 Apr 2018 20:26:08 +0000 (13:26 -0700)
Signed-off-by: David Zafman <dzafman@redhat.com>
src/osd/osd_types.cc

index 5b5b90b10997314dd51243a1fa0639aeae2241dd..42b0226f5718bb82d31e5e9406f442d03d2198cc 100644 (file)
@@ -4749,8 +4749,16 @@ void SnapSet::dump(Formatter *f) const
   for (vector<snapid_t>::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");