module/raid: remove destruct_called
Checking the raid_bdev state is sufficient. Change-Id: I86c7f4b547236a58031e8f480c7621e40f63ce12 Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15472 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
This commit is contained in:
parent
dccdd1e5f8
commit
4ad1ac9036
@ -286,7 +286,6 @@ raid_bdev_destruct(void *ctxt)
|
|||||||
|
|
||||||
SPDK_DEBUGLOG(bdev_raid, "raid_bdev_destruct\n");
|
SPDK_DEBUGLOG(bdev_raid, "raid_bdev_destruct\n");
|
||||||
|
|
||||||
raid_bdev->destruct_called = true;
|
|
||||||
RAID_FOR_EACH_BASE_BDEV(raid_bdev, base_info) {
|
RAID_FOR_EACH_BASE_BDEV(raid_bdev, base_info) {
|
||||||
/*
|
/*
|
||||||
* Close all base bdev descriptors for which call has come from below
|
* Close all base bdev descriptors for which call has come from below
|
||||||
@ -629,7 +628,6 @@ raid_bdev_dump_info_json(void *ctx, struct spdk_json_write_ctx *w)
|
|||||||
spdk_json_write_named_uint32(w, "strip_size_kb", raid_bdev->strip_size_kb);
|
spdk_json_write_named_uint32(w, "strip_size_kb", raid_bdev->strip_size_kb);
|
||||||
spdk_json_write_named_uint32(w, "state", raid_bdev->state);
|
spdk_json_write_named_uint32(w, "state", raid_bdev->state);
|
||||||
spdk_json_write_named_string(w, "raid_level", raid_bdev_level_to_str(raid_bdev->level));
|
spdk_json_write_named_string(w, "raid_level", raid_bdev_level_to_str(raid_bdev->level));
|
||||||
spdk_json_write_named_uint32(w, "destruct_called", raid_bdev->destruct_called);
|
|
||||||
spdk_json_write_named_uint32(w, "num_base_bdevs", raid_bdev->num_base_bdevs);
|
spdk_json_write_named_uint32(w, "num_base_bdevs", raid_bdev->num_base_bdevs);
|
||||||
spdk_json_write_named_uint32(w, "num_base_bdevs_discovered", raid_bdev->num_base_bdevs_discovered);
|
spdk_json_write_named_uint32(w, "num_base_bdevs_discovered", raid_bdev->num_base_bdevs_discovered);
|
||||||
spdk_json_write_name(w, "base_bdevs_list");
|
spdk_json_write_name(w, "base_bdevs_list");
|
||||||
@ -1126,8 +1124,7 @@ raid_bdev_remove_base_bdev(struct spdk_bdev *base_bdev)
|
|||||||
assert(base_info->desc);
|
assert(base_info->desc);
|
||||||
base_info->remove_scheduled = true;
|
base_info->remove_scheduled = true;
|
||||||
|
|
||||||
if (raid_bdev->destruct_called == true ||
|
if (raid_bdev->state != RAID_BDEV_STATE_ONLINE) {
|
||||||
raid_bdev->state != RAID_BDEV_STATE_ONLINE) {
|
|
||||||
/*
|
/*
|
||||||
* As raid bdev is not registered yet or already unregistered,
|
* As raid bdev is not registered yet or already unregistered,
|
||||||
* so cleanup should be done here itself.
|
* so cleanup should be done here itself.
|
||||||
@ -1197,8 +1194,7 @@ raid_bdev_delete(struct raid_bdev *raid_bdev, raid_bdev_destruct_cb cb_fn, void
|
|||||||
RAID_FOR_EACH_BASE_BDEV(raid_bdev, base_info) {
|
RAID_FOR_EACH_BASE_BDEV(raid_bdev, base_info) {
|
||||||
base_info->remove_scheduled = true;
|
base_info->remove_scheduled = true;
|
||||||
|
|
||||||
if (raid_bdev->destruct_called == true ||
|
if (raid_bdev->state != RAID_BDEV_STATE_ONLINE) {
|
||||||
raid_bdev->state != RAID_BDEV_STATE_ONLINE) {
|
|
||||||
/*
|
/*
|
||||||
* As raid bdev is not registered yet or already unregistered,
|
* As raid bdev is not registered yet or already unregistered,
|
||||||
* so cleanup should be done here itself.
|
* so cleanup should be done here itself.
|
||||||
|
@ -127,9 +127,6 @@ struct raid_bdev {
|
|||||||
/* Raid Level of this raid bdev */
|
/* Raid Level of this raid bdev */
|
||||||
enum raid_level level;
|
enum raid_level level;
|
||||||
|
|
||||||
/* Set to true if destruct is called for this raid bdev */
|
|
||||||
bool destruct_called;
|
|
||||||
|
|
||||||
/* Set to true if destroy of this raid bdev is started. */
|
/* Set to true if destroy of this raid bdev is started. */
|
||||||
bool destroy_started;
|
bool destroy_started;
|
||||||
|
|
||||||
|
@ -831,7 +831,6 @@ verify_raid_bdev(struct rpc_bdev_raid_create *r, bool presence, uint32_t raid_st
|
|||||||
CU_ASSERT(pbdev->num_base_bdevs == r->base_bdevs.num_base_bdevs);
|
CU_ASSERT(pbdev->num_base_bdevs == r->base_bdevs.num_base_bdevs);
|
||||||
CU_ASSERT(pbdev->num_base_bdevs_discovered == r->base_bdevs.num_base_bdevs);
|
CU_ASSERT(pbdev->num_base_bdevs_discovered == r->base_bdevs.num_base_bdevs);
|
||||||
CU_ASSERT(pbdev->level == r->level);
|
CU_ASSERT(pbdev->level == r->level);
|
||||||
CU_ASSERT(pbdev->destruct_called == false);
|
|
||||||
CU_ASSERT(pbdev->base_bdev_info != NULL);
|
CU_ASSERT(pbdev->base_bdev_info != NULL);
|
||||||
RAID_FOR_EACH_BASE_BDEV(pbdev, base_info) {
|
RAID_FOR_EACH_BASE_BDEV(pbdev, base_info) {
|
||||||
CU_ASSERT(base_info->bdev != NULL);
|
CU_ASSERT(base_info->bdev != NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user