{"live", VSH_OT_BOOL, 0, N_("live migration")},
{"p2p", VSH_OT_BOOL, 0, N_("peer-2-peer migration")},
{"direct", VSH_OT_BOOL, 0, N_("direct migration")},
+ {"tunneled", VSH_OT_ALIAS, 0, "tunnelled"},
{"tunnelled", VSH_OT_BOOL, 0, N_("tunnelled migration")},
{"persistent", VSH_OT_BOOL, 0, N_("persist VM on destination")},
{"undefinesource", VSH_OT_BOOL, 0, N_("undefine VM on source")},
static const vshCmdOptDef opts_blkdeviotune[] = {
{"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or uuid")},
{"device", VSH_OT_DATA, VSH_OFLAG_REQ, N_("block device")},
- {"total_bytes_sec", VSH_OT_INT, VSH_OFLAG_NONE,
+ {"total_bytes_sec", VSH_OT_ALIAS, 0, "total-bytes-sec"},
+ {"total-bytes-sec", VSH_OT_INT, VSH_OFLAG_NONE,
N_("total throughput limit in bytes per second")},
- {"read_bytes_sec", VSH_OT_INT, VSH_OFLAG_NONE,
+ {"read_bytes_sec", VSH_OT_ALIAS, 0, "read-bytes-sec"},
+ {"read-bytes-sec", VSH_OT_INT, VSH_OFLAG_NONE,
N_("read throughput limit in bytes per second")},
- {"write_bytes_sec", VSH_OT_INT, VSH_OFLAG_NONE,
+ {"write_bytes_sec", VSH_OT_ALIAS, 0, "write-bytes-sec"},
+ {"write-bytes-sec", VSH_OT_INT, VSH_OFLAG_NONE,
N_("write throughput limit in bytes per second")},
- {"total_iops_sec", VSH_OT_INT, VSH_OFLAG_NONE,
+ {"total_iops_sec", VSH_OT_ALIAS, 0, "total-iops-sec"},
+ {"total-iops-sec", VSH_OT_INT, VSH_OFLAG_NONE,
N_("total I/O operations limit per second")},
- {"read_iops_sec", VSH_OT_INT, VSH_OFLAG_NONE,
+ {"read_iops_sec", VSH_OT_ALIAS, 0, "read-iops-sec"},
+ {"read-iops-sec", VSH_OT_INT, VSH_OFLAG_NONE,
N_("read I/O operations limit per second")},
- {"write_iops_sec", VSH_OT_INT, VSH_OFLAG_NONE,
+ {"write_iops_sec", VSH_OT_ALIAS, 0, "write-iops-sec"},
+ {"write-iops-sec", VSH_OT_INT, VSH_OFLAG_NONE,
N_("write I/O operations limit per second")},
{"config", VSH_OT_BOOL, 0, N_("affect next boot")},
{"live", VSH_OT_BOOL, 0, N_("affect running domain")},
if (vshCommandOptString(cmd, "device", &disk) < 0)
goto cleanup;
- if ((rv = vshCommandOptULongLong(cmd, "total_bytes_sec", &total_bytes_sec)) < 0) {
+ if ((rv = vshCommandOptULongLong(cmd, "total-bytes-sec",
+ &total_bytes_sec)) < 0) {
vshError(ctl, "%s",
_("Unable to parse integer parameter"));
goto cleanup;
nparams++;
}
- if ((rv = vshCommandOptULongLong(cmd, "read_bytes_sec", &read_bytes_sec)) < 0) {
+ if ((rv = vshCommandOptULongLong(cmd, "read-bytes-sec",
+ &read_bytes_sec)) < 0) {
vshError(ctl, "%s",
_("Unable to parse integer parameter"));
goto cleanup;
nparams++;
}
- if ((rv = vshCommandOptULongLong(cmd, "write_bytes_sec", &write_bytes_sec)) < 0) {
+ if ((rv = vshCommandOptULongLong(cmd, "write-bytes-sec",
+ &write_bytes_sec)) < 0) {
vshError(ctl, "%s",
_("Unable to parse integer parameter"));
goto cleanup;
nparams++;
}
- if ((rv = vshCommandOptULongLong(cmd, "total_iops_sec", &total_iops_sec)) < 0) {
+ if ((rv = vshCommandOptULongLong(cmd, "total-iops-sec",
+ &total_iops_sec)) < 0) {
vshError(ctl, "%s",
_("Unable to parse integer parameter"));
goto cleanup;
nparams++;
}
- if ((rv = vshCommandOptULongLong(cmd, "read_iops_sec", &read_iops_sec)) < 0) {
+ if ((rv = vshCommandOptULongLong(cmd, "read-iops-sec",
+ &read_iops_sec)) < 0) {
vshError(ctl, "%s",
_("Unable to parse integer parameter"));
goto cleanup;
nparams++;
}
- if ((rv = vshCommandOptULongLong(cmd, "write_iops_sec", &write_iops_sec)) < 0) {
+ if ((rv = vshCommandOptULongLong(cmd, "write-iops-sec",
+ &write_iops_sec)) < 0) {
vshError(ctl, "%s",
_("Unable to parse integer parameter"));
goto cleanup;
params = vshCalloc(ctl, nparams, sizeof(*params));
i = 0;
- if ((i < nparams) && (vshCommandOptBool(cmd, "total_bytes_sec"))) {
+ if ((i < nparams) && (vshCommandOptBool(cmd, "total-bytes-sec"))) {
temp = ¶ms[i];
temp->type = VIR_TYPED_PARAM_ULLONG;
strncpy(temp->field, VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_BYTES_SEC,
i++;
}
- if ((i < nparams) && (vshCommandOptBool(cmd, "read_bytes_sec"))) {
+ if ((i < nparams) && (vshCommandOptBool(cmd, "read-bytes-sec"))) {
temp = ¶ms[i];
temp->type = VIR_TYPED_PARAM_ULLONG;
strncpy(temp->field, VIR_DOMAIN_BLOCK_IOTUNE_READ_BYTES_SEC,
i++;
}
- if ((i < nparams) && (vshCommandOptBool(cmd, "write_bytes_sec"))) {
+ if ((i < nparams) && (vshCommandOptBool(cmd, "write-bytes-sec"))) {
temp = ¶ms[i];
temp->type = VIR_TYPED_PARAM_ULLONG;
strncpy(temp->field, VIR_DOMAIN_BLOCK_IOTUNE_WRITE_BYTES_SEC,
i++;
}
- if ((i < nparams) && (vshCommandOptBool(cmd, "total_iops_sec"))) {
+ if ((i < nparams) && (vshCommandOptBool(cmd, "total-iops-sec"))) {
temp = ¶ms[i];
temp->type = VIR_TYPED_PARAM_ULLONG;
strncpy(temp->field, VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_IOPS_SEC,
i++;
}
- if ((i < nparams) && (vshCommandOptBool(cmd, "read_iops_sec"))) {
+ if ((i < nparams) && (vshCommandOptBool(cmd, "read-iops-sec"))) {
temp = ¶ms[i];
temp->type = VIR_TYPED_PARAM_ULLONG;
strncpy(temp->field, VIR_DOMAIN_BLOCK_IOTUNE_READ_IOPS_SEC,
i++;
}
- if ((i < nparams) && (vshCommandOptBool(cmd, "write_iops_sec"))) {
+ if ((i < nparams) && (vshCommandOptBool(cmd, "write-iops-sec"))) {
temp = ¶ms[i];
temp->type = VIR_TYPED_PARAM_ULLONG;
strncpy(temp->field, VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC,
=item B<blkdeviotune> I<domain> I<device>
[[I<--config>] [I<--live>] | [I<--current>]]
-[[I<total_bytes_sec>] | [I<read_bytes_sec>] [I<write_bytes_sec>]]
-[[I<total_iops_sec>] | [I<read_iops_sec>] [I<write_iops_sec>]]
+[[I<total-bytes-sec>] | [I<read-bytes-sec>] [I<write-bytes-sec>]]
+[[I<total-iops-sec>] | [I<read-iops-sec>] [I<write-iops-sec>]]
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
If no limit is specified, it will query current I/O limits setting.
Otherwise, alter the limits with these flags:
-I<--total_bytes_sec> specifies total throughput limit in bytes per second.
-I<--read_bytes_sec> specifies read throughput limit in bytes per second.
-I<--write_bytes_sec> specifies write throughput limit in bytes per second.
-I<--total_iops_sec> specifies total I/O operations limit per second.
-I<--read_iops_sec> specifies read I/O operations limit per second.
-I<--write_iops_sec> specifies write I/O operations limit per second.
+I<--total-bytes-sec> specifies total throughput limit in bytes per second.
+I<--read-bytes-sec> specifies read throughput limit in bytes per second.
+I<--write-bytes-sec> specifies write throughput limit in bytes per second.
+I<--total-iops-sec> specifies total I/O operations limit per second.
+I<--read-iops-sec> specifies read I/O operations limit per second.
+I<--write-iops-sec> specifies write I/O operations limit per second.
+
+Older versions of virsh only accepted these options with underscore
+instead of dash, as in I<--total_bytes_sec>.
Bytes and iops values are independent, but setting only one value (such
-as --read_bytes_sec) resets the other two in that category to unlimited.
+as --read-bytes-sec) resets the other two in that category to unlimited.
An explicit 0 also clears any limit. A non-zero value for a given total
cannot be mixed with non-zero values for read or write.