[libvirt] [PATCH 03/13] virsh: blockjob: Split out vshBlockJobSetSpeed from blockJobImpl
John Ferlan
jferlan at redhat.com
Mon Jul 20 20:47:38 UTC 2015
On 07/15/2015 12:33 PM, Peter Krempa wrote:
> ---
> tools/virsh-domain.c | 33 ++++++++++++++++++++++++---------
> 1 file changed, 24 insertions(+), 9 deletions(-)
>
> diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
> index 24f53ea..e3f7220 100644
> --- a/tools/virsh-domain.c
> +++ b/tools/virsh-domain.c
> @@ -1666,7 +1666,6 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd)
>
> typedef enum {
> VSH_CMD_BLOCK_JOB_ABORT,
> - VSH_CMD_BLOCK_JOB_SPEED,
> VSH_CMD_BLOCK_JOB_PULL,
> VSH_CMD_BLOCK_JOB_COMMIT,
> } vshCmdBlockJobMode;
> @@ -1701,10 +1700,6 @@ blockJobImpl(vshControl *ctl, const vshCmd *cmd,
> if (virDomainBlockJobAbort(dom, path, flags) < 0)
> goto cleanup;
> break;
> - case VSH_CMD_BLOCK_JOB_SPEED:
> - if (virDomainBlockJobSetSpeed(dom, path, bandwidth, 0) < 0)
> - goto cleanup;
> - break;
> case VSH_CMD_BLOCK_JOB_PULL:
> if (vshCommandOptStringReq(ctl, cmd, "base", &base) < 0)
> goto cleanup;
> @@ -2537,6 +2532,26 @@ vshBlockJobInfo(vshControl *ctl,
>
>
> static bool
> +vshBlockJobSetSpeed(vshControl *ctl,
> + const vshCmd *cmd,
> + virDomainPtr dom,
> + const char *path)
> +{
> + unsigned long bandwidth;
> +
> + if (vshCommandOptULWrap(ctl, cmd, "bandwidth", &bandwidth) < 0) {
> + vshError(ctl, "%s", _("bandwidth must be a number"));
vshCommandOptULInternal already emits an error message when ret < 0:
"Numeric value '%s' for <%s> option is malformed or out of range"
This is repeated in patch 5/13 and 6/13
Did you intend to have two messages?
John
> + return false;
> + }
> +
> + if (virDomainBlockJobSetSpeed(dom, path, bandwidth, 0) < 0)
> + return false;
> +
> + return true;
> +}
> +
> +
> +static bool
> cmdBlockJob(vshControl *ctl, const vshCmd *cmd)
> {
> bool ret = false;
> @@ -2568,10 +2583,7 @@ cmdBlockJob(vshControl *ctl, const vshCmd *cmd)
>
> if (abort || pivot || async)
> return blockJobImpl(ctl, cmd, VSH_CMD_BLOCK_JOB_ABORT, NULL);
> - if (bandwidth)
> - return blockJobImpl(ctl, cmd, VSH_CMD_BLOCK_JOB_SPEED, NULL);
>
> - /* Everything below here is for --info mode */
> if (!(dom = vshCommandOptDomain(ctl, cmd, NULL)))
> goto cleanup;
>
> @@ -2579,7 +2591,10 @@ cmdBlockJob(vshControl *ctl, const vshCmd *cmd)
> if (vshCommandOptStringReq(ctl, cmd, "path", &path) < 0)
> goto cleanup;
>
> - ret = vshBlockJobInfo(ctl, dom, path, raw, bytes);
> + if (bandwidth)
> + ret = vshBlockJobSetSpeed(ctl, cmd, dom, path);
> + else
> + ret = vshBlockJobInfo(ctl, dom, path, raw, bytes);
>
> cleanup:
> if (dom)
>
More information about the libvir-list
mailing list