Commit 6058327b authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Ben Walker
Browse files

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: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/423056


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarKunal Sablok <kunal.sablok@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent b39b6024
Loading
Loading
Loading
Loading
+14 −15
Original line number Diff line number Diff line
@@ -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;
+2 −2
Original line number Diff line number Diff line
@@ -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;
+5 −5
Original line number Diff line number Diff line
@@ -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);
		}
	}
+14 −14
Original line number Diff line number Diff line
@@ -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;
		}