Spdk/examples/nvme/fio_plugin
Daniel Verkamp 19fec6bb9c nvme: add remove callback to spdk_nvme_probe()
This will allow removal notifications to be propagated to the library
user (e.g. for hotplug).

The callback is currently unused, but this at least prepares the API for
the future hotplug support.

Based on a patch by Dave Jiang <dave.jiang@intel.com>

Change-Id: I20b1c2dbf5e084e0b45a7e51205aba4514ee9a95
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-06-28 14:21:58 -07:00
..
.gitignore nvme: Add an fio plugin 2016-05-18 13:51:36 -07:00
example_config.fio nvme: Add an fio plugin 2016-05-18 13:51:36 -07:00
fio_plugin.c nvme: add remove callback to spdk_nvme_probe() 2016-06-28 14:21:58 -07:00
Makefile build: include -lrt and -lpthread in LDFLAGS 2016-06-23 09:04:02 -07:00
README.md fix typo in fio plugin REAME (#25) 2016-06-21 17:08:27 -07:00

Compiling

First, clone the fio source repository from http://github.com/axboe/fio

git clone http://github.com/axboe/fio

Then check out the fio 2.8 tag

cd fio && git checkout fio-2.8

Finally, compile the code with

./configure && make

Next, edit the CONFIG file located in the root of the SPDK repository and set CONFIG_FIO_PLUGIN to y and FIO_SOURCE_DIR to the location of the fio repository that was just created.

Further, you'll need to build DPDK with -fPIC set. You can do this by modifying your DPDK config file (i.e. config/defconfig_x86_64-native-linuxapp-gcc) to include the line

EXTRA_CFLAGS=-fPIC

At this point, build SPDK as per normal. The fio plugin will be placed in the same directory as this README.

Usage

To use the SPDK fio plugin with fio, simply set the following in the fio configuration file (see example_config.fio in the same directory as this README).

ioengine=<path to fio_plugin binary>

To select NVMe devices, you simply pass an identifier as the filename in the format

domain.bus.slot.func/namespace

Remember that NVMe namespaces start at 1, not 0! Also, the notation uses '.' throughout, not ':'. For example - 0000.04.00.0/1.