From: Jinyong Ha Date: Mon, 24 May 2021 09:45:24 +0000 (+0900) Subject: seastore: move implementation of TestMemory to nvmeblockdevice.cc X-Git-Tag: v17.1.0~1638^2~14 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=46e72c187758e7b1fbb52e0b3c08489bfa234c97;p=ceph.git seastore: move implementation of TestMemory to nvmeblockdevice.cc Signed-off-by: Jinyong Ha --- diff --git a/src/crimson/os/seastore/CMakeLists.txt b/src/crimson/os/seastore/CMakeLists.txt index c697d7e3acbb..ebedd99e131b 100644 --- a/src/crimson/os/seastore/CMakeLists.txt +++ b/src/crimson/os/seastore/CMakeLists.txt @@ -33,7 +33,6 @@ add_library(crimson-seastore STATIC object_data_handler.cc seastore.cc randomblock_manager.cc - nvmedevice/memory.cc nvmedevice/nvmedevice.cc ../../../test/crimson/seastore/test_block.cc ${PROJECT_SOURCE_DIR}/src/os/Transaction.cc diff --git a/src/crimson/os/seastore/nvmedevice/memory.cc b/src/crimson/os/seastore/nvmedevice/memory.cc deleted file mode 100644 index eb371b490503..000000000000 --- a/src/crimson/os/seastore/nvmedevice/memory.cc +++ /dev/null @@ -1,83 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#include -#include - -#include "crimson/common/log.h" - -#include "include/buffer.h" -#include "nvmedevice.h" - -namespace { - seastar::logger& logger() { - return crimson::get_logger(ceph_subsys_filestore); - } -} - -namespace crimson::os::seastore::nvme_device { - -open_ertr::future<> -TestMemory::open(const std::string &in_path, seastar::open_flags mode) -{ - if (buf) { - return open_ertr::now(); - } - - logger().debug( - "Initializing test memory divice {}", - size); - - void* addr = ::mmap( - nullptr, - size, - PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, - -1, - 0); - - buf = (char*)addr; - - ::memset(buf, 0, size); - return open_ertr::now(); -} - -write_ertr::future<> -TestMemory::write( - uint64_t offset, - bufferptr &bptr, - uint16_t stream) -{ - ceph_assert(buf); - logger().debug( - "TestMemory: write offset {} len {}", - offset, - bptr.length()); - - ::memcpy(buf + offset, bptr.c_str(), bptr.length()); - - return write_ertr::now(); -} - -read_ertr::future<> -TestMemory::read( - uint64_t offset, - bufferptr &bptr) -{ - ceph_assert(buf); - logger().debug( - "TestMemory: read offset {} len {}", - offset, - bptr.length()); - - bptr.copy_in(0, bptr.length(), buf + offset); - return read_ertr::now(); -} - -seastar::future<> -TestMemory::close() -{ - logger().debug(" close "); - return seastar::now(); -} - -} diff --git a/src/crimson/os/seastore/nvmedevice/nvmedevice.cc b/src/crimson/os/seastore/nvmedevice/nvmedevice.cc index 4eb89e716c93..acbae6bc268f 100644 --- a/src/crimson/os/seastore/nvmedevice/nvmedevice.cc +++ b/src/crimson/os/seastore/nvmedevice/nvmedevice.cc @@ -91,4 +91,61 @@ seastar::future<> PosixNVMeDevice::close() { logger().debug(" close "); return device.close(); } + +open_ertr::future<> TestMemory::open( + const std::string &in_path, + seastar::open_flags mode) { + if (buf) { + return open_ertr::now(); + } + + logger().debug( + "Initializing test memory divice {}", + size); + + void* addr = ::mmap( + nullptr, + size, + PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, + -1, + 0); + + buf = (char*)addr; + + ::memset(buf, 0, size); + return open_ertr::now(); +} + +write_ertr::future<> TestMemory::write( + uint64_t offset, + bufferptr &bptr, + uint16_t stream) { + ceph_assert(buf); + logger().debug( + "TestMemory: write offset {} len {}", + offset, + bptr.length()); + + ::memcpy(buf + offset, bptr.c_str(), bptr.length()); + + return write_ertr::now(); +} + +read_ertr::future<> TestMemory::read( + uint64_t offset, + bufferptr &bptr) { + ceph_assert(buf); + logger().debug( + "TestMemory: read offset {} len {}", + offset, + bptr.length()); + + bptr.copy_in(0, bptr.length(), buf + offset); + return read_ertr::now(); +} + +seastar::future<> TestMemory::close() { + logger().debug(" close "); + return seastar::now(); +} }