Hi all, 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 integrating spdk 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 separate protocol/appliance). 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 upstream. 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 for it. Thanks, Shahar