]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/memstore: zero-length write should not effect object size
authorSage Weil <sage@redhat.com>
Mon, 20 Jun 2016 13:53:46 +0000 (09:53 -0400)
committerIgor Fedotov <ifedotov@mirantis.com>
Mon, 20 Jun 2016 13:59:45 +0000 (16:59 +0300)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/memstore/MemStore.cc

index f96d472392854a0c1b66d1df92a3152e2f4cd907..9d0a1714ad5d536dac557e903ae7c859187323ef 100644 (file)
@@ -1035,9 +1035,11 @@ int MemStore::_write(const coll_t& cid, const ghobject_t& oid,
     return -ENOENT;
 
   ObjectRef o = c->get_or_create_object(oid);
-  const ssize_t old_size = o->get_size();
-  o->write(offset, bl);
-  used_bytes += (o->get_size() - old_size);
+  if (len > 0) {
+    const ssize_t old_size = o->get_size();
+    o->write(offset, bl);
+    used_bytes += (o->get_size() - old_size);
+  }
 
   return 0;
 }