+6
−1
Loading
Deferred descriptor removal invocation under bdev_unregister() does not account for the possibility of bdev_unregister being entered multiple times for the same bdev (which is possible thanks to multiple paths to unregistration - consider bdev hotremove callback and _spdk_bdev_finish_unregister_bdevs_iter iterator - being present). Therefore, currently nothing prevents _remove_notify for the same bdev descriptor from being scheduled multiple times. This commit adds boolean remove_scheduled field to struct spdk_bdev_desc. The value is set when remove_notify for the descriptor is being scheduled for the first time, and checked on subsequent attempts. Change-Id: If2c5a365c05c4123c50edf5a2db164be9dd26f8e Signed-off-by:Andrey Kuzmin <andrey.v.kuzmin@gmail.com> Reviewed-on: https://review.gerrithub.io/415319 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> Reviewed-by:
Ben Walker <benjamin.walker@intel.com>