mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 12:35:17 +00:00
test_driver: Implement virDomainGetIOThreadInfo
If we use test driver on different machines, and use 0 as bitmap_size for virDomainDriverGetIOThreadsConfig(), we would get different results for the `CPU Affinity`, because it's depending on the host CPU's bitmap. In order to get a stable result for testing, use result of virDomainDefGetVcpus() as bitmap_size instead. Signed-off-by: Luke Yue <lukedyue@gmail.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
fac57323fc
commit
5af7036ec0
@ -9597,6 +9597,34 @@ testDomainGetMessages(virDomainPtr dom,
|
||||
return rv;
|
||||
}
|
||||
|
||||
static int
|
||||
testDomainGetIOThreadInfo(virDomainPtr dom,
|
||||
virDomainIOThreadInfoPtr **info,
|
||||
unsigned int flags)
|
||||
{
|
||||
virDomainObj *vm;
|
||||
virDomainDef *targetDef = NULL;
|
||||
unsigned int bitmap_size = 0;
|
||||
int ret = -1;
|
||||
|
||||
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
|
||||
VIR_DOMAIN_AFFECT_CONFIG, -1);
|
||||
|
||||
if (!(vm = testDomObjFromDomain(dom)))
|
||||
goto cleanup;
|
||||
|
||||
if (!(targetDef = virDomainObjGetOneDef(vm, flags)))
|
||||
goto cleanup;
|
||||
|
||||
bitmap_size = virDomainDefGetVcpus(targetDef);
|
||||
|
||||
ret = virDomainDriverGetIOThreadsConfig(targetDef, info, bitmap_size);
|
||||
|
||||
cleanup:
|
||||
virDomainObjEndAPI(&vm);
|
||||
return ret;
|
||||
}
|
||||
|
||||
typedef enum {
|
||||
VIR_DOMAIN_IOTHREAD_ACTION_ADD,
|
||||
VIR_DOMAIN_IOTHREAD_ACTION_DEL,
|
||||
@ -9792,6 +9820,7 @@ static virHypervisorDriver testHypervisorDriver = {
|
||||
.domainGetVcpus = testDomainGetVcpus, /* 0.7.3 */
|
||||
.domainGetVcpuPinInfo = testDomainGetVcpuPinInfo, /* 1.2.18 */
|
||||
.domainGetMaxVcpus = testDomainGetMaxVcpus, /* 0.7.3 */
|
||||
.domainGetIOThreadInfo = testDomainGetIOThreadInfo, /* 7.8.0 */
|
||||
.domainAddIOThread = testDomainAddIOThread, /* 7.8.0 */
|
||||
.domainDelIOThread = testDomainDelIOThread, /* 7.8.0 */
|
||||
.domainGetSecurityLabel = testDomainGetSecurityLabel, /* 7.5.0 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user