bdev/raid: Use more compact name for TAILQ_ENTRY of raid_bdev

According to the purpose of the lists, state_link and global_link
will be enough to understand the purpose well.

Besides, in raid_bdev_remove_base_bdev(), if any entry is not removed
during iteration, TAILQ_FOREACH_SAFE() is not necessary. Hence
change TAILQ_FOREACH_SAFE to TAILQ_FOREACH for this case.

Change-Id: I3022c58faf96721df9241e07dbb5a06d7de89e70
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/423056
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Kunal Sablok <kunal.sablok@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Shuhei Matsumoto 2018-08-22 16:31:35 +09:00 committed by Ben Walker
parent b39b6024b5
commit 6058327b10
4 changed files with 35 additions and 36 deletions

View File

@ -166,13 +166,13 @@ raid_bdev_cleanup(struct raid_bdev *raid_bdev)
raid_bdev,
raid_bdev->bdev.name, raid_bdev->state, raid_bdev->config);
if (raid_bdev->state == RAID_BDEV_STATE_CONFIGURING) {
TAILQ_REMOVE(&g_spdk_raid_bdev_configuring_list, raid_bdev, link_specific_list);
TAILQ_REMOVE(&g_spdk_raid_bdev_configuring_list, raid_bdev, state_link);
} else if (raid_bdev->state == RAID_BDEV_STATE_OFFLINE) {
TAILQ_REMOVE(&g_spdk_raid_bdev_offline_list, raid_bdev, link_specific_list);
TAILQ_REMOVE(&g_spdk_raid_bdev_offline_list, raid_bdev, state_link);
} else {
assert(0);
}
TAILQ_REMOVE(&g_spdk_raid_bdev_list, raid_bdev, link_global_list);
TAILQ_REMOVE(&g_spdk_raid_bdev_list, raid_bdev, global_link);
free(raid_bdev->bdev.name);
raid_bdev->bdev.name = NULL;
assert(raid_bdev->base_bdev_info);
@ -240,9 +240,9 @@ raid_bdev_destruct(void *ctxt)
}
if (g_shutdown_started) {
TAILQ_REMOVE(&g_spdk_raid_bdev_configured_list, raid_bdev, link_specific_list);
TAILQ_REMOVE(&g_spdk_raid_bdev_configured_list, raid_bdev, state_link);
raid_bdev->state = RAID_BDEV_STATE_OFFLINE;
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_offline_list, raid_bdev, link_specific_list);
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_offline_list, raid_bdev, state_link);
spdk_io_device_unregister(raid_bdev, NULL);
}
@ -1221,8 +1221,8 @@ raid_bdev_create(struct raid_bdev_config *raid_cfg, struct raid_bdev **_raid_bde
raid_bdev->strip_size = raid_cfg->strip_size;
raid_bdev->state = RAID_BDEV_STATE_CONFIGURING;
raid_bdev->config = raid_cfg;
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_configuring_list, raid_bdev, link_specific_list);
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_list, raid_bdev, link_global_list);
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_configuring_list, raid_bdev, state_link);
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_list, raid_bdev, global_link);
*_raid_bdev = raid_bdev;
@ -1351,8 +1351,8 @@ raid_bdev_configure(struct raid_bdev *raid_bdev)
goto offline;
}
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "raid bdev generic %p\n", raid_bdev_gen);
TAILQ_REMOVE(&g_spdk_raid_bdev_configuring_list, raid_bdev, link_specific_list);
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_configured_list, raid_bdev, link_specific_list);
TAILQ_REMOVE(&g_spdk_raid_bdev_configuring_list, raid_bdev, state_link);
TAILQ_INSERT_TAIL(&g_spdk_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",
raid_bdev_gen->name, raid_bdev);
}
@ -1361,8 +1361,8 @@ raid_bdev_configure(struct raid_bdev *raid_bdev)
offline:
raid_bdev->state = RAID_BDEV_STATE_OFFLINE;
TAILQ_REMOVE(&g_spdk_raid_bdev_configuring_list, raid_bdev, link_specific_list);
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_offline_list, raid_bdev, link_specific_list);
TAILQ_REMOVE(&g_spdk_raid_bdev_configuring_list, raid_bdev, state_link);
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_offline_list, raid_bdev, state_link);
return -1;
}
@ -1384,10 +1384,10 @@ raid_bdev_deconfigure(struct raid_bdev *raid_bdev)
}
assert(raid_bdev->num_base_bdevs == raid_bdev->num_base_bdevs_discovered);
TAILQ_REMOVE(&g_spdk_raid_bdev_configured_list, raid_bdev, link_specific_list);
TAILQ_REMOVE(&g_spdk_raid_bdev_configured_list, raid_bdev, state_link);
raid_bdev->state = RAID_BDEV_STATE_OFFLINE;
assert(raid_bdev->num_base_bdevs_discovered);
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_offline_list, raid_bdev, link_specific_list);
TAILQ_INSERT_TAIL(&g_spdk_raid_bdev_offline_list, raid_bdev, state_link);
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "raid bdev state chaning from online to offline\n");
spdk_io_device_unregister(raid_bdev, NULL);
@ -1409,14 +1409,13 @@ raid_bdev_remove_base_bdev(void *ctx)
{
struct spdk_bdev *base_bdev = ctx;
struct raid_bdev *raid_bdev;
struct raid_bdev *next_raid_bdev;
uint16_t i;
bool found = false;
SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "raid_bdev_remove_base_bdev\n");
/* Find the raid_bdev which has claimed this base_bdev */
TAILQ_FOREACH_SAFE(raid_bdev, &g_spdk_raid_bdev_list, link_global_list, next_raid_bdev) {
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_list, global_link) {
for (i = 0; i < raid_bdev->num_base_bdevs; i++) {
if (raid_bdev->base_bdev_info[i].bdev == base_bdev) {
found = true;

View File

@ -87,10 +87,10 @@ struct raid_bdev {
struct spdk_bdev bdev;
/* link of raid bdev to link it to configured, configuring or offline list */
TAILQ_ENTRY(raid_bdev) link_specific_list;
TAILQ_ENTRY(raid_bdev) state_link;
/* link of raid bdev to link it to global raid bdev list */
TAILQ_ENTRY(raid_bdev) link_global_list;
TAILQ_ENTRY(raid_bdev) global_link;
/* pointer to config file entry */
struct raid_bdev_config *config;

View File

@ -60,7 +60,7 @@ check_raid_bdev_present(char *raid_bdev_name)
{
struct raid_bdev *raid_bdev;
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(raid_bdev->bdev.name, raid_bdev_name) == 0) {
/* raid bdev found */
return raid_bdev;
@ -149,19 +149,19 @@ spdk_rpc_get_raid_bdevs(struct spdk_jsonrpc_request *request, const struct spdk_
/* Get raid bdev list based on the category requested */
if (strcmp(req.category, "all") == 0) {
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_list, global_link) {
spdk_json_write_string(w, raid_bdev->bdev.name);
}
} else if (strcmp(req.category, "online") == 0) {
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_configured_list, link_specific_list) {
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_configured_list, state_link) {
spdk_json_write_string(w, raid_bdev->bdev.name);
}
} else if (strcmp(req.category, "configuring") == 0) {
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_configuring_list, link_specific_list) {
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_configuring_list, state_link) {
spdk_json_write_string(w, raid_bdev->bdev.name);
}
} else {
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_offline_list, link_specific_list) {
TAILQ_FOREACH(raid_bdev, &g_spdk_raid_bdev_offline_list, state_link) {
spdk_json_write_string(w, raid_bdev->bdev.name);
}
}

View File

@ -767,7 +767,7 @@ verify_raid_bdev_present(const char *name, bool presence)
bool pbdev_found;
pbdev_found = false;
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, name) == 0) {
pbdev_found = true;
break;
@ -822,7 +822,7 @@ verify_raid_bdev(struct rpc_construct_raid_bdev *r, bool presence, uint32_t raid
uint64_t min_blockcnt = 0xFFFFFFFFFFFFFFFF;
pbdev_found = false;
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, r->name) == 0) {
pbdev_found = true;
if (presence == false) {
@ -870,21 +870,21 @@ verify_raid_bdev(struct rpc_construct_raid_bdev *r, bool presence, uint32_t raid
}
pbdev_found = false;
if (raid_state == RAID_BDEV_STATE_ONLINE) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_configured_list, link_specific_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_configured_list, state_link) {
if (strcmp(pbdev->bdev.name, r->name) == 0) {
pbdev_found = true;
break;
}
}
} else if (raid_state == RAID_BDEV_STATE_CONFIGURING) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_configuring_list, link_specific_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_configuring_list, state_link) {
if (strcmp(pbdev->bdev.name, r->name) == 0) {
pbdev_found = true;
break;
}
}
} else if (raid_state == RAID_BDEV_STATE_OFFLINE) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_offline_list, link_specific_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_offline_list, state_link) {
if (strcmp(pbdev->bdev.name, r->name) == 0) {
pbdev_found = true;
break;
@ -1288,7 +1288,7 @@ test_io_channel(void)
verify_raid_config(&req, true);
verify_raid_bdev(&req, true, RAID_BDEV_STATE_ONLINE);
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, req.name) == 0) {
break;
}
@ -1348,7 +1348,7 @@ test_write_io(void)
CU_ASSERT(g_rpc_err == 0);
verify_raid_config(&req, true);
verify_raid_bdev(&req, true, RAID_BDEV_STATE_ONLINE);
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, req.name) == 0) {
break;
}
@ -1426,7 +1426,7 @@ test_read_io(void)
CU_ASSERT(g_rpc_err == 0);
verify_raid_config(&req, true);
verify_raid_bdev(&req, true, RAID_BDEV_STATE_ONLINE);
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, req.name) == 0) {
break;
}
@ -1505,7 +1505,7 @@ test_io_failure(void)
CU_ASSERT(g_rpc_err == 0);
verify_raid_config(&req, true);
verify_raid_bdev(&req, true, RAID_BDEV_STATE_ONLINE);
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, req.name) == 0) {
break;
}
@ -1604,7 +1604,7 @@ test_io_waitq(void)
CU_ASSERT(g_rpc_err == 0);
verify_raid_config(&req, true);
verify_raid_bdev(&req, true, RAID_BDEV_STATE_ONLINE);
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, req.name) == 0) {
break;
}
@ -1843,7 +1843,7 @@ test_multi_raid_with_io(void)
CU_ASSERT(g_rpc_err == 0);
verify_raid_config(&construct_req[i], true);
verify_raid_bdev(&construct_req[i], true, RAID_BDEV_STATE_ONLINE);
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, construct_req[i].name) == 0) {
break;
}
@ -1869,7 +1869,7 @@ test_multi_raid_with_io(void)
raid_random = rand() % g_max_raids;
ch_random = &ch[raid_random];
ch_ctx_random = spdk_io_channel_get_ctx(ch_random);
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, construct_req[raid_random].name) == 0) {
break;
}
@ -1885,7 +1885,7 @@ test_multi_raid_with_io(void)
}
for (i = 0; i < g_max_raids; i++) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, construct_req[i].name) == 0) {
break;
}
@ -2067,7 +2067,7 @@ test_raid_json_dump_info(void)
CU_ASSERT(g_rpc_err == 0);
verify_raid_bdev(&req, true, RAID_BDEV_STATE_ONLINE);
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, link_global_list) {
TAILQ_FOREACH(pbdev, &g_spdk_raid_bdev_list, global_link) {
if (strcmp(pbdev->bdev.name, req.name) == 0) {
break;
}