提交 bb5d6379 编写于 作者: M Martin Kletzander

qemu: Don't lose group_name

Now that we have a function for properly assigning the blockdeviotune
info, let's use it instead of dropping the group name on every
assignment.  Otherwise it will not work with both --live and --config
options.
Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
上级 eae7cfd4
...@@ -17173,7 +17173,7 @@ typedef enum { ...@@ -17173,7 +17173,7 @@ typedef enum {
/* If the user didn't specify bytes limits, inherit previous values; /* If the user didn't specify bytes limits, inherit previous values;
* likewise if the user didn't specify iops limits. */ * likewise if the user didn't specify iops limits. */
static void static int
qemuDomainSetBlockIoTuneDefaults(virDomainBlockIoTuneInfoPtr newinfo, qemuDomainSetBlockIoTuneDefaults(virDomainBlockIoTuneInfoPtr newinfo,
virDomainBlockIoTuneInfoPtr oldinfo, virDomainBlockIoTuneInfoPtr oldinfo,
qemuBlockIoTuneSetFlags set_fields) qemuBlockIoTuneSetFlags set_fields)
...@@ -17193,8 +17193,9 @@ qemuDomainSetBlockIoTuneDefaults(virDomainBlockIoTuneInfoPtr newinfo, ...@@ -17193,8 +17193,9 @@ qemuDomainSetBlockIoTuneDefaults(virDomainBlockIoTuneInfoPtr newinfo,
if (!(set_fields & QEMU_BLOCK_IOTUNE_SET_SIZE_IOPS)) if (!(set_fields & QEMU_BLOCK_IOTUNE_SET_SIZE_IOPS))
newinfo->size_iops_sec = oldinfo->size_iops_sec; newinfo->size_iops_sec = oldinfo->size_iops_sec;
if (!(set_fields & QEMU_BLOCK_IOTUNE_SET_GROUP_NAME)) if (!(set_fields & QEMU_BLOCK_IOTUNE_SET_GROUP_NAME) &&
VIR_STEAL_PTR(newinfo->group_name, oldinfo->group_name); VIR_STRDUP(newinfo->group_name, oldinfo->group_name) < 0)
return -1;
/* The length field is handled a bit differently. If not defined/set, /* The length field is handled a bit differently. If not defined/set,
* QEMU will default these to 0 or 1 depending on whether something in * QEMU will default these to 0 or 1 depending on whether something in
...@@ -17226,6 +17227,7 @@ qemuDomainSetBlockIoTuneDefaults(virDomainBlockIoTuneInfoPtr newinfo, ...@@ -17226,6 +17227,7 @@ qemuDomainSetBlockIoTuneDefaults(virDomainBlockIoTuneInfoPtr newinfo,
#undef SET_MAX_LENGTH #undef SET_MAX_LENGTH
return 0;
} }
...@@ -17477,8 +17479,9 @@ qemuDomainSetBlockIoTune(virDomainPtr dom, ...@@ -17477,8 +17479,9 @@ qemuDomainSetBlockIoTune(virDomainPtr dom,
if (!(device = qemuAliasFromDisk(disk))) if (!(device = qemuAliasFromDisk(disk)))
goto endjob; goto endjob;
qemuDomainSetBlockIoTuneDefaults(&info, &disk->blkdeviotune, if (qemuDomainSetBlockIoTuneDefaults(&info, &disk->blkdeviotune,
set_fields); set_fields) < 0)
goto endjob;
#define CHECK_MAX(val, _bool) \ #define CHECK_MAX(val, _bool) \
do { \ do { \
...@@ -17529,8 +17532,9 @@ qemuDomainSetBlockIoTune(virDomainPtr dom, ...@@ -17529,8 +17532,9 @@ qemuDomainSetBlockIoTune(virDomainPtr dom,
if (ret < 0) if (ret < 0)
goto endjob; goto endjob;
ret = -1; ret = -1;
disk->blkdeviotune = info;
info.group_name = NULL; if (virDomainDiskSetBlockIOTune(disk, &info) < 0)
goto endjob;
if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir,
vm, driver->caps) < 0) vm, driver->caps) < 0)
...@@ -17550,14 +17554,17 @@ qemuDomainSetBlockIoTune(virDomainPtr dom, ...@@ -17550,14 +17554,17 @@ qemuDomainSetBlockIoTune(virDomainPtr dom,
path); path);
goto endjob; goto endjob;
} }
qemuDomainSetBlockIoTuneDefaults(&info, &conf_disk->blkdeviotune,
set_fields); if (qemuDomainSetBlockIoTuneDefaults(&info, &conf_disk->blkdeviotune,
conf_disk->blkdeviotune = info; set_fields) < 0)
info.group_name = NULL; goto endjob;
if (virDomainDiskSetBlockIOTune(conf_disk, &info) < 0)
goto endjob;
if (virDomainSaveConfig(cfg->configDir, driver->caps, if (virDomainSaveConfig(cfg->configDir, driver->caps,
persistentDef) < 0) persistentDef) < 0)
goto endjob; goto endjob;
} }
ret = 0; ret = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册