]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
BlockDevice: Fix compile error
authorHaomai Wang <haomai@xsky.com>
Mon, 4 Jan 2016 14:30:05 +0000 (22:30 +0800)
committerHaomai Wang <haomai@xsky.com>
Mon, 1 Feb 2016 14:00:42 +0000 (22:00 +0800)
Signed-off-by: Haomai Wang <haomai@xsky.com>
src/os/bluestore/BlockDevice.cc
src/os/bluestore/BlockDevice.h
src/os/bluestore/NVMEDevice.h

index 741921a8d80b4b242d5ffda0f7865a926640c720..528d71114ded92b9f2bfa1ed7cef119abede54f7 100644 (file)
 #include "NVMEDevice.h"
 #endif
 
+#include "common/debug.h"
+
+#define dout_subsys ceph_subsys_bdev
+#undef dout_prefix
+#define dout_prefix *_dout << "bdev "
+
+void IOContext::aio_wait()
+{
+  Mutex::Locker l(lock);
+  // see _aio_thread for waker logic
+  num_waiting.inc();
+  while (num_running.read() > 0 || num_reading.read() > 0) {
+    dout(10) << __func__ << " " << this
+            << " waiting for " << num_running.read() << " aios and/or "
+            << num_reading.read() << " readers to complete" << dendl;
+    cond.Wait(lock);
+  }
+  num_waiting.dec();
+  dout(20) << __func__ << " " << this << " done" << dendl;
+}
+
 BlockDevice *BlockDevice::create(const string& type, aio_callback_t cb, void *cbpriv)
 {
   if (type == "kernel") {
index 59fbbfb8c423fb88ee30bca7871072f0c768734a..b668048e6243cdaea4861a4dbd58682530810fe3 100644 (file)
@@ -17,6 +17,8 @@
 #ifndef CEPH_OS_BLUESTORE_BLOCKDEVICE_H
 #define CEPH_OS_BLUESTORE_BLOCKDEVICE_H
 
+#include "os/fs/FS.h"
+
 /// track in-flight io
 struct IOContext {
   void *priv;
@@ -52,10 +54,11 @@ struct IOContext {
 
 class BlockDevice {
 public:
+  virtual ~BlockDevice() {}
   typedef void (*aio_callback_t)(void *handle, void *aio);
 
-  static BlockDevice *create(CephContext *cct, const string& type,
-                             aio_callback_t cb, void *cbpriv);
+  static BlockDevice *create(
+      const string& type, aio_callback_t cb, void *cbpriv);
 
   virtual void aio_submit(IOContext *ioc) = 0;
 
index 1d529bb0645caff2e1bea47422468c933e9ae889..81a67621288ccbfb66e567b7ebfc68e293af5713 100644 (file)
@@ -17,8 +17,6 @@
 #ifndef CEPH_OS_BLUESTORE_NVMEDEVICE
 #define CEPH_OS_BLUESTORE_NVMEDEVICE
 
-#include "include/interval_set.h"
-
 #include "BlockDevice.h"
 
 class NVMEDevice : public BlockDevice {