]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
os/bluestore: move aio_callback and aio_callback_priv to class BlockDevice
authormychoxin <mychoxin@gmail.com>
Sat, 12 Aug 2017 08:25:28 +0000 (16:25 +0800)
committermychoxin <mychoxin@gmail.com>
Sat, 12 Aug 2017 08:48:44 +0000 (16:48 +0800)
Signed-off-by: mychoxin <mychoxin@gmail.com>
src/os/bluestore/BlockDevice.h
src/os/bluestore/KernelDevice.cc
src/os/bluestore/KernelDevice.h
src/os/bluestore/NVMEDevice.cc
src/os/bluestore/PMEMDevice.cc

index 45e4df8c5301cc8eb293e4ce9b84889953069f63..0014c686320050f390e03b4889ba2ee152858a59 100644 (file)
@@ -82,6 +82,7 @@ public:
 class BlockDevice {
 public:
   CephContext* cct;
+  typedef void (*aio_callback_t)(void *handle, void *aio);
 private:
   std::mutex ioc_reap_lock;
   std::vector<IOContext*> ioc_reap_queue;
@@ -91,15 +92,18 @@ protected:
   uint64_t size;
   uint64_t block_size;
   bool rotational = true;
+  aio_callback_t aio_callback;
+  void *aio_callback_priv;
 
 public:
-  BlockDevice(CephContext* cct
+  BlockDevice(CephContext* cct, aio_callback_t cb, void *cbpriv)
   : cct(cct),
     size(0),
-    block_size(0)
+    block_size(0),
+    aio_callback(cb),
+    aio_callback_priv(cbpriv)
  {}
   virtual ~BlockDevice() = default;
-  typedef void (*aio_callback_t)(void *handle, void *aio);
 
   static BlockDevice *create(
     CephContext* cct, const std::string& path, aio_callback_t cb, void *cbpriv);
index b1e9126326af54e618fd0675bea1cd460b49d3d6..b0a4cde589cc62d4393817f715d3d67d9e325743 100644 (file)
 #define dout_prefix *_dout << "bdev(" << this << " " << path << ") "
 
 KernelDevice::KernelDevice(CephContext* cct, aio_callback_t cb, void *cbpriv)
-  : BlockDevice(cct),
+  : BlockDevice(cct, cb, cbpriv),
     fd_direct(-1),
     fd_buffered(-1),
     fs(NULL), aio(false), dio(false),
     debug_lock("KernelDevice::debug_lock"),
     aio_queue(cct->_conf->bdev_aio_max_queue_depth),
-    aio_callback(cb),
-    aio_callback_priv(cbpriv),
     aio_stop(false),
     aio_thread(this),
     injecting_crash(0)
index 9999ea282a290e70161b1f5cdc95a426e498065e..26e9c9a051923ec4578220bea464aef22d9f718b 100644 (file)
@@ -36,8 +36,6 @@ class KernelDevice : public BlockDevice {
   std::mutex flush_mutex;
 
   aio_queue_t aio_queue;
-  aio_callback_t aio_callback;
-  void *aio_callback_priv;
   bool aio_stop;
 
   struct AioCompletionThread : public Thread {
index c30ecf61b6d14cfa5313dde3a7f94ce2f34b1536..6c791dbf9973565918f8be98f613897b2ddf4f70 100644 (file)
@@ -855,12 +855,10 @@ void io_complete(void *t, const struct spdk_nvme_cpl *completion)
 #define dout_prefix *_dout << "bdev(" << name << ") "
 
 NVMEDevice::NVMEDevice(CephContext* cct, aio_callback_t cb, void *cbpriv)
-  :   BlockDevice(cct),
+  :   BlockDevice(cct, cb, cbpriv),
       driver(nullptr),
       aio_stop(false),
-      buffer_lock("NVMEDevice::buffer_lock"),
-      aio_callback(cb),
-      aio_callback_priv(cbpriv)
+      buffer_lock("NVMEDevice::buffer_lock")
 {
 }
 
index b86ddc080b21ef7d8a11abc5cce5421bcfddee51..517870162a61fc64baf89e9b2aadbd47c46ad765 100644 (file)
@@ -34,7 +34,7 @@
 #define dout_prefix *_dout << "bdev-PMEM("  << path << ") "
 
 PMEMDevice::PMEMDevice(CephContext *cct, aio_callback_t cb, void *cbpriv)
-  : BlockDevice(cct),
+  : BlockDevice(cct, cb, cbpriv),
     fd(-1), addr(0),
     debug_lock("PMEMDevice::debug_lock"),
     injecting_crash(0)