提交 f987d175 编写于 作者: D Daniel P. Berrange

Fix handling of blkio deviceWeight empty string

A common coding pattern for changing blkio parameters is

  1. virDomainGetBlkioParameters

  2. change one or more params

  3. virDomainSetBlkioParameters

For this to work, it must be possible to roundtrip through
the methods without error. Unfortunately virDomainGetBlkioParameters
will return "" for the deviceWeight parameter for guests by default,
which virDomainSetBlkioParameters will then reject as invalid.

This fixes the handling of "" to be a no-op, and also improves the
error message to tell you what was invalid
上级 b569c1ab
......@@ -5959,6 +5959,12 @@ qemuDomainParseDeviceWeightStr(char *deviceWeightStr,
int i;
virBlkioDeviceWeightPtr result = NULL;
*dw = NULL;
*size = 0;
if (STREQ(deviceWeightStr, ""))
return 0;
temp = deviceWeightStr;
while (temp) {
temp = strchr(temp, ',');
......@@ -6021,7 +6027,7 @@ qemuDomainParseDeviceWeightStr(char *deviceWeightStr,
error:
qemuReportError(VIR_ERR_INVALID_ARG,
_("unable to parse %s"), deviceWeightStr);
_("unable to parse device weight '%s'"), deviceWeightStr);
cleanup:
virBlkioDeviceWeightArrayClear(result, ndevices);
VIR_FREE(result);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册