From 05fb67a5e9be3a93ed844c52c410a11755af1c3e Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 29 Jul 2020 16:01:20 +0800 Subject: [PATCH] crimson: move read_file() into common/buffer_io so it can be reused by other components in crimson Signed-off-by: Kefu Chai --- src/crimson/auth/KeyRing.cc | 12 +----------- src/crimson/common/buffer_io.cc | 14 ++++++++++++++ src/crimson/common/buffer_io.h | 2 ++ 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/crimson/auth/KeyRing.cc b/src/crimson/auth/KeyRing.cc index 7fe4f5edf78..436e29c1bdd 100644 --- a/src/crimson/auth/KeyRing.cc +++ b/src/crimson/auth/KeyRing.cc @@ -13,21 +13,11 @@ #include "common/buffer_seastar.h" #include "auth/KeyRing.h" #include "include/denc.h" +#include "crimson/common/buffer_io.h" #include "crimson/common/config_proxy.h" namespace crimson::auth { -seastar::future> read_file(const std::string& path) -{ - return seastar::open_file_dma(path, seastar::open_flags::ro).then([] (seastar::file f) { - return f.size().then([f = std::move(f)](size_t s) { - return seastar::do_with(seastar::make_file_input_stream(f), [s](seastar::input_stream& in) { - return in.read_exactly(s); - }); - }); - }); -} - seastar::future load_from_keyring(KeyRing* keyring) { std::vector paths; diff --git a/src/crimson/common/buffer_io.cc b/src/crimson/common/buffer_io.cc index 68355684559..0e436d98b59 100644 --- a/src/crimson/common/buffer_io.cc +++ b/src/crimson/common/buffer_io.cc @@ -37,4 +37,18 @@ seastar::future<> write_file(ceph::buffer::list&& bl, }); } +seastar::future> +read_file(const seastar::sstring fn) +{ + return seastar::open_file_dma(fn, seastar::open_flags::ro).then( + [] (seastar::file f) { + return f.size().then([f = std::move(f)](size_t s) { + return seastar::do_with(seastar::make_file_input_stream(f), + [s](seastar::input_stream& in) { + return in.read_exactly(s); + }); + }); + }); +} + } diff --git a/src/crimson/common/buffer_io.h b/src/crimson/common/buffer_io.h index 0a98ec58fc2..c5ece4a6fba 100644 --- a/src/crimson/common/buffer_io.h +++ b/src/crimson/common/buffer_io.h @@ -16,4 +16,6 @@ namespace crimson { seastar::file_permissions::user_write | seastar::file_permissions::group_read | seastar::file_permissions::others_read)); + seastar::future> + read_file(const seastar::sstring fn); } -- 2.39.5