bdev: always generate UUIDs
Make sure UUID is present for every bdev, even ephemeral ones. Furthermore, this change removes assumption that bdev UUID may remain empty. Change-Id: I924c1ba9dedfe88a05044bb1073f28085735b1c1 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17106 Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
0cd5af7143
commit
11dc297c1b
@ -509,7 +509,7 @@ struct spdk_bdev {
|
||||
/**
|
||||
* UUID for this bdev.
|
||||
*
|
||||
* Fill with zeroes if no uuid is available.
|
||||
* If not provided, it will be generated by bdev layer.
|
||||
*/
|
||||
struct spdk_uuid uuid;
|
||||
|
||||
|
@ -7231,21 +7231,22 @@ bdev_register(struct spdk_bdev *bdev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* UUID has to be specified by the user or defined by bdev itself.
|
||||
* Otherwise this field must remain empty, to indicate that this
|
||||
* value cannot be depended upon. */
|
||||
if (!spdk_mem_all_zero(&bdev->uuid, sizeof(bdev->uuid))) {
|
||||
/* Add the UUID alias only if it's different than the name */
|
||||
spdk_uuid_fmt_lower(uuid, sizeof(uuid), &bdev->uuid);
|
||||
if (strcmp(bdev->name, uuid) != 0) {
|
||||
ret = spdk_bdev_alias_add(bdev, uuid);
|
||||
if (ret != 0) {
|
||||
SPDK_ERRLOG("Unable to add uuid:%s alias for bdev %s\n", uuid, bdev->name);
|
||||
bdev_name_del(&bdev->internal.bdev_name);
|
||||
bdev_free_io_stat(bdev->internal.stat);
|
||||
free(bdev_name);
|
||||
return ret;
|
||||
}
|
||||
/* UUID may be specified by the user or defined by bdev itself.
|
||||
* Otherwise it will be generated here, so this field will never be empty. */
|
||||
if (spdk_mem_all_zero(&bdev->uuid, sizeof(bdev->uuid))) {
|
||||
spdk_uuid_generate(&bdev->uuid);
|
||||
}
|
||||
|
||||
/* Add the UUID alias only if it's different than the name */
|
||||
spdk_uuid_fmt_lower(uuid, sizeof(uuid), &bdev->uuid);
|
||||
if (strcmp(bdev->name, uuid) != 0) {
|
||||
ret = spdk_bdev_alias_add(bdev, uuid);
|
||||
if (ret != 0) {
|
||||
SPDK_ERRLOG("Unable to add uuid:%s alias for bdev %s\n", uuid, bdev->name);
|
||||
bdev_name_del(&bdev->internal.bdev_name);
|
||||
bdev_free_io_stat(bdev->internal.stat);
|
||||
free(bdev_name);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -663,6 +663,7 @@ rpc_dump_bdev_info(void *ctx, struct spdk_bdev *bdev)
|
||||
struct spdk_bdev_alias *tmp;
|
||||
uint64_t qos_limits[SPDK_BDEV_QOS_NUM_RATE_LIMIT_TYPES];
|
||||
struct spdk_memory_domain **domains;
|
||||
char uuid_str[SPDK_UUID_STRING_LEN];
|
||||
int i, rc;
|
||||
|
||||
spdk_json_write_object_begin(w);
|
||||
@ -683,12 +684,8 @@ rpc_dump_bdev_info(void *ctx, struct spdk_bdev *bdev)
|
||||
|
||||
spdk_json_write_named_uint64(w, "num_blocks", spdk_bdev_get_num_blocks(bdev));
|
||||
|
||||
if (!spdk_mem_all_zero(&bdev->uuid, sizeof(bdev->uuid))) {
|
||||
char uuid_str[SPDK_UUID_STRING_LEN];
|
||||
|
||||
spdk_uuid_fmt_lower(uuid_str, sizeof(uuid_str), &bdev->uuid);
|
||||
spdk_json_write_named_string(w, "uuid", uuid_str);
|
||||
}
|
||||
spdk_uuid_fmt_lower(uuid_str, sizeof(uuid_str), &bdev->uuid);
|
||||
spdk_json_write_named_string(w, "uuid", uuid_str);
|
||||
|
||||
if (spdk_bdev_get_md_size(bdev) != 0) {
|
||||
spdk_json_write_named_uint32(w, "md_size", spdk_bdev_get_md_size(bdev));
|
||||
|
@ -1,5 +1,7 @@
|
||||
{
|
||||
"aliases": [],
|
||||
"aliases": [
|
||||
"$(UUID)"
|
||||
],
|
||||
"assigned_rate_limits": {
|
||||
"r_mbytes_per_sec": $(N),
|
||||
"rw_ios_per_sec": $(N),
|
||||
@ -30,5 +32,6 @@
|
||||
"write": $(S),
|
||||
"write_zeroes": $(S)
|
||||
},
|
||||
"uuid": "$(UUID)",
|
||||
"zoned": false
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ o- bdevs .......................................................................
|
||||
o- null ............................................................................................................... [Bdevs: 0]
|
||||
o- nvme ............................................................................................................... [Bdevs: 0]
|
||||
o- raid_volume ........................................................................................................ [Bdevs: 1]
|
||||
| o- testraid $(S) [Size=16.0M, Not claimed]
|
||||
| o- testraid $(S) [$(UUID), Size=16.0M, Not claimed]
|
||||
o- rbd ................................................................................................................ [Bdevs: 0]
|
||||
o- split_disk ......................................................................................................... [Bdevs: 0]
|
||||
o- uring .............................................................................................................. [Bdevs: 0]
|
||||
|
@ -1,11 +1,11 @@
|
||||
o- / ......................................................................................................................... [...]
|
||||
o- bdevs ................................................................................................................... [...]
|
||||
| o- aio .............................................................................................................. [Bdevs: 2]
|
||||
| | o- sample0 $(S) [Size=$(FP)M, Not claimed]
|
||||
| | o- sample1 $(S) [Size=$(FP)M, Not claimed]
|
||||
| | o- sample0 $(S) [$(UUID), Size=$(FP)M, Not claimed]
|
||||
| | o- sample1 $(S) [$(UUID), Size=$(FP)M, Not claimed]
|
||||
| o- error ............................................................................................................ [Bdevs: 2]
|
||||
| | o- EE_Malloc1 $(S) [Size=$(FP)M, Not claimed]
|
||||
| | o- EE_Malloc4 $(S) [Size=$(FP)M, Not claimed]
|
||||
| | o- EE_Malloc1 $(S) [$(UUID), Size=$(FP)M, Not claimed]
|
||||
| | o- EE_Malloc4 $(S) [$(UUID), Size=$(FP)M, Not claimed]
|
||||
| o- iscsi ............................................................................................................ [Bdevs: 0]
|
||||
| o- logical_volume ................................................................................................... [Bdevs: 2]
|
||||
| | o- $(UUID) ................................................ [lvs0/lvol$(FP), Size=$(FP)M, Not claimed]
|
||||
@ -21,15 +21,15 @@ o- / ...........................................................................
|
||||
| | o- null_bdev0 $(S) [$(UUID), Size=$(FP)M, Not claimed]
|
||||
| | o- null_bdev1 $(S) [$(UUID), Size=$(FP)M, Not claimed]
|
||||
| o- nvme ............................................................................................................. [Bdevs: 1]
|
||||
$(OPT) | | o- Nvme0n1 $(S) [Size=$(S), Claimed]
|
||||
$(OPT) | | o- Nvme0n1 $(S) [$(UUID), Size=$(S), Claimed]
|
||||
$(OPX) | | o- Nvme0n1 $(S) [$(UUID), Size=$(S), Claimed]
|
||||
| o- raid_volume ...................................................................................................... [Bdevs: 0]
|
||||
| o- rbd .............................................................................................................. [Bdevs: 0]
|
||||
| o- split_disk ....................................................................................................... [Bdevs: 4]
|
||||
| | o- Nvme0n1p0 $(S) [Size=$(FP)G, Not claimed]
|
||||
| | o- Nvme0n1p1 $(S) [Size=$(FP)G, Not claimed]
|
||||
| | o- Nvme0n1p2 $(S) [Size=$(FP)G, Not claimed]
|
||||
| | o- Nvme0n1p3 $(S) [Size=$(FP)G, Not claimed]
|
||||
| | o- Nvme0n1p0 $(S) [$(UUID), Size=$(FP)G, Not claimed]
|
||||
| | o- Nvme0n1p1 $(S) [$(UUID), Size=$(FP)G, Not claimed]
|
||||
| | o- Nvme0n1p2 $(S) [$(UUID), Size=$(FP)G, Not claimed]
|
||||
| | o- Nvme0n1p3 $(S) [$(UUID), Size=$(FP)G, Not claimed]
|
||||
| o- uring ............................................................................................................ [Bdevs: 0]
|
||||
| o- virtioblk_disk ................................................................................................... [Bdevs: 0]
|
||||
| o- virtioscsi_disk .................................................................................................. [Bdevs: 0]
|
||||
|
Loading…
Reference in New Issue
Block a user