mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
test_driver: implement testDomainGetBlockIoTune
Signed-off-by: Ilias Stamatis <stamatis.iliass@gmail.com> Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
parent
71a08c5f59
commit
824260cb5e
@ -3611,6 +3611,107 @@ testDomainGetInterfaceParameters(virDomainPtr dom,
|
|||||||
virDomainObjEndAPI(&vm);
|
virDomainObjEndAPI(&vm);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
testDomainGetBlockIoTune(virDomainPtr dom,
|
||||||
|
const char *path,
|
||||||
|
virTypedParameterPtr params,
|
||||||
|
int *nparams,
|
||||||
|
unsigned int flags)
|
||||||
|
{
|
||||||
|
virDomainObjPtr vm = NULL;
|
||||||
|
virDomainDefPtr def = NULL;
|
||||||
|
virDomainDiskDefPtr disk;
|
||||||
|
virDomainBlockIoTuneInfo reply = {0};
|
||||||
|
int ret = -1;
|
||||||
|
|
||||||
|
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
|
||||||
|
VIR_DOMAIN_AFFECT_CONFIG |
|
||||||
|
VIR_TYPED_PARAM_STRING_OKAY, -1);
|
||||||
|
|
||||||
|
flags &= ~VIR_TYPED_PARAM_STRING_OKAY;
|
||||||
|
|
||||||
|
if (*nparams == 0) {
|
||||||
|
*nparams = 20;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(vm = testDomObjFromDomain(dom)))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (!(def = virDomainObjGetOneDef(vm, flags)))
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
if (!(disk = virDomainDiskByName(def, path, true))) {
|
||||||
|
virReportError(VIR_ERR_INVALID_ARG,
|
||||||
|
_("disk '%s' was not found in the domain config"),
|
||||||
|
path);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
reply = disk->blkdeviotune;
|
||||||
|
if (VIR_STRDUP(reply.group_name, disk->blkdeviotune.group_name) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
TEST_SET_PARAM(0, VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_BYTES_SEC,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.total_bytes_sec);
|
||||||
|
TEST_SET_PARAM(1, VIR_DOMAIN_BLOCK_IOTUNE_READ_BYTES_SEC,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.read_bytes_sec);
|
||||||
|
TEST_SET_PARAM(2, VIR_DOMAIN_BLOCK_IOTUNE_WRITE_BYTES_SEC,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.write_bytes_sec);
|
||||||
|
|
||||||
|
TEST_SET_PARAM(3, VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_IOPS_SEC,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.total_iops_sec);
|
||||||
|
TEST_SET_PARAM(4, VIR_DOMAIN_BLOCK_IOTUNE_READ_IOPS_SEC,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.read_iops_sec);
|
||||||
|
TEST_SET_PARAM(5, VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.write_iops_sec);
|
||||||
|
|
||||||
|
TEST_SET_PARAM(6, VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_BYTES_SEC_MAX,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.total_bytes_sec_max);
|
||||||
|
TEST_SET_PARAM(7, VIR_DOMAIN_BLOCK_IOTUNE_READ_BYTES_SEC_MAX,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.read_bytes_sec_max);
|
||||||
|
TEST_SET_PARAM(8, VIR_DOMAIN_BLOCK_IOTUNE_WRITE_BYTES_SEC_MAX,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.write_bytes_sec_max);
|
||||||
|
|
||||||
|
TEST_SET_PARAM(9, VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_IOPS_SEC_MAX,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.total_iops_sec_max);
|
||||||
|
TEST_SET_PARAM(10, VIR_DOMAIN_BLOCK_IOTUNE_READ_IOPS_SEC_MAX,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.read_iops_sec_max);
|
||||||
|
TEST_SET_PARAM(11, VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC_MAX,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.write_iops_sec_max);
|
||||||
|
|
||||||
|
TEST_SET_PARAM(12, VIR_DOMAIN_BLOCK_IOTUNE_SIZE_IOPS_SEC,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.size_iops_sec);
|
||||||
|
|
||||||
|
TEST_SET_PARAM(13, VIR_DOMAIN_BLOCK_IOTUNE_GROUP_NAME,
|
||||||
|
VIR_TYPED_PARAM_STRING, reply.group_name);
|
||||||
|
reply.group_name = NULL;
|
||||||
|
|
||||||
|
TEST_SET_PARAM(14, VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_BYTES_SEC_MAX_LENGTH,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.total_bytes_sec_max_length);
|
||||||
|
TEST_SET_PARAM(15, VIR_DOMAIN_BLOCK_IOTUNE_READ_BYTES_SEC_MAX_LENGTH,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.read_bytes_sec_max_length);
|
||||||
|
TEST_SET_PARAM(16, VIR_DOMAIN_BLOCK_IOTUNE_WRITE_BYTES_SEC_MAX_LENGTH,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.write_bytes_sec_max_length);
|
||||||
|
|
||||||
|
TEST_SET_PARAM(17, VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_IOPS_SEC_MAX_LENGTH,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.total_iops_sec_max_length);
|
||||||
|
TEST_SET_PARAM(18, VIR_DOMAIN_BLOCK_IOTUNE_READ_IOPS_SEC_MAX_LENGTH,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.read_iops_sec_max_length);
|
||||||
|
TEST_SET_PARAM(19, VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC_MAX_LENGTH,
|
||||||
|
VIR_TYPED_PARAM_ULLONG, reply.write_iops_sec_max_length);
|
||||||
|
|
||||||
|
if (*nparams > 20)
|
||||||
|
*nparams = 20;
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
cleanup:
|
||||||
|
VIR_FREE(reply.group_name);
|
||||||
|
virDomainObjEndAPI(&vm);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
#undef TEST_SET_PARAM
|
#undef TEST_SET_PARAM
|
||||||
|
|
||||||
|
|
||||||
@ -9019,6 +9120,7 @@ static virHypervisorDriver testHypervisorDriver = {
|
|||||||
.domainGetNumaParameters = testDomainGetNumaParameters, /* 5.6.0 */
|
.domainGetNumaParameters = testDomainGetNumaParameters, /* 5.6.0 */
|
||||||
.domainSetInterfaceParameters = testDomainSetInterfaceParameters, /* 5.6.0 */
|
.domainSetInterfaceParameters = testDomainSetInterfaceParameters, /* 5.6.0 */
|
||||||
.domainGetInterfaceParameters = testDomainGetInterfaceParameters, /* 5.6.0 */
|
.domainGetInterfaceParameters = testDomainGetInterfaceParameters, /* 5.6.0 */
|
||||||
|
.domainGetBlockIoTune = testDomainGetBlockIoTune, /* 5.7.0 */
|
||||||
.connectListDefinedDomains = testConnectListDefinedDomains, /* 0.1.11 */
|
.connectListDefinedDomains = testConnectListDefinedDomains, /* 0.1.11 */
|
||||||
.connectNumOfDefinedDomains = testConnectNumOfDefinedDomains, /* 0.1.11 */
|
.connectNumOfDefinedDomains = testConnectNumOfDefinedDomains, /* 0.1.11 */
|
||||||
.domainCreate = testDomainCreate, /* 0.1.11 */
|
.domainCreate = testDomainCreate, /* 0.1.11 */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user