]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test/osd/RadosModel: fix sparse read result check
authorSage Weil <sage@redhat.com>
Fri, 8 Jan 2016 14:19:36 +0000 (09:19 -0500)
committerSage Weil <sage@redhat.com>
Fri, 8 Jan 2016 18:10:19 +0000 (13:10 -0500)
The object may have trailing zeros.

Signed-off-by: Sage Weil <sage@redhat.com>
src/test/osd/Object.cc

index 4f791cd5e53a229979afb4129c7f6c2a0bc4ad99..699005381d80c3d9abdadfdfbcfc568eeb9c3fbc 100644 (file)
@@ -210,9 +210,14 @@ bool ObjectDesc::check_sparse(const std::map<uint64_t, uint64_t>& extents,
   }
   uint64_t size = layers.empty() ? 0 :
     most_recent_gen()->get_length(most_recent());
-  if (pos != size) {
-    std::cout << "only read " << pos << " out of size " << size << std::endl;
-    return false;
+  while (pos < size) {
+    if (*i != '\0') {
+      std::cout << "sparse read omitted non-zero data at " << pos << std::endl;
+      return false;
+    }
+    ++i;
+    ++pos;
   }
+  assert(pos == size);
   return true;
 }