]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
librbd: move SharedPersistentObjectCacher to ParentCacheObjectDispatch
authorshangdehao1 <dehao.shang@intel.com>
Wed, 5 Jun 2019 00:30:04 +0000 (08:30 +0800)
committerJason Dillaman <dillaman@redhat.com>
Mon, 24 Jun 2019 21:35:40 +0000 (17:35 -0400)
Signed-off-by: Dehao Shang <dehao.shang@intel.com>
src/librbd/CMakeLists.txt
src/librbd/cache/ParentCacheObjectDispatch.cc
src/librbd/cache/ParentCacheObjectDispatch.h
src/librbd/cache/SharedPersistentObjectCacher.cc [deleted file]
src/librbd/cache/SharedPersistentObjectCacher.h [deleted file]
src/test/librbd/cache/test_mock_ParentImageCache.cc

index ca82d11b0f759ca6f8961f4b33400c85e3d9dfd4..057d4a95c07fdd0e9aa19349ea5726413f48fda6 100644 (file)
@@ -37,7 +37,6 @@ set(librbd_internal_srcs
   cache/ImageWriteback.cc
   cache/ObjectCacherObjectDispatch.cc
   cache/ParentCacheObjectDispatch.cc
-  cache/SharedPersistentObjectCacher.cc
   cache/ObjectCacherWriteback.cc
   cache/PassthroughImageCache.cc
   cache/WriteAroundObjectDispatch.cc
index af30d28d9f01c076cbb125c5fda7d6b0e7339b56..daa1c1f707fb0f6a09b57dde6324abf72afde6ac 100644 (file)
@@ -145,7 +145,7 @@ int ParentCacheObjectDispatch<I>::handle_register_client(bool reg) {
 
   if (reg) {
     ldout(cct, 20) << "Parent cache open cache handler" << dendl;
-    m_object_store = new SharedPersistentObjectCacher<I>(m_image_ctx, m_image_ctx->shared_cache_path);
+    m_object_store = new SharedPersistentObjectCacher(m_image_ctx, m_image_ctx->shared_cache_path);
   }
   return 0;
 }
@@ -197,6 +197,37 @@ int ParentCacheObjectDispatch<I>::create_cache_session(Context* on_finish, bool
   return 0;
 }
 
+template <typename I>
+ParentCacheObjectDispatch<I>::SharedPersistentObjectCacher::SharedPersistentObjectCacher (
+   I *image_ctx, std::string cache_path)
+  : m_image_ctx(image_ctx) {
+  auto *cct = m_image_ctx->cct;
+  ldout(cct, 20) << dendl;
+}
+
+template <typename I>
+ParentCacheObjectDispatch<I>::SharedPersistentObjectCacher::~SharedPersistentObjectCacher() {
+}
+
+template <typename I>
+int ParentCacheObjectDispatch<I>::SharedPersistentObjectCacher::read_object(
+        std::string file_path, ceph::bufferlist* read_data, uint64_t offset,
+        uint64_t length, Context *on_finish) {
+
+  auto *cct = m_image_ctx->cct;
+  ldout(cct, 20) << "file path: " << file_path << dendl;
+
+  std::string error;
+  int ret = read_data->pread_file(file_path.c_str(), offset, length, &error);
+  if (ret < 0) {
+    ldout(cct, 5) << "read from file return error: " << error
+                  << "file path= " << file_path
+                  << dendl;
+    return ret;
+  }
+  return read_data->length();
+}
+
 } // namespace cache
 } // namespace librbd
 
index 3459f74f26af62b7135c74125be673ae0cba16a0..4bacc278645fa8f4704939f9b5ae4da4af7076e6 100644 (file)
@@ -5,7 +5,7 @@
 #define CEPH_LIBRBD_CACHE_PARENT_CACHER_OBJECT_DISPATCH_H
 
 #include "common/Mutex.h"
-#include "SharedPersistentObjectCacher.h"
+//#include "SharedPersistentObjectCacher.h"
 #include "librbd/io/ObjectDispatchInterface.h"
 #include "tools/immutable_object_cache/CacheClient.h"
 #include "librbd/cache/TypeTraits.h"
@@ -120,6 +120,20 @@ public:
   }
 
 private:
+
+  class SharedPersistentObjectCacher {
+  public:
+
+    SharedPersistentObjectCacher(ImageCtxT *image_ctx, std::string cache_path);
+    ~SharedPersistentObjectCacher();
+
+    int read_object(std::string file_path, ceph::bufferlist* read_data,
+                    uint64_t offset, uint64_t length, Context *on_finish);
+
+  private:
+    ImageCtxT *m_image_ctx;
+  };
+
   void handle_read_cache(
          ceph::immutable_obj_cache::ObjectCacheRequest* ack,
          uint64_t read_off, uint64_t read_len,
@@ -131,7 +145,7 @@ private:
 
   CacheClient *m_cache_client = nullptr;
   ImageCtxT* m_image_ctx;
-  SharedPersistentObjectCacher<ImageCtxT> *m_object_store = nullptr;
+  SharedPersistentObjectCacher *m_object_store = nullptr;
   bool m_initialized;
   std::atomic<bool> m_re_connecting;
 };
diff --git a/src/librbd/cache/SharedPersistentObjectCacher.cc b/src/librbd/cache/SharedPersistentObjectCacher.cc
deleted file mode 100644 (file)
index 3abc4df..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-
-#include "librbd/cache/SharedPersistentObjectCacher.h"
-#include "include/buffer.h"
-#include "common/dout.h"
-#include "librbd/ImageCtx.h"
-
-#define dout_subsys ceph_subsys_rbd
-#undef dout_prefix
-#define dout_prefix *_dout << "librbd::cache::SharedPersistentObjectCacher: " << this \
-                           << " " <<  __func__ << ": "
-
-namespace librbd {
-namespace cache {
-
-template <typename I>
-SharedPersistentObjectCacher<I>::SharedPersistentObjectCacher(I *image_ctx, std::string cache_path)
-  : m_image_ctx(image_ctx) {
-  auto *cct = m_image_ctx->cct;
-  ldout(cct, 20) << dendl;
-}
-
-template <typename I>
-SharedPersistentObjectCacher<I>::~SharedPersistentObjectCacher() {
-}
-
-template <typename I>
-int SharedPersistentObjectCacher<I>::read_object(std::string file_path,
-        ceph::bufferlist* read_data, uint64_t offset, uint64_t length,
-        Context *on_finish) {
-
-  auto *cct = m_image_ctx->cct;
-  ldout(cct, 20) << "file path: " << file_path << dendl;
-
-  std::string error;
-  int ret = read_data->pread_file(file_path.c_str(), offset, length, &error);
-  if (ret < 0) {
-    ldout(cct, 5) << "read from file return error: " << error
-                  << "file path= " << file_path
-                  << dendl;
-    return ret;
-  }
-  return read_data->length();
-}
-
-
-} // namespace cache
-} // namespace librbd
-
-template class librbd::cache::SharedPersistentObjectCacher<librbd::ImageCtx>;
diff --git a/src/librbd/cache/SharedPersistentObjectCacher.h b/src/librbd/cache/SharedPersistentObjectCacher.h
deleted file mode 100644 (file)
index c745700..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-
-#ifndef CEPH_LIBRBD_CACHE_SHARED_PERSISTENT_OBJECT_CACHER
-#define CEPH_LIBRBD_CACHE_SHARED_PERSISTENT_OBJECT_CACHER
-
-#include "include/buffer_fwd.h"
-#include "include/int_types.h"
-#include "common/Mutex.h"
-#include <vector>
-#include <unordered_map>
-
-struct Context;
-
-namespace librbd {
-
-struct ImageCtx;
-
-namespace cache {
-
-template <typename ImageCtxT>
-class SharedPersistentObjectCacher {
-public:
-
-  SharedPersistentObjectCacher(ImageCtxT *image_ctx, std::string cache_path);
-  ~SharedPersistentObjectCacher();
-
-  int read_object(std::string file_path, ceph::bufferlist* read_data,
-                 uint64_t offset, uint64_t length, Context *on_finish);
-
-private:
-  ImageCtxT *m_image_ctx;
-};
-
-} // namespace cache
-} // namespace librbd
-
-extern template class librbd::cache::SharedPersistentObjectCacher<librbd::ImageCtx>;
-
-#endif // CEPH_LIBRBD_CACHE_FILE_IMAGE_STORE
index acfc91e464071f1f82a1b6fda3f0d5d4a5fe3563..fe6482d6020da393cfd8175d2c9a8aaea6f1afb5 100644 (file)
@@ -10,7 +10,6 @@
 #include "tools/immutable_object_cache/CacheClient.h"
 #include "test/immutable_object_cache/MockCacheDaemon.h"
 #include "librbd/cache/ParentCacheObjectDispatch.h"
-#include "librbd/cache/SharedPersistentObjectCacher.h"
 #include "test/librbd/test_mock_fixture.h"
 #include "test/librbd/mock/MockImageCtx.h"
 
@@ -43,9 +42,7 @@ struct TypeTraits<MockParentImageCacheImageCtx> {
 }; // namespace librbd
 
 #include "librbd/cache/ParentCacheObjectDispatch.cc"
-#include "librbd/cache/SharedPersistentObjectCacher.cc"
 template class librbd::cache::ParentCacheObjectDispatch<librbd::MockParentImageCacheImageCtx>;
-template class librbd::cache::SharedPersistentObjectCacher<librbd::MockParentImageCacheImageCtx>;
 
 namespace librbd {