Spdk/module/bdev
Ziye Yang f99d46d5f7 bdev/aio: move disk free operation in spdk_io_device_unregister's call back
Recently, checked the spdk_io_device_unregister function,
it will have deferred free behaviour, and the io_device
will possibly be freed in put_io_channel function.

And this means that it is not safe to directly call:
    spdk_io_device_unregister (io_device, NULL);
    Then free io_device relately resource.

Because there will be channel to use the resources associated
with io_device. Then we will possibly cause a NULL pointer access.

I found this issue in bdev rbd module, and I think that the
same issue could happen in other modules. So it is better to put the
resource free function as the call back function.

Change-Id: Icc1f86d72b672faefb3b7f416030b818a8cf45ce
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7646
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-05-11 11:50:48 +00:00
..
aio bdev/aio: move disk free operation in spdk_io_device_unregister's call back 2021-05-11 11:50:48 +00:00
compress so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
crypto so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
delay so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
error bdev/error: properly initialize value of num for inject_error RPC 2021-04-15 21:41:05 +00:00
ftl so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
gpt lib/bdev: move to spdk_bdev_part_base_construct_ext() 2021-03-09 08:54:53 +00:00
iscsi nvmf: Support physical block size if exposed by bdev 2021-05-06 07:14:40 +00:00
lvol so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
malloc bdev/malloc: check block size when creating a new block device 2021-03-01 12:07:09 +00:00
null so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme bdev/bdev_nvme: Don't send abort cmd to ctrlr if the reset is running. 2021-05-07 11:40:20 +00:00
ocf ocf/rpc: Add bdev_ocf_set_cache_mode method 2021-03-18 14:39:09 +00:00
passthru so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
pmem so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
raid bdev/raid: remove deprecated parameter strip_size 2021-03-29 07:41:09 +00:00
rbd bdev/rbd: Refactor the parameters in bdev_rbd_init. 2021-04-22 15:42:53 +00:00
split splite/vbdev_split: Free base part bdev on the error path. 2021-03-02 08:02:58 +00:00
uring so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
virtio virtio-blk: add hotplug rpc 2021-04-16 19:21:13 +00:00
zone_block module/zone_block: don't align size to optimal open zones 2021-05-07 20:37:22 +00:00
Makefile bdev: move bdev_rpc library contents 2020-09-25 11:43:42 +00:00