]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: compare nlinks to snapcolls
authorSamuel Just <sam.just@inktank.com>
Thu, 10 Jan 2013 00:41:40 +0000 (16:41 -0800)
committerSamuel Just <sam.just@inktank.com>
Wed, 16 Jan 2013 22:42:47 +0000 (14:42 -0800)
nlinks gives us the number of hardlinks to the object.
nlinks should be 1 + snapcolls.size().  This will allow
us to detect links which remain in an erroneous snap
collection.

Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/ReplicatedPG.cc

index d0fcc0dd14df484fec66bc608aba1554f5f4ec93..9c1ec7f648aa95464f4d059aa192e9a41e7a6310 100644 (file)
@@ -7247,6 +7247,12 @@ bool ReplicatedPG::_report_snap_collection_errors(
        << std::endl;
     errors = true;
   }
+  if (nlinks != snapcolls.size() + 1) {
+    out << info.pgid << " osd." << osd << " unaccounted for links on object "
+       << hoid << " snapcolls " << snapcolls << " nlinks " << nlinks
+       << std::endl;
+    errors = true;
+  }
   return errors;
 }