We have to process only the first call of destroy_raid_bdev RPC
for the same RAID bdev.
The existing flag destruct_called cannot be used for that purpose
because of the following reason.
destruct_called is set to true in both of
- destroy_raid_bdev RPC
- hot removal of any base bdev.
If destruct_called is set in destroy_raid_bdev RPC, destroy_raid_bdev
RPC must return immediately, but if destruct_called is set in hot
removal of any base bdev, destroy_raid_bdev RPC must go forward
with the current logic.
Hence add another flag destroy_started to struct raid_bdev and
use it.
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450885 (master)
(cherry picked from commit
|
||
---|---|---|
.. | ||
bdev_raid_rpc.c | ||
bdev_raid.c | ||
bdev_raid.h | ||
Makefile |