bdev/crypto: unregister io_device on failure in RPC create

In create_crypto_disk() we were failing to unregsiter the io_device
in the event that spdk_vbdev_register() call failed.  Found via
inspection looking into a CI failure however this potentially could
have caused that failure as well (I don't think so though, there
were no prints in the log that it followed this path).

Change-Id: I7085c4e25665a5a15def38d6726d519731b7e44e
Signed-off-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/432932
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Paul Luse 2018-11-12 16:59:23 -07:00 committed by Jim Harris
parent d2677013f9
commit 7be14ffa98

View File

@ -1230,6 +1230,7 @@ create_crypto_disk(const char *bdev_name, const char *vbdev_name,
SPDK_ERRLOG("could not register crypto_bdev\n");
spdk_bdev_close(crypto_bdev->base_desc);
TAILQ_REMOVE(&g_vbdev_crypto, crypto_bdev, link);
spdk_io_device_unregister(crypto_bdev, NULL);
free(crypto_bdev->crypto_bdev.name);
free(crypto_bdev->key);
free(crypto_bdev);