Sorry for the delay, had to solve a quarantine issue in order to get access to the list.
Some clarifications regarding the user space application:
1. The application is not the nvmf_tgt, we have an entire applicance to which we are
2. We are currently using nvmf_tgt functions in order to activate spdk, and the bdev_user
in order to handle IO
3. This is all in user space (I am used to the kernel/user distinction in order to
4. The bdev_user will also notify spdk of changes to namespaces (e.g. a new namespace has
been added, and can be attached to the spdk subsystem)
I am glad that this is your intention, the question is, do you think that it would be
useful to create such a bdev_user module which will allow other users to integrate spdk to
their appliance using such a simple threading model? Perhaps such a module will allow
easier integration of spdk.
I am attaching a reference application which is does NULL IO via bdev_user.
Regarding the RPC, we have an implementation of it, and will be happy to push it
I am not sure that using the RPC for this type of bdev_user namespaces is the correct
approach in the long run, since the user appliance is the one adding/removing namespaces
(like hot plugging of a new NVME device), so it can just call the
"add_namespace_to_subsystem" interface directly, and does not need to use an RPC