RocksDB, at least by default, expects a POSIX compliant filesystem for I/O operations. When you load the SPDK NVMe driver in user space, you are foregoing your ability to use standard Linux kernel filesystems. Therefore, you can't just run RocksDB on top of the SPDK NVMe driver - you have to write some code to replace the filesystem. Fortunately, there are two nice things here that may make this still possible. First, RocksDB has a "pluggable" backend implemented as a base class named "Env" that you can inherit from and override. The stock distribution already provides an implementation to run RocksDB on HDFS, for example. Second, RocksDB uses only a very minimal set of operations when writing to a file, so you wouldn't have to implement the full range of features of a POSIX compliant filesystem. I don't want to minimize the amount of work this would take though - it still requires you to write a significant amount of code. The latest release of Ceph (Jewel) now optionally implements their nodes using RocksDB + custom userspace filesystem + SPDK NVMe driver, so you can refer to that project as an example. On Mon, 2016-04-18 at 22:33 -0500, Parag Panda wrote: Hi, I am planning to run RocksDB on a linux machine which has support of SPDK NVMe driver and not the native one. Can someone guide me through the process? Thanks Parag _______________________________________________ SPDK mailing list SPDK(a)lists.01.org https://lists.01.org/mailman/listinfo/spdk