spdk-rs
spdk-rs copied to clipboard
fix(channel_reconfig): don't reconfigure the non-IO nexus channel
The sync qpair connect can race with a async connect during an unplug dynamic reconfiguration event. This can happen on the nexus channel that gets created as part of rebuild on spdk thread init_thread
. Since this nexus channel is not used for normal IO, we can ignore this from reconfiguration. The rebuild IOs can still be served on this and the locked byte ranges will still be safe via other nexus channels, but any other child device add/remove will not disturb this channel via dynamic reconfigure path.