The Open Channel support in the SPDK bdev nvme module includes a little-known and sparsely
documented feature called parallel unit ranges. This feature enables splitting one Open
Channel namespace into multiple zoned bdevs, using the bdev_ocssd_create RPC multiple
times with non-overlapping parallel unit ranges. Specifics on this feature are currently
not described in the rpc.py help nor jsonrpc.md documentation.
As part of adding multipath support to the SPDK bdev nvme module, the core maintainers
have conferred and plan to remove this parallel unit range feature. This will eliminate
the only case today where one namespace can map to multiple bdevs. This simplifies the
bdev nvme module in general and significantly simplifies the ongoing implementation of
We believe this feature is currently unused. If you happen to be using this feature in
some capacity, please respond here on the mailing list, or join the discussion on the SPDK
#nvme Slack channel to discuss mitigations.
Just to clarify, SPDK is not removing the Open Channel support, only this ability to
emulate multiple zoned bdevs from a single Open Channel namespace.
Show replies by date