From 4ec884e38772f17d5d4b2217210023f77c33abb2 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Thu, 7 Feb 2019 11:29:24 -0500 Subject: [PATCH] test: storage: Fill in default vol types for every pool Fill in a default volume type for every pool type, as reported by the VolGetInfo API. Now that we cover the whole enum, report an error for invalid values. Reviewed-by: Andrea Bolognani Signed-off-by: Cole Robinson --- src/test/test_driver.c | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 02cd4f4d07..2ec3783385 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -5164,13 +5164,28 @@ testStorageVolDelete(virStorageVolPtr vol, static int testStorageVolumeTypeForPool(int pooltype) { - switch (pooltype) { - case VIR_STORAGE_POOL_DIR: - case VIR_STORAGE_POOL_FS: - case VIR_STORAGE_POOL_NETFS: - return VIR_STORAGE_VOL_FILE; - default: - return VIR_STORAGE_VOL_BLOCK; + switch ((virStoragePoolType) pooltype) { + case VIR_STORAGE_POOL_DIR: + case VIR_STORAGE_POOL_FS: + case VIR_STORAGE_POOL_NETFS: + case VIR_STORAGE_POOL_VSTORAGE: + return VIR_STORAGE_VOL_FILE; + case VIR_STORAGE_POOL_SHEEPDOG: + case VIR_STORAGE_POOL_ISCSI_DIRECT: + case VIR_STORAGE_POOL_GLUSTER: + case VIR_STORAGE_POOL_RBD: + return VIR_STORAGE_VOL_NETWORK; + case VIR_STORAGE_POOL_LOGICAL: + case VIR_STORAGE_POOL_DISK: + case VIR_STORAGE_POOL_MPATH: + case VIR_STORAGE_POOL_ISCSI: + case VIR_STORAGE_POOL_SCSI: + case VIR_STORAGE_POOL_ZFS: + return VIR_STORAGE_VOL_BLOCK; + case VIR_STORAGE_POOL_LAST: + default: + virReportEnumRangeError(virStoragePoolType, pooltype); + return -1; } } @@ -5193,7 +5208,8 @@ testStorageVolGetInfo(virStorageVolPtr vol, goto cleanup; memset(info, 0, sizeof(*info)); - info->type = testStorageVolumeTypeForPool(def->type); + if ((info->type = testStorageVolumeTypeForPool(def->type)) < 0) + goto cleanup; info->capacity = privvol->target.capacity; info->allocation = privvol->target.allocation; ret = 0; -- GitLab