mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
qemu: Adjust maxparams logic for qemuDomainGetBlockIoTune
Rather than using negative logic and setting the maxparams to a lesser value based on which capabilities exist, alter the logic to modify the maxparams based on a base value plus the found capabilities. Reduces the chance that some backported feature produces an incorrect value.
This commit is contained in:
parent
d3364dfdc8
commit
c84ad82a2d
@ -112,9 +112,12 @@ VIR_LOG_INIT("qemu.qemu_driver");
|
||||
|
||||
#define QEMU_NB_MEM_PARAM 3
|
||||
|
||||
#define QEMU_NB_BLOCK_IO_TUNE_PARAM 6
|
||||
#define QEMU_NB_BLOCK_IO_TUNE_PARAM_MAX 13
|
||||
#define QEMU_NB_BLOCK_IO_TUNE_PARAM_MAX_LENGTH 19
|
||||
#define QEMU_NB_BLOCK_IO_TUNE_BASE_PARAMS 6
|
||||
#define QEMU_NB_BLOCK_IO_TUNE_MAX_PARAMS 7
|
||||
#define QEMU_NB_BLOCK_IO_TUNE_LENGTH_PARAMS 6
|
||||
#define QEMU_NB_BLOCK_IO_TUNE_ALL_PARAMS (QEMU_NB_BLOCK_IO_TUNE_BASE_PARAMS + \
|
||||
QEMU_NB_BLOCK_IO_TUNE_MAX_PARAMS + \
|
||||
QEMU_NB_BLOCK_IO_TUNE_LENGTH_PARAMS)
|
||||
|
||||
#define QEMU_NB_NUMA_PARAM 2
|
||||
|
||||
@ -17718,7 +17721,7 @@ qemuDomainGetBlockIoTune(virDomainPtr dom,
|
||||
virDomainBlockIoTuneInfo reply;
|
||||
char *device = NULL;
|
||||
int ret = -1;
|
||||
int maxparams = QEMU_NB_BLOCK_IO_TUNE_PARAM_MAX_LENGTH;
|
||||
int maxparams;
|
||||
|
||||
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
|
||||
VIR_DOMAIN_AFFECT_CONFIG |
|
||||
@ -17752,11 +17755,13 @@ qemuDomainGetBlockIoTune(virDomainPtr dom,
|
||||
goto endjob;
|
||||
}
|
||||
|
||||
if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE_IOTUNE_MAX))
|
||||
maxparams = QEMU_NB_BLOCK_IO_TUNE_PARAM;
|
||||
else if (!virQEMUCapsGet(priv->qemuCaps,
|
||||
QEMU_CAPS_DRIVE_IOTUNE_MAX_LENGTH))
|
||||
maxparams = QEMU_NB_BLOCK_IO_TUNE_PARAM_MAX;
|
||||
maxparams = QEMU_NB_BLOCK_IO_TUNE_BASE_PARAMS;
|
||||
if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE_IOTUNE_MAX))
|
||||
maxparams += QEMU_NB_BLOCK_IO_TUNE_MAX_PARAMS;
|
||||
if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE_IOTUNE_MAX_LENGTH))
|
||||
maxparams += QEMU_NB_BLOCK_IO_TUNE_LENGTH_PARAMS;
|
||||
} else {
|
||||
maxparams = QEMU_NB_BLOCK_IO_TUNE_ALL_PARAMS;
|
||||
}
|
||||
|
||||
if (*nparams == 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user