module/raid: add asserts in raid_bdev_configure()
This function should only be called for raid_bdev in 'configuring' state, so convert the 'if' statement that checks that to an assert. Also add an assert for the number of discovered base bdevs. Suggested-by: Jim Harris <james.r.harris@intel.com> Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> Change-Id: Ib2fdf2af64ff0e9b458af4070321d138508a3df8 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/473966 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
182278c093
commit
94ea87541e
@ -1299,6 +1299,9 @@ raid_bdev_configure(struct raid_bdev *raid_bdev)
|
|||||||
struct spdk_bdev *raid_bdev_gen;
|
struct spdk_bdev *raid_bdev_gen;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
|
assert(raid_bdev->state == RAID_BDEV_STATE_CONFIGURING);
|
||||||
|
assert(raid_bdev->num_base_bdevs_discovered == raid_bdev->num_base_bdevs);
|
||||||
|
|
||||||
blocklen = raid_bdev->base_bdev_info[0].bdev->blocklen;
|
blocklen = raid_bdev->base_bdev_info[0].bdev->blocklen;
|
||||||
min_blockcnt = raid_bdev->base_bdev_info[0].bdev->blockcnt;
|
min_blockcnt = raid_bdev->base_bdev_info[0].bdev->blockcnt;
|
||||||
for (uint8_t i = 1; i < raid_bdev->num_base_bdevs; i++) {
|
for (uint8_t i = 1; i < raid_bdev->num_base_bdevs; i++) {
|
||||||
@ -1349,7 +1352,7 @@ raid_bdev_configure(struct raid_bdev *raid_bdev)
|
|||||||
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "io device register %p\n", raid_bdev);
|
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "io device register %p\n", raid_bdev);
|
||||||
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "blockcnt %lu, blocklen %u\n", raid_bdev_gen->blockcnt,
|
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "blockcnt %lu, blocklen %u\n", raid_bdev_gen->blockcnt,
|
||||||
raid_bdev_gen->blocklen);
|
raid_bdev_gen->blocklen);
|
||||||
if (raid_bdev->state == RAID_BDEV_STATE_CONFIGURING) {
|
|
||||||
raid_bdev->state = RAID_BDEV_STATE_ONLINE;
|
raid_bdev->state = RAID_BDEV_STATE_ONLINE;
|
||||||
spdk_io_device_register(raid_bdev, raid_bdev_create_cb, raid_bdev_destroy_cb,
|
spdk_io_device_register(raid_bdev, raid_bdev_create_cb, raid_bdev_destroy_cb,
|
||||||
sizeof(struct raid_bdev_io_channel),
|
sizeof(struct raid_bdev_io_channel),
|
||||||
@ -1366,7 +1369,6 @@ raid_bdev_configure(struct raid_bdev *raid_bdev)
|
|||||||
TAILQ_INSERT_TAIL(&g_raid_bdev_configured_list, raid_bdev, state_link);
|
TAILQ_INSERT_TAIL(&g_raid_bdev_configured_list, raid_bdev, state_link);
|
||||||
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "raid bdev is created with name %s, raid_bdev %p\n",
|
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "raid bdev is created with name %s, raid_bdev %p\n",
|
||||||
raid_bdev_gen->name, raid_bdev);
|
raid_bdev_gen->name, raid_bdev);
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user