virsh: Add group name to blkdeviotune output

https://bugzilla.redhat.com/show_bug.cgi?id=1336564

Add the ability to set/display the group_name for block device iotune

Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
John Ferlan 2016-10-02 08:42:31 -04:00
parent 1ff38366b8
commit d92b09cd75
2 changed files with 21 additions and 1 deletions

View File

@ -1263,6 +1263,10 @@ static const vshCmdOptDef opts_blkdeviotune[] = {
.type = VSH_OT_INT,
.help = N_("I/O size in bytes")
},
{.name = "group_name",
.type = VSH_OT_STRING,
.help = N_("group name to share I/O quota between multiple drives")
},
{.name = "total_bytes_sec_max_length",
.type = VSH_OT_ALIAS,
.help = "total-bytes-sec-max-length"
@ -1322,6 +1326,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd)
{
virDomainPtr dom = NULL;
const char *name, *disk;
const char *group_name = NULL;
unsigned long long value;
int nparams = 0;
int maxparams = 0;
@ -1393,6 +1398,18 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd)
VSH_ADD_IOTUNE(write-iops-sec-max-length, WRITE_IOPS_SEC_MAX_LENGTH);
#undef VSH_ADD_IOTUNE
rv = vshCommandOptStringReq(ctl, cmd, "group_name", &group_name);
if (rv < 0) {
vshError(ctl, "%s", _("Unable to parse group parameter"));
goto cleanup;
} else if (rv > 0) {
if (virTypedParamsAddString(&params, &nparams, &maxparams,
VIR_DOMAIN_BLOCK_IOTUNE_GROUP_NAME,
group_name) < 0)
goto save_error;
}
if (nparams == 0) {
if (virDomainGetBlockIoTune(dom, NULL, NULL, &nparams, flags) != 0) {
vshError(ctl, "%s",

View File

@ -1139,7 +1139,7 @@ command.
[I<read-bytes-sec-max-length>] [I<write-bytes-sec-max-length>]]
[[I<total-iops-sec-max-length>] |
[I<read-iops-sec-max-length>] [I<write-iops-sec-max-length>]]
[I<size-iops-sec>]
[I<size-iops-sec>] [I<group_name>]
Set or query the block disk io parameters for a block device of I<domain>.
I<device> specifies a unique target name (<target dev='name'/>) or source
@ -1179,6 +1179,9 @@ read I/O operations limit.
I<--write-iops-sec-max-length> specifies duration in seconds to allow maximum
write I/O operations limit.
I<--size-iops-sec> specifies size I/O operations limit per second.
I<--group_name> specifies group name to share I/O quota between multiple drives.
For a qemu domain, if no name is provided, then the default is to have a single
group for each I<device>.
Older versions of virsh only accepted these options with underscore
instead of dash, as in I<--total_bytes_sec>.