]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os: Object::read() returns bufferlist instead of never used errcode. 30380/head
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Mon, 9 Sep 2019 11:38:11 +0000 (13:38 +0200)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 13 Sep 2019 15:57:00 +0000 (17:57 +0200)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/os/cyan_object.cc
src/crimson/os/cyan_object.h
src/crimson/os/cyan_store.cc

index 1612cebe9c595399ad70f8b9fc0b38b7d5de854c..c809e8e0d916b491c8c687890db9aa40188f1bc1 100644 (file)
@@ -7,10 +7,11 @@ size_t Object::get_size() const {
   return data.length();
 }
 
-int Object::read(uint64_t offset, uint64_t len, bufferlist &bl)
+ceph::bufferlist Object::read(uint64_t offset, uint64_t len)
 {
-  bl.substr_of(data, offset, len);
-  return bl.length();
+  bufferlist ret;
+  ret.substr_of(data, offset, len);
+  return ret;
 }
 
 int Object::write(uint64_t offset, const bufferlist &src)
index 4806589daa9538e791b6df4344bf631afe0ce3d9..f23275909546d18764e689c4a287543e4a1f2c7e 100644 (file)
@@ -28,7 +28,7 @@ struct Object : public boost::intrusive_ref_counter<
 
   // interface for object data
   size_t get_size() const;
-  int read(uint64_t offset, uint64_t len, bufferlist &bl);
+  ceph::bufferlist read(uint64_t offset, uint64_t len);
   int write(uint64_t offset, const bufferlist &bl);
   int clone(Object *src, uint64_t srcoff, uint64_t len,
             uint64_t dstoff);
index 650dcb896ad5bd3acd932149a36a0a0b5aa7353d..f7617a9b26b8c5d2010ac42eb11b20f742497312 100644 (file)
@@ -195,11 +195,7 @@ seastar::future<ceph::bufferlist> CyanStore::read(CollectionRef ch,
     l = o->get_size();
   else if (offset + l > o->get_size())
     l = o->get_size() - offset;
-  ceph::bufferlist bl;
-  if (int r = o->read(offset, l, bl); r < 0) {
-    throw std::runtime_error("read");
-  }
-  return seastar::make_ready_future<ceph::bufferlist>(std::move(bl));
+  return seastar::make_ready_future<ceph::bufferlist>(o->read(offset, l));
 }
 
 seastar::future<ceph::bufferptr> CyanStore::get_attr(CollectionRef ch,