virsh: ensure --maximum flag used only with --config for setvcpus

This commit is contained in:
Justin Clift 2011-01-14 04:42:03 +11:00 committed by Eric Blake
parent 79f56c669f
commit 6935a1e289

View File

@ -1,7 +1,7 @@
/*
* virsh.c: a shell to exercise the libvirt API
*
* Copyright (C) 2005, 2007-2010 Red Hat, Inc.
* Copyright (C) 2005, 2007-2011 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
@ -2765,11 +2765,31 @@ cmdSetvcpus(vshControl *ctl, const vshCmd *cmd)
ret = FALSE;
}
} else {
/* If the --maximum flag was given, we need to ensure only the
--config flag is in effect as well */
if (maximum) {
vshDebug(ctl, 5, "--maximum flag was given\n");
/* If neither the --config nor --live flags were given, OR
if just the --live flag was given, we need to error out
warning the user that the --maximum flag can only be used
with the --config flag */
if (live || !config) {
/* Warn the user about the invalid flag combination */
vshError(ctl, _("--maximum must be used with --config only"));
ret = FALSE;
goto cleanup;
}
}
/* Apply the virtual cpu changes */
if (virDomainSetVcpusFlags(dom, count, flags) < 0) {
ret = FALSE;
}
}
cleanup:
virDomainFree(dom);
return ret;
}