bdev/raid: Unify data type of number of base bdevs to uint8_t
Data type of number of base bdevs are corrupted. uint8_t is enough and unify almost all related variables into uint8_t. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I323aaa229a76c3d5b5361d7643c3a9591ccad340 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464357 Reviewed-by: yidong0635 <dongx.yi@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
441ecc09ae
commit
e5f28d5d39
@ -196,7 +196,7 @@ raid_bdev_cleanup(struct raid_bdev *raid_bdev)
|
|||||||
* non zero - failure
|
* non zero - failure
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
raid_bdev_free_base_bdev_resource(struct raid_bdev *raid_bdev, uint32_t base_bdev_slot)
|
raid_bdev_free_base_bdev_resource(struct raid_bdev *raid_bdev, uint8_t base_bdev_slot)
|
||||||
{
|
{
|
||||||
struct raid_base_bdev_info *info;
|
struct raid_base_bdev_info *info;
|
||||||
|
|
||||||
@ -228,7 +228,7 @@ raid_bdev_destruct(void *ctxt)
|
|||||||
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "raid_bdev_destruct\n");
|
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "raid_bdev_destruct\n");
|
||||||
|
|
||||||
raid_bdev->destruct_called = true;
|
raid_bdev->destruct_called = true;
|
||||||
for (uint16_t i = 0; i < raid_bdev->num_base_bdevs; i++) {
|
for (uint8_t i = 0; i < raid_bdev->num_base_bdevs; i++) {
|
||||||
/*
|
/*
|
||||||
* Close all base bdev descriptors for which call has come from below
|
* Close all base bdev descriptors for which call has come from below
|
||||||
* layers. Also close the descriptors if we have started shutdown.
|
* layers. Also close the descriptors if we have started shutdown.
|
||||||
@ -303,7 +303,7 @@ raid_bdev_submit_rw_request(struct spdk_bdev_io *bdev_io, uint64_t start_strip)
|
|||||||
uint32_t offset_in_strip;
|
uint32_t offset_in_strip;
|
||||||
uint64_t pd_lba;
|
uint64_t pd_lba;
|
||||||
uint64_t pd_blocks;
|
uint64_t pd_blocks;
|
||||||
uint32_t pd_idx;
|
uint8_t pd_idx;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
pd_strip = start_strip / raid_bdev->num_base_bdevs;
|
pd_strip = start_strip / raid_bdev->num_base_bdevs;
|
||||||
@ -606,14 +606,14 @@ struct raid_bdev_io_range {
|
|||||||
uint64_t end_strip_in_disk;
|
uint64_t end_strip_in_disk;
|
||||||
uint64_t start_offset_in_strip;
|
uint64_t start_offset_in_strip;
|
||||||
uint64_t end_offset_in_strip;
|
uint64_t end_offset_in_strip;
|
||||||
uint64_t start_disk;
|
uint8_t start_disk;
|
||||||
uint64_t end_disk;
|
uint8_t end_disk;
|
||||||
uint64_t n_disks_involved;
|
uint8_t n_disks_involved;
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
_raid_bdev_get_io_range(struct raid_bdev_io_range *io_range,
|
_raid_bdev_get_io_range(struct raid_bdev_io_range *io_range,
|
||||||
uint64_t num_base_bdevs, uint64_t strip_size, uint64_t strip_size_shift,
|
uint8_t num_base_bdevs, uint64_t strip_size, uint64_t strip_size_shift,
|
||||||
uint64_t offset_blocks, uint64_t num_blocks)
|
uint64_t offset_blocks, uint64_t num_blocks)
|
||||||
{
|
{
|
||||||
uint64_t start_strip;
|
uint64_t start_strip;
|
||||||
@ -642,12 +642,11 @@ _raid_bdev_get_io_range(struct raid_bdev_io_range *io_range,
|
|||||||
* Number of base bdevs involved is between 1 and num_base_bdevs.
|
* Number of base bdevs involved is between 1 and num_base_bdevs.
|
||||||
* It will be 1 if the first strip and last strip are the same one.
|
* It will be 1 if the first strip and last strip are the same one.
|
||||||
*/
|
*/
|
||||||
io_range->n_disks_involved = (end_strip - start_strip + 1);
|
io_range->n_disks_involved = spdk_min((end_strip - start_strip + 1), num_base_bdevs);
|
||||||
io_range->n_disks_involved = spdk_min(io_range->n_disks_involved, num_base_bdevs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
_raid_bdev_split_io_range(struct raid_bdev_io_range *io_range, uint64_t disk_idx,
|
_raid_bdev_split_io_range(struct raid_bdev_io_range *io_range, uint8_t disk_idx,
|
||||||
uint64_t *_offset_in_disk, uint64_t *_nblocks_in_disk)
|
uint64_t *_offset_in_disk, uint64_t *_nblocks_in_disk)
|
||||||
{
|
{
|
||||||
uint64_t n_strips_in_disk;
|
uint64_t n_strips_in_disk;
|
||||||
@ -688,7 +687,7 @@ _raid_bdev_split_io_range(struct raid_bdev_io_range *io_range, uint64_t disk_idx
|
|||||||
+ end_offset_in_disk - start_offset_in_disk + 1;
|
+ end_offset_in_disk - start_offset_in_disk + 1;
|
||||||
|
|
||||||
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID,
|
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID,
|
||||||
"raid_bdev (strip_size 0x%lx) splits IO to base_bdev (%lu) at (0x%lx, 0x%lx).\n",
|
"raid_bdev (strip_size 0x%lx) splits IO to base_bdev (%u) at (0x%lx, 0x%lx).\n",
|
||||||
io_range->strip_size, disk_idx, offset_in_disk, nblocks_in_disk);
|
io_range->strip_size, disk_idx, offset_in_disk, nblocks_in_disk);
|
||||||
|
|
||||||
*_offset_in_disk = offset_in_disk;
|
*_offset_in_disk = offset_in_disk;
|
||||||
@ -727,7 +726,7 @@ _raid_bdev_submit_null_payload_request_next(void *_bdev_io)
|
|||||||
raid_io->base_bdev_io_expected = io_range.n_disks_involved;
|
raid_io->base_bdev_io_expected = io_range.n_disks_involved;
|
||||||
|
|
||||||
while (raid_io->base_bdev_io_submitted < raid_io->base_bdev_io_expected) {
|
while (raid_io->base_bdev_io_submitted < raid_io->base_bdev_io_expected) {
|
||||||
uint64_t disk_idx;
|
uint8_t disk_idx;
|
||||||
uint64_t offset_in_disk;
|
uint64_t offset_in_disk;
|
||||||
uint64_t nblocks_in_disk;
|
uint64_t nblocks_in_disk;
|
||||||
|
|
||||||
@ -879,7 +878,7 @@ raid_bdev_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_i
|
|||||||
inline static bool
|
inline static bool
|
||||||
_raid_bdev_io_type_supported(struct raid_bdev *raid_bdev, enum spdk_bdev_io_type io_type)
|
_raid_bdev_io_type_supported(struct raid_bdev *raid_bdev, enum spdk_bdev_io_type io_type)
|
||||||
{
|
{
|
||||||
uint16_t i;
|
uint8_t i;
|
||||||
|
|
||||||
for (i = 0; i < raid_bdev->num_base_bdevs; i++) {
|
for (i = 0; i < raid_bdev->num_base_bdevs; i++) {
|
||||||
if (raid_bdev->base_bdev_info[i].bdev == NULL) {
|
if (raid_bdev->base_bdev_info[i].bdev == NULL) {
|
||||||
@ -974,7 +973,7 @@ raid_bdev_dump_info_json(void *ctx, struct spdk_json_write_ctx *w)
|
|||||||
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");
|
||||||
spdk_json_write_array_begin(w);
|
spdk_json_write_array_begin(w);
|
||||||
for (uint16_t i = 0; i < raid_bdev->num_base_bdevs; i++) {
|
for (uint8_t i = 0; i < raid_bdev->num_base_bdevs; i++) {
|
||||||
if (raid_bdev->base_bdev_info[i].bdev) {
|
if (raid_bdev->base_bdev_info[i].bdev) {
|
||||||
spdk_json_write_string(w, raid_bdev->base_bdev_info[i].bdev->name);
|
spdk_json_write_string(w, raid_bdev->base_bdev_info[i].bdev->name);
|
||||||
} else {
|
} else {
|
||||||
@ -1001,7 +1000,7 @@ raid_bdev_write_config_json(struct spdk_bdev *bdev, struct spdk_json_write_ctx *
|
|||||||
{
|
{
|
||||||
struct raid_bdev *raid_bdev = bdev->ctxt;
|
struct raid_bdev *raid_bdev = bdev->ctxt;
|
||||||
struct spdk_bdev *base;
|
struct spdk_bdev *base;
|
||||||
uint16_t i;
|
uint8_t i;
|
||||||
|
|
||||||
spdk_json_write_object_begin(w);
|
spdk_json_write_object_begin(w);
|
||||||
|
|
||||||
@ -1046,7 +1045,7 @@ static const struct spdk_bdev_fn_table g_raid_bdev_fn_table = {
|
|||||||
void
|
void
|
||||||
raid_bdev_config_cleanup(struct raid_bdev_config *raid_cfg)
|
raid_bdev_config_cleanup(struct raid_bdev_config *raid_cfg)
|
||||||
{
|
{
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
|
|
||||||
TAILQ_REMOVE(&g_raid_config.raid_bdev_config_head, raid_cfg, link);
|
TAILQ_REMOVE(&g_raid_config.raid_bdev_config_head, raid_cfg, link);
|
||||||
g_raid_config.total_raid_bdev--;
|
g_raid_config.total_raid_bdev--;
|
||||||
@ -1184,9 +1183,9 @@ raid_bdev_config_add(const char *raid_name, uint32_t strip_size, uint8_t num_bas
|
|||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
raid_bdev_config_add_base_bdev(struct raid_bdev_config *raid_cfg, const char *base_bdev_name,
|
raid_bdev_config_add_base_bdev(struct raid_bdev_config *raid_cfg, const char *base_bdev_name,
|
||||||
uint32_t slot)
|
uint8_t slot)
|
||||||
{
|
{
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
struct raid_bdev_config *tmp;
|
struct raid_bdev_config *tmp;
|
||||||
|
|
||||||
if (slot >= raid_cfg->num_base_bdevs) {
|
if (slot >= raid_cfg->num_base_bdevs) {
|
||||||
@ -1416,7 +1415,7 @@ raid_bdev_get_running_config(FILE *fp)
|
|||||||
struct raid_bdev *raid_bdev;
|
struct raid_bdev *raid_bdev;
|
||||||
struct spdk_bdev *base;
|
struct spdk_bdev *base;
|
||||||
int index = 1;
|
int index = 1;
|
||||||
uint16_t i;
|
uint8_t i;
|
||||||
|
|
||||||
TAILQ_FOREACH(raid_bdev, &g_raid_bdev_configured_list, state_link) {
|
TAILQ_FOREACH(raid_bdev, &g_raid_bdev_configured_list, state_link) {
|
||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
@ -1424,7 +1423,7 @@ raid_bdev_get_running_config(FILE *fp)
|
|||||||
"[RAID%d]\n"
|
"[RAID%d]\n"
|
||||||
" Name %s\n"
|
" Name %s\n"
|
||||||
" StripSize %" PRIu32 "\n"
|
" StripSize %" PRIu32 "\n"
|
||||||
" NumDevices %hu\n"
|
" NumDevices %u\n"
|
||||||
" RaidLevel %hhu\n",
|
" RaidLevel %hhu\n",
|
||||||
index, raid_bdev->bdev.name, raid_bdev->strip_size_kb,
|
index, raid_bdev->bdev.name, raid_bdev->strip_size_kb,
|
||||||
raid_bdev->num_base_bdevs, raid_bdev->raid_level);
|
raid_bdev->num_base_bdevs, raid_bdev->raid_level);
|
||||||
@ -1459,10 +1458,10 @@ raid_bdev_get_running_config(FILE *fp)
|
|||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
raid_bdev_can_claim_bdev(const char *bdev_name, struct raid_bdev_config **_raid_cfg,
|
raid_bdev_can_claim_bdev(const char *bdev_name, struct raid_bdev_config **_raid_cfg,
|
||||||
uint32_t *base_bdev_slot)
|
uint8_t *base_bdev_slot)
|
||||||
{
|
{
|
||||||
struct raid_bdev_config *raid_cfg;
|
struct raid_bdev_config *raid_cfg;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
|
|
||||||
TAILQ_FOREACH(raid_cfg, &g_raid_config.raid_bdev_config_head, link) {
|
TAILQ_FOREACH(raid_cfg, &g_raid_config.raid_bdev_config_head, link) {
|
||||||
for (i = 0; i < raid_cfg->num_base_bdevs; i++) {
|
for (i = 0; i < raid_cfg->num_base_bdevs; i++) {
|
||||||
@ -1599,7 +1598,7 @@ raid_bdev_create(struct raid_bdev_config *raid_cfg)
|
|||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
raid_bdev_alloc_base_bdev_resource(struct raid_bdev *raid_bdev, struct spdk_bdev *bdev,
|
raid_bdev_alloc_base_bdev_resource(struct raid_bdev *raid_bdev, struct spdk_bdev *bdev,
|
||||||
uint32_t base_bdev_slot)
|
uint8_t base_bdev_slot)
|
||||||
{
|
{
|
||||||
struct spdk_bdev_desc *desc;
|
struct spdk_bdev_desc *desc;
|
||||||
int rc;
|
int rc;
|
||||||
@ -1651,7 +1650,7 @@ raid_bdev_configure(struct raid_bdev *raid_bdev)
|
|||||||
|
|
||||||
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 (uint32_t i = 1; i < raid_bdev->num_base_bdevs; i++) {
|
for (uint8_t i = 1; i < raid_bdev->num_base_bdevs; i++) {
|
||||||
/* Calculate minimum block count from all base bdevs */
|
/* Calculate minimum block count from all base bdevs */
|
||||||
if (raid_bdev->base_bdev_info[i].bdev->blockcnt < min_blockcnt) {
|
if (raid_bdev->base_bdev_info[i].bdev->blockcnt < min_blockcnt) {
|
||||||
min_blockcnt = raid_bdev->base_bdev_info[i].bdev->blockcnt;
|
min_blockcnt = raid_bdev->base_bdev_info[i].bdev->blockcnt;
|
||||||
@ -1768,10 +1767,10 @@ raid_bdev_deconfigure(struct raid_bdev *raid_bdev, raid_bdev_destruct_cb cb_fn,
|
|||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
raid_bdev_find_by_base_bdev(struct spdk_bdev *base_bdev, struct raid_bdev **_raid_bdev,
|
raid_bdev_find_by_base_bdev(struct spdk_bdev *base_bdev, struct raid_bdev **_raid_bdev,
|
||||||
uint16_t *_base_bdev_slot)
|
uint8_t *_base_bdev_slot)
|
||||||
{
|
{
|
||||||
struct raid_bdev *raid_bdev;
|
struct raid_bdev *raid_bdev;
|
||||||
uint16_t i;
|
uint8_t i;
|
||||||
|
|
||||||
TAILQ_FOREACH(raid_bdev, &g_raid_bdev_list, global_link) {
|
TAILQ_FOREACH(raid_bdev, &g_raid_bdev_list, global_link) {
|
||||||
for (i = 0; i < raid_bdev->num_base_bdevs; i++) {
|
for (i = 0; i < raid_bdev->num_base_bdevs; i++) {
|
||||||
@ -1801,7 +1800,7 @@ raid_bdev_remove_base_bdev(void *ctx)
|
|||||||
{
|
{
|
||||||
struct spdk_bdev *base_bdev = ctx;
|
struct spdk_bdev *base_bdev = ctx;
|
||||||
struct raid_bdev *raid_bdev = NULL;
|
struct raid_bdev *raid_bdev = NULL;
|
||||||
uint16_t base_bdev_slot = 0;
|
uint8_t base_bdev_slot = 0;
|
||||||
|
|
||||||
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "raid_bdev_remove_base_bdev\n");
|
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "raid_bdev_remove_base_bdev\n");
|
||||||
|
|
||||||
@ -1916,7 +1915,7 @@ raid_bdev_remove_base_devices(struct raid_bdev_config *raid_cfg,
|
|||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
raid_bdev_add_base_device(struct raid_bdev_config *raid_cfg, struct spdk_bdev *bdev,
|
raid_bdev_add_base_device(struct raid_bdev_config *raid_cfg, struct spdk_bdev *bdev,
|
||||||
uint32_t base_bdev_slot)
|
uint8_t base_bdev_slot)
|
||||||
{
|
{
|
||||||
struct raid_bdev *raid_bdev;
|
struct raid_bdev *raid_bdev;
|
||||||
int rc;
|
int rc;
|
||||||
@ -2003,7 +2002,7 @@ static void
|
|||||||
raid_bdev_examine(struct spdk_bdev *bdev)
|
raid_bdev_examine(struct spdk_bdev *bdev)
|
||||||
{
|
{
|
||||||
struct raid_bdev_config *raid_cfg;
|
struct raid_bdev_config *raid_cfg;
|
||||||
uint32_t base_bdev_slot;
|
uint8_t base_bdev_slot;
|
||||||
|
|
||||||
if (raid_bdev_can_claim_bdev(bdev->name, &raid_cfg, &base_bdev_slot)) {
|
if (raid_bdev_can_claim_bdev(bdev->name, &raid_cfg, &base_bdev_slot)) {
|
||||||
raid_bdev_add_base_device(raid_cfg, bdev, base_bdev_slot);
|
raid_bdev_add_base_device(raid_cfg, bdev, base_bdev_slot);
|
||||||
|
@ -117,10 +117,10 @@ struct raid_bdev {
|
|||||||
enum raid_bdev_state state;
|
enum raid_bdev_state state;
|
||||||
|
|
||||||
/* number of base bdevs comprising raid bdev */
|
/* number of base bdevs comprising raid bdev */
|
||||||
uint16_t num_base_bdevs;
|
uint8_t num_base_bdevs;
|
||||||
|
|
||||||
/* number of base bdevs discovered */
|
/* number of base bdevs discovered */
|
||||||
uint16_t num_base_bdevs_discovered;
|
uint8_t num_base_bdevs_discovered;
|
||||||
|
|
||||||
/* Raid Level of this raid bdev */
|
/* Raid Level of this raid bdev */
|
||||||
uint8_t raid_level;
|
uint8_t raid_level;
|
||||||
@ -229,7 +229,7 @@ void raid_bdev_remove_base_devices(struct raid_bdev_config *raid_cfg,
|
|||||||
int raid_bdev_config_add(const char *raid_name, uint32_t strip_size, uint8_t num_base_bdevs,
|
int raid_bdev_config_add(const char *raid_name, uint32_t strip_size, uint8_t num_base_bdevs,
|
||||||
uint8_t raid_level, struct raid_bdev_config **_raid_cfg);
|
uint8_t raid_level, struct raid_bdev_config **_raid_cfg);
|
||||||
int raid_bdev_config_add_base_bdev(struct raid_bdev_config *raid_cfg,
|
int raid_bdev_config_add_base_bdev(struct raid_bdev_config *raid_cfg,
|
||||||
const char *base_bdev_name, uint32_t slot);
|
const char *base_bdev_name, uint8_t slot);
|
||||||
void raid_bdev_config_cleanup(struct raid_bdev_config *raid_cfg);
|
void raid_bdev_config_cleanup(struct raid_bdev_config *raid_cfg);
|
||||||
struct raid_bdev_config *raid_bdev_config_find_by_name(const char *raid_name);
|
struct raid_bdev_config *raid_bdev_config_find_by_name(const char *raid_name);
|
||||||
|
|
||||||
|
@ -209,7 +209,7 @@ check_and_remove_raid_bdev(struct raid_bdev_config *raid_cfg)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (uint32_t i = 0; i < raid_bdev->num_base_bdevs; i++) {
|
for (uint8_t i = 0; i < raid_bdev->num_base_bdevs; i++) {
|
||||||
assert(raid_bdev->base_bdev_info != NULL);
|
assert(raid_bdev->base_bdev_info != NULL);
|
||||||
if (raid_bdev->base_bdev_info[i].bdev) {
|
if (raid_bdev->base_bdev_info[i].bdev) {
|
||||||
raid_bdev_free_base_bdev_resource(raid_bdev, i);
|
raid_bdev_free_base_bdev_resource(raid_bdev, i);
|
||||||
@ -642,7 +642,7 @@ static void
|
|||||||
verify_reset_io(struct spdk_bdev_io *bdev_io, uint8_t num_base_drives,
|
verify_reset_io(struct spdk_bdev_io *bdev_io, uint8_t num_base_drives,
|
||||||
struct raid_bdev_io_channel *ch_ctx, struct raid_bdev *raid_bdev, uint32_t io_status)
|
struct raid_bdev_io_channel *ch_ctx, struct raid_bdev *raid_bdev, uint32_t io_status)
|
||||||
{
|
{
|
||||||
uint32_t index = 0;
|
uint8_t index = 0;
|
||||||
|
|
||||||
SPDK_CU_ASSERT_FATAL(raid_bdev != NULL);
|
SPDK_CU_ASSERT_FATAL(raid_bdev != NULL);
|
||||||
SPDK_CU_ASSERT_FATAL(num_base_drives != 0);
|
SPDK_CU_ASSERT_FATAL(num_base_drives != 0);
|
||||||
@ -669,7 +669,7 @@ verify_io(struct spdk_bdev_io *bdev_io, uint8_t num_base_drives,
|
|||||||
uint32_t splits_reqd = (end_strip - start_strip + 1);
|
uint32_t splits_reqd = (end_strip - start_strip + 1);
|
||||||
uint32_t strip;
|
uint32_t strip;
|
||||||
uint64_t pd_strip;
|
uint64_t pd_strip;
|
||||||
uint64_t pd_idx;
|
uint8_t pd_idx;
|
||||||
uint32_t offset_in_strip;
|
uint32_t offset_in_strip;
|
||||||
uint64_t pd_lba;
|
uint64_t pd_lba;
|
||||||
uint64_t pd_blocks;
|
uint64_t pd_blocks;
|
||||||
@ -724,12 +724,12 @@ verify_io_without_payload(struct spdk_bdev_io *bdev_io, uint8_t num_base_drives,
|
|||||||
uint64_t start_strip = bdev_io->u.bdev.offset_blocks >> strip_shift;
|
uint64_t start_strip = bdev_io->u.bdev.offset_blocks >> strip_shift;
|
||||||
uint64_t end_strip = (bdev_io->u.bdev.offset_blocks + bdev_io->u.bdev.num_blocks - 1) >>
|
uint64_t end_strip = (bdev_io->u.bdev.offset_blocks + bdev_io->u.bdev.num_blocks - 1) >>
|
||||||
strip_shift;
|
strip_shift;
|
||||||
uint32_t n_disks_involved;
|
uint8_t n_disks_involved;
|
||||||
uint64_t start_strip_disk_idx;
|
uint64_t start_strip_disk_idx;
|
||||||
uint64_t end_strip_disk_idx;
|
uint64_t end_strip_disk_idx;
|
||||||
uint64_t nblocks_in_start_disk;
|
uint64_t nblocks_in_start_disk;
|
||||||
uint64_t offset_in_start_disk;
|
uint64_t offset_in_start_disk;
|
||||||
uint32_t disk_idx;
|
uint8_t disk_idx;
|
||||||
uint64_t base_io_idx;
|
uint64_t base_io_idx;
|
||||||
uint64_t sum_nblocks = 0;
|
uint64_t sum_nblocks = 0;
|
||||||
|
|
||||||
@ -866,7 +866,7 @@ static void
|
|||||||
verify_raid_config(struct rpc_construct_raid_bdev *r, bool presence)
|
verify_raid_config(struct rpc_construct_raid_bdev *r, bool presence)
|
||||||
{
|
{
|
||||||
struct raid_bdev_config *raid_cfg = NULL;
|
struct raid_bdev_config *raid_cfg = NULL;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
int val;
|
int val;
|
||||||
|
|
||||||
TAILQ_FOREACH(raid_cfg, &g_raid_config.raid_bdev_config_head, link) {
|
TAILQ_FOREACH(raid_cfg, &g_raid_config.raid_bdev_config_head, link) {
|
||||||
@ -899,7 +899,7 @@ static void
|
|||||||
verify_raid_bdev(struct rpc_construct_raid_bdev *r, bool presence, uint32_t raid_state)
|
verify_raid_bdev(struct rpc_construct_raid_bdev *r, bool presence, uint32_t raid_state)
|
||||||
{
|
{
|
||||||
struct raid_bdev *pbdev;
|
struct raid_bdev *pbdev;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
struct spdk_bdev *bdev = NULL;
|
struct spdk_bdev *bdev = NULL;
|
||||||
bool pbdev_found;
|
bool pbdev_found;
|
||||||
uint64_t min_blockcnt = 0xFFFFFFFFFFFFFFFF;
|
uint64_t min_blockcnt = 0xFFFFFFFFFFFFFFFF;
|
||||||
@ -1029,7 +1029,7 @@ verify_get_raids(struct rpc_construct_raid_bdev *construct_req,
|
|||||||
uint8_t g_max_raids,
|
uint8_t g_max_raids,
|
||||||
char **g_get_raids_output, uint32_t g_get_raids_count)
|
char **g_get_raids_output, uint32_t g_get_raids_count)
|
||||||
{
|
{
|
||||||
uint32_t i, j;
|
uint8_t i, j;
|
||||||
bool found;
|
bool found;
|
||||||
|
|
||||||
CU_ASSERT(g_max_raids == g_get_raids_count);
|
CU_ASSERT(g_max_raids == g_get_raids_count);
|
||||||
@ -1050,7 +1050,7 @@ verify_get_raids(struct rpc_construct_raid_bdev *construct_req,
|
|||||||
static void
|
static void
|
||||||
create_base_bdevs(uint32_t bbdev_start_idx)
|
create_base_bdevs(uint32_t bbdev_start_idx)
|
||||||
{
|
{
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
struct spdk_bdev *base_bdev;
|
struct spdk_bdev *base_bdev;
|
||||||
char name[16];
|
char name[16];
|
||||||
uint16_t num_chars;
|
uint16_t num_chars;
|
||||||
@ -1069,13 +1069,13 @@ create_base_bdevs(uint32_t bbdev_start_idx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
create_test_req(struct rpc_construct_raid_bdev *r, const char *raid_name, uint32_t bbdev_start_idx,
|
create_test_req(struct rpc_construct_raid_bdev *r, const char *raid_name, uint8_t bbdev_start_idx,
|
||||||
bool create_base_bdev)
|
bool create_base_bdev)
|
||||||
{
|
{
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
char name[16];
|
char name[16];
|
||||||
uint16_t num_chars;
|
uint16_t num_chars;
|
||||||
uint32_t bbdev_idx = bbdev_start_idx;
|
uint8_t bbdev_idx = bbdev_start_idx;
|
||||||
|
|
||||||
r->name = strdup(raid_name);
|
r->name = strdup(raid_name);
|
||||||
SPDK_CU_ASSERT_FATAL(r->name != NULL);
|
SPDK_CU_ASSERT_FATAL(r->name != NULL);
|
||||||
@ -1363,7 +1363,7 @@ test_io_channel(void)
|
|||||||
struct rpc_destroy_raid_bdev destroy_req;
|
struct rpc_destroy_raid_bdev destroy_req;
|
||||||
struct raid_bdev *pbdev;
|
struct raid_bdev *pbdev;
|
||||||
struct raid_bdev_io_channel *ch_ctx;
|
struct raid_bdev_io_channel *ch_ctx;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
|
|
||||||
set_globals();
|
set_globals();
|
||||||
create_test_req(&req, "raid1", 0, true);
|
create_test_req(&req, "raid1", 0, true);
|
||||||
@ -1421,7 +1421,7 @@ test_write_io(void)
|
|||||||
struct raid_bdev *pbdev;
|
struct raid_bdev *pbdev;
|
||||||
struct spdk_io_channel *ch;
|
struct spdk_io_channel *ch;
|
||||||
struct raid_bdev_io_channel *ch_ctx;
|
struct raid_bdev_io_channel *ch_ctx;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
struct spdk_bdev_io *bdev_io;
|
struct spdk_bdev_io *bdev_io;
|
||||||
uint64_t io_len;
|
uint64_t io_len;
|
||||||
uint64_t lba = 0;
|
uint64_t lba = 0;
|
||||||
@ -1498,7 +1498,7 @@ test_read_io(void)
|
|||||||
struct raid_bdev *pbdev;
|
struct raid_bdev *pbdev;
|
||||||
struct spdk_io_channel *ch;
|
struct spdk_io_channel *ch;
|
||||||
struct raid_bdev_io_channel *ch_ctx;
|
struct raid_bdev_io_channel *ch_ctx;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
struct spdk_bdev_io *bdev_io;
|
struct spdk_bdev_io *bdev_io;
|
||||||
uint64_t io_len;
|
uint64_t io_len;
|
||||||
uint64_t lba;
|
uint64_t lba;
|
||||||
@ -1650,7 +1650,7 @@ test_unmap_io(void)
|
|||||||
struct raid_bdev *pbdev;
|
struct raid_bdev *pbdev;
|
||||||
struct spdk_io_channel *ch;
|
struct spdk_io_channel *ch;
|
||||||
struct raid_bdev_io_channel *ch_ctx;
|
struct raid_bdev_io_channel *ch_ctx;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
struct spdk_bdev_io *bdev_io;
|
struct spdk_bdev_io *bdev_io;
|
||||||
uint32_t count;
|
uint32_t count;
|
||||||
uint64_t io_len;
|
uint64_t io_len;
|
||||||
@ -1732,7 +1732,7 @@ test_io_failure(void)
|
|||||||
struct raid_bdev *pbdev;
|
struct raid_bdev *pbdev;
|
||||||
struct spdk_io_channel *ch;
|
struct spdk_io_channel *ch;
|
||||||
struct raid_bdev_io_channel *ch_ctx;
|
struct raid_bdev_io_channel *ch_ctx;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
struct spdk_bdev_io *bdev_io;
|
struct spdk_bdev_io *bdev_io;
|
||||||
uint32_t count;
|
uint32_t count;
|
||||||
uint64_t io_len;
|
uint64_t io_len;
|
||||||
@ -1829,7 +1829,7 @@ test_reset_io(void)
|
|||||||
struct raid_bdev *pbdev;
|
struct raid_bdev *pbdev;
|
||||||
struct spdk_io_channel *ch;
|
struct spdk_io_channel *ch;
|
||||||
struct raid_bdev_io_channel *ch_ctx;
|
struct raid_bdev_io_channel *ch_ctx;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
struct spdk_bdev_io *bdev_io;
|
struct spdk_bdev_io *bdev_io;
|
||||||
|
|
||||||
set_globals();
|
set_globals();
|
||||||
@ -1905,7 +1905,7 @@ test_io_waitq(void)
|
|||||||
struct raid_bdev *pbdev;
|
struct raid_bdev *pbdev;
|
||||||
struct spdk_io_channel *ch;
|
struct spdk_io_channel *ch;
|
||||||
struct raid_bdev_io_channel *ch_ctx;
|
struct raid_bdev_io_channel *ch_ctx;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
struct spdk_bdev_io *bdev_io;
|
struct spdk_bdev_io *bdev_io;
|
||||||
struct spdk_bdev_io *bdev_io_next;
|
struct spdk_bdev_io *bdev_io_next;
|
||||||
uint32_t count;
|
uint32_t count;
|
||||||
@ -1994,10 +1994,10 @@ test_multi_raid_no_io(void)
|
|||||||
struct rpc_construct_raid_bdev *construct_req;
|
struct rpc_construct_raid_bdev *construct_req;
|
||||||
struct rpc_destroy_raid_bdev destroy_req;
|
struct rpc_destroy_raid_bdev destroy_req;
|
||||||
struct rpc_get_raid_bdevs get_raids_req;
|
struct rpc_get_raid_bdevs get_raids_req;
|
||||||
uint32_t i;
|
uint8_t i;
|
||||||
char name[16];
|
char name[16];
|
||||||
uint32_t count;
|
uint32_t count;
|
||||||
uint32_t bbdev_idx = 0;
|
uint8_t bbdev_idx = 0;
|
||||||
|
|
||||||
set_globals();
|
set_globals();
|
||||||
construct_req = calloc(MAX_RAIDS, sizeof(struct rpc_construct_raid_bdev));
|
construct_req = calloc(MAX_RAIDS, sizeof(struct rpc_construct_raid_bdev));
|
||||||
@ -2129,10 +2129,10 @@ test_multi_raid_with_io(void)
|
|||||||
{
|
{
|
||||||
struct rpc_construct_raid_bdev *construct_req;
|
struct rpc_construct_raid_bdev *construct_req;
|
||||||
struct rpc_destroy_raid_bdev destroy_req;
|
struct rpc_destroy_raid_bdev destroy_req;
|
||||||
uint32_t i, j;
|
uint8_t i, j;
|
||||||
char name[16];
|
char name[16];
|
||||||
uint32_t count;
|
uint32_t count;
|
||||||
uint32_t bbdev_idx = 0;
|
uint8_t bbdev_idx = 0;
|
||||||
struct raid_bdev *pbdev;
|
struct raid_bdev *pbdev;
|
||||||
struct spdk_io_channel *ch;
|
struct spdk_io_channel *ch;
|
||||||
struct raid_bdev_io_channel *ch_ctx;
|
struct raid_bdev_io_channel *ch_ctx;
|
||||||
@ -2251,7 +2251,7 @@ test_create_raid_from_config(void)
|
|||||||
struct rpc_destroy_raid_bdev destroy_req;
|
struct rpc_destroy_raid_bdev destroy_req;
|
||||||
bool can_claim;
|
bool can_claim;
|
||||||
struct raid_bdev_config *raid_cfg;
|
struct raid_bdev_config *raid_cfg;
|
||||||
uint32_t base_bdev_slot;
|
uint8_t base_bdev_slot;
|
||||||
|
|
||||||
set_globals();
|
set_globals();
|
||||||
create_test_req(&req, "raid1", 0, true);
|
create_test_req(&req, "raid1", 0, true);
|
||||||
|
Loading…
Reference in New Issue
Block a user