]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
ceph_test_objectstore: do not change model for 0-length zero
authorSage Weil <sage@redhat.com>
Tue, 24 Oct 2017 20:20:49 +0000 (15:20 -0500)
committerSage Weil <sage@redhat.com>
Tue, 24 Oct 2017 20:20:49 +0000 (15:20 -0500)
We almost fixed this in the pr merged at 2dbbb351e2e0e3703880023bf51f55790f763e04
but missed this piece.

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

index 965e29ac0cea27e9645a86af15d85fe0123a2051..be8971b781c0bc91021db4f9881d3aece86ed2e8 100644 (file)
@@ -3914,16 +3914,18 @@ public:
       len = ROUND_UP_TO(len, write_alignment);
     }
 
-    auto& data = contents[new_obj].data;
-    if (data.length() < offset + len) {
-      data.append_zero(offset+len-data.length());
+    if (len > 0) {
+      auto& data = contents[new_obj].data;
+      if (data.length() < offset + len) {
+       data.append_zero(offset+len-data.length());
+      }
+      bufferlist n;
+      n.substr_of(data, 0, offset);
+      n.append_zero(len);
+      if (data.length() > offset + len)
+       data.copy(offset + len, data.length() - offset - len, n);
+      data.swap(n);
     }
-    bufferlist n;
-    n.substr_of(data, 0, offset);
-    n.append_zero(len);
-    if (data.length() > offset + len)
-      data.copy(offset + len, data.length() - offset - len, n);
-    data.swap(n);
 
     t.zero(cid, new_obj, offset, len);
     ++in_flight;