From: Radoslaw Zarzynski Date: Mon, 9 Sep 2019 11:38:11 +0000 (+0200) Subject: crimson/os: Object::read() returns bufferlist instead of never used errcode. X-Git-Tag: v15.1.0~1552^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4d89d3ff7ea965151f292936da98a54eac07ab25;p=ceph.git crimson/os: Object::read() returns bufferlist instead of never used errcode. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/os/cyan_object.cc b/src/crimson/os/cyan_object.cc index 1612cebe9c5..c809e8e0d91 100644 --- a/src/crimson/os/cyan_object.cc +++ b/src/crimson/os/cyan_object.cc @@ -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) diff --git a/src/crimson/os/cyan_object.h b/src/crimson/os/cyan_object.h index 4806589daa9..f2327590954 100644 --- a/src/crimson/os/cyan_object.h +++ b/src/crimson/os/cyan_object.h @@ -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); diff --git a/src/crimson/os/cyan_store.cc b/src/crimson/os/cyan_store.cc index 650dcb896ad..f7617a9b26b 100644 --- a/src/crimson/os/cyan_store.cc +++ b/src/crimson/os/cyan_store.cc @@ -195,11 +195,7 @@ seastar::future 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(std::move(bl)); + return seastar::make_ready_future(o->read(offset, l)); } seastar::future CyanStore::get_attr(CollectionRef ch,