From 55099fb05b76ac7f4f72a41fa77ad9672711a93d Mon Sep 17 00:00:00 2001 From: Mahati Chamarthy Date: Fri, 6 Nov 2020 17:39:55 +0530 Subject: [PATCH] librbd/cache: Implement aio_write operation ...along with load_existing_entries and shutdown cache operation Signed-off-by: Lisa Li Signed-off-by: Mahati Chamarthy Signed-off-by: Changcheng Liu --- src/common/options.cc | 5 +- src/librbd/CMakeLists.txt | 11 +- src/librbd/cache/Types.h | 1 + src/librbd/cache/Utils.h | 6 +- src/librbd/cache/pwl/AbstractWriteLog.cc | 113 ++- src/librbd/cache/pwl/AbstractWriteLog.h | 92 +- src/librbd/cache/pwl/Builder.h | 54 ++ src/librbd/cache/pwl/ImageCacheState.cc | 4 +- src/librbd/cache/pwl/ImageCacheState.h | 10 +- src/librbd/cache/pwl/InitRequest.cc | 28 +- src/librbd/cache/pwl/LogEntry.cc | 113 +-- src/librbd/cache/pwl/LogEntry.h | 150 ++-- src/librbd/cache/pwl/LogOperation.cc | 105 +-- src/librbd/cache/pwl/LogOperation.h | 74 +- src/librbd/cache/pwl/Request.cc | 176 ++-- src/librbd/cache/pwl/Request.h | 97 +-- src/librbd/cache/pwl/SSDWriteLog.cc | 160 ---- src/librbd/cache/pwl/SSDWriteLog.h | 104 --- src/librbd/cache/pwl/ShutdownRequest.h | 1 - src/librbd/cache/pwl/Types.cc | 18 +- src/librbd/cache/pwl/Types.h | 18 +- src/librbd/cache/pwl/rwl/Builder.h | 94 ++ src/librbd/cache/pwl/rwl/LogEntry.cc | 97 +++ src/librbd/cache/pwl/rwl/LogEntry.h | 67 ++ src/librbd/cache/pwl/rwl/LogOperation.cc | 30 + src/librbd/cache/pwl/rwl/LogOperation.h | 40 + src/librbd/cache/pwl/rwl/Request.cc | 85 ++ src/librbd/cache/pwl/rwl/Request.h | 90 ++ .../WriteLog.cc} | 272 +++--- .../{ReplicatedWriteLog.h => rwl/WriteLog.h} | 40 +- src/librbd/cache/pwl/ssd/Builder.h | 94 ++ src/librbd/cache/pwl/ssd/LogEntry.cc | 59 ++ src/librbd/cache/pwl/ssd/LogEntry.h | 69 ++ src/librbd/cache/pwl/ssd/Request.cc | 64 ++ src/librbd/cache/pwl/ssd/Request.h | 92 ++ .../cache/pwl/{SSDTypes.h => ssd/Types.h} | 6 +- src/librbd/cache/pwl/ssd/WriteLog.cc | 812 ++++++++++++++++++ src/librbd/cache/pwl/ssd/WriteLog.h | 145 ++++ src/test/librbd/CMakeLists.txt | 15 +- .../cache/pwl/test_mock_ReplicatedWriteLog.cc | 7 +- .../librbd/cache/pwl/test_mock_SSDWriteLog.cc | 238 +++++ src/test/librbd/test_fixture.cc | 3 +- src/test/librbd/test_librbd.cc | 4 +- src/test/librbd/test_mock_ExclusiveLock.cc | 2 +- src/test/librbd/test_support.cc | 7 +- src/test/librbd/test_support.h | 2 +- src/tools/ceph-dencoder/rbd_types.h | 6 +- 47 files changed, 2758 insertions(+), 1022 deletions(-) create mode 100644 src/librbd/cache/pwl/Builder.h delete mode 100644 src/librbd/cache/pwl/SSDWriteLog.cc delete mode 100644 src/librbd/cache/pwl/SSDWriteLog.h create mode 100644 src/librbd/cache/pwl/rwl/Builder.h create mode 100644 src/librbd/cache/pwl/rwl/LogEntry.cc create mode 100644 src/librbd/cache/pwl/rwl/LogEntry.h create mode 100644 src/librbd/cache/pwl/rwl/LogOperation.cc create mode 100644 src/librbd/cache/pwl/rwl/LogOperation.h create mode 100644 src/librbd/cache/pwl/rwl/Request.cc create mode 100644 src/librbd/cache/pwl/rwl/Request.h rename src/librbd/cache/pwl/{ReplicatedWriteLog.cc => rwl/WriteLog.cc} (86%) rename src/librbd/cache/pwl/{ReplicatedWriteLog.h => rwl/WriteLog.h} (80%) create mode 100644 src/librbd/cache/pwl/ssd/Builder.h create mode 100644 src/librbd/cache/pwl/ssd/LogEntry.cc create mode 100644 src/librbd/cache/pwl/ssd/LogEntry.h create mode 100644 src/librbd/cache/pwl/ssd/Request.cc create mode 100644 src/librbd/cache/pwl/ssd/Request.h rename src/librbd/cache/pwl/{SSDTypes.h => ssd/Types.h} (86%) create mode 100644 src/librbd/cache/pwl/ssd/WriteLog.cc create mode 100644 src/librbd/cache/pwl/ssd/WriteLog.h create mode 100644 src/test/librbd/cache/pwl/test_mock_SSDWriteLog.cc diff --git a/src/common/options.cc b/src/common/options.cc index 57901687e77..8926a37e368 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -7730,8 +7730,9 @@ static std::vector