From 4d89d3ff7ea965151f292936da98a54eac07ab25 Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Mon, 9 Sep 2019 13:38:11 +0200 Subject: [PATCH] crimson/os: Object::read() returns bufferlist instead of never used errcode. Signed-off-by: Radoslaw Zarzynski --- src/crimson/os/cyan_object.cc | 7 ++++--- src/crimson/os/cyan_object.h | 2 +- src/crimson/os/cyan_store.cc | 6 +----- 3 files changed, 6 insertions(+), 9 deletions(-) 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, -- 2.39.5