Spdk/lib/bdev
Tomasz Zawadzki b6aaba0852 bdev: remove vbdevs during spdk_bdev_unregister()
spdk_vbdev_unregister() is part of internal bdev API,
yet bdev module that uses spdk_vbdev_register() directly
will not be removed correctly when using delete_bdev RPC.
spdk_vbdev_unregister() is now consolidated with
spdk_bdev_unregister().

This comes up when deleting lvol bdev, as it does not use
spdk_bdev_part_* functions.
base_bdev->vbdevs entry was not removed for bdev that lvs
is created on.

Additionally patch expands test to create lvol bdev,
after removing it using delete_bdev RPC.
With ASAN enabled this would report accessing
already freed memory previously.

Change-Id: I9547e83862e2daa50355d56a1c9f453aaa6cfdb8
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/395711
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-01-24 15:50:04 -05:00
..
aio util: add spdk_strerror() wrapper with TLS support 2018-01-04 15:00:09 -05:00
error bdev/error: add bdev_part hotremove callback 2018-01-03 12:11:26 -05:00
gpt build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
lvol bdev: remove vbdevs during spdk_bdev_unregister() 2018-01-24 15:50:04 -05:00
malloc build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
null build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
nvme build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
pmem util: add spdk_strerror() wrapper with TLS support 2018-01-04 15:00:09 -05:00
rbd bdev: unregister all bdevs in spdk_bdev_finish() 2017-12-21 13:29:29 -05:00
rpc bdev: Return aliases list through get_bdevs 2018-01-04 13:15:09 -05:00
split build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
virtio bdev/virtio/rpc: add RPC to attach virtio-pci device 2018-01-23 22:49:21 -05:00
bdev.c bdev: remove vbdevs during spdk_bdev_unregister() 2018-01-24 15:50:04 -05:00
Makefile build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
scsi_nvme.c nvme_spec: remove SGL Sub Type Invalid status code 2017-09-22 17:11:53 -04:00
vtune.c bdev: #include VTune file to control warnings 2017-06-08 12:44:25 -04:00