Spdk/module/bdev/xnvme
Krishna Kanth Reddy 78ff96bb73 bdev_xnvme: free bdev_xnvme structure after device is fully unregistered
Fix for the issue 2702.
spdk_bdev plugin crashes while handling xnvme devices.

xnvme_queue_term gets invoked after the bdev_xnvme_free executes and
frees the xnvme structures. xnvme_queue_term references the xnvme->dev
structure, after it is freed, resulting in a segmentation fault.

Implemented a bdev_xnvme_destruct_cb, that frees the xnvme structures
after the xnvme_queue_term invokes and the device is fully unregistered.

Signed-off-by: Krishna Kanth Reddy <krish.reddy@samsung.com>
Change-Id: I9338c84baf4b61ec2e0d324e67bfefcb96485156
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14680
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
2022-09-28 06:47:35 +00:00
..
bdev_xnvme_rpc.c bdev : xNVMe BDEV module implementation 2022-07-15 12:52:13 +00:00
bdev_xnvme.c bdev_xnvme: free bdev_xnvme structure after device is fully unregistered 2022-09-28 06:47:35 +00:00
bdev_xnvme.h bdev : xNVMe BDEV module implementation 2022-07-15 12:52:13 +00:00
Makefile bdev : xNVMe BDEV module implementation 2022-07-15 12:52:13 +00:00