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 * 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 * See COPYING.LIB for the License of this software
* *
@ -2765,11 +2765,31 @@ cmdSetvcpus(vshControl *ctl, const vshCmd *cmd)
ret = FALSE; ret = FALSE;
} }
} else { } 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) { if (virDomainSetVcpusFlags(dom, count, flags) < 0) {
ret = FALSE; ret = FALSE;
} }
} }
cleanup:
virDomainFree(dom); virDomainFree(dom);
return ret; return ret;
} }