class BlockDevice {
public:
+ typedef void (*aio_callback_t)(void *handle, void *aio);
+
static BlockDevice *create(CephContext *cct, const string& type,
aio_callback_t cb, void *cbpriv);
- virtual aio_submit(IOContext *ioc) = 0;
+ virtual void aio_submit(IOContext *ioc) = 0;
virtual uint64_t get_size() const = 0;
virtual uint64_t get_block_size() const = 0;
#include "BlockDevice.h"
class KernelDevice : public BlockDevice {
-public:
- typedef void (*aio_callback_t)(void *handle, void *aio);
-
-private:
int fd_direct, fd_buffered;
uint64_t size;
uint64_t block_size;
int NVMEDevice::flush()
{
dout(10) << __func__ << " start" << dendl;
- return r;
+ return 0;
}
int NVMEDevice::_aio_start()
int NVMEDevice::invalidate_cache(uint64_t off, uint64_t len)
{
dout(5) << __func__ << " " << off << "~" << len << dendl;
- return r;
+ return 0;
}
#include "BlockDevice.h"
class NVMEDevice : public BlockDevice {
- typedef void (*aio_callback_t)(void *handle, void *aio);
-
- private:
/**
* points to pinned, physically contiguous memory region;
* contains 4KB IDENTIFY structure for controller which is