Bdev layer has been recently refactored to share internal module channels for *all* bdevs of the same bdev module. This makes us return ENOMEM for I/O of one bdev if another bdev of the same module (nvme, split, etc) is entirely saturated. This is not the behavior we want, as these bdevs may not have anything in common. This `issue` has been fixed just now, but to prevent it coming back again lets add a unit test for it. This test case creates two bdevs using two separate io_devices and checks if ENOMEM handling is somehow common for these two. It must not be. Change-Id: Ic32ef4b4347b8856d4b9f91107e6f188ad67978e Suggested-by: Ben Walker <benjamin.walker@intel.com> Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/409997 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> |
||
---|---|---|
.. | ||
.gitignore | ||
bdev_ut.c | ||
Makefile |