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

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 390779d1aa9b46648e4f5390dc431c255c70385d)

src/test/objectstore/store_test.cc

index 44bd3e21b8218eae5e62cc19e267a8aef610da67..7caa241124a016a855cf5143764255dbe6629a9a 100644 (file)
@@ -3909,16 +3909,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;