On Fri, Jun 03, 2011 at 10:38:24AM +0100, Daniel P. Berrange wrote:
On Fri, Jun 03, 2011 at 10:15:29AM +0800, Hu Tao wrote:
> This patch unify the PARAM_CURRENT/PARAM_LIVE/PARAM_CONFIG flags as
> Daniel Veillard suggested.
> ---
> include/libvirt/libvirt.h.in | 58 ++++---------
> src/esx/esx_driver.c | 10 +-
> src/libvirt.c | 4 +-
> src/openvz/openvz_driver.c | 10 +-
> src/qemu/qemu_driver.c | 194 +++++++++++++++++++++---------------------
> src/test/test_driver.c | 42 +++++-----
> src/uml/uml_driver.c | 4 +-
> src/vbox/vbox_tmpl.c | 22 +++---
> tools/virsh.c | 74 ++++++++--------
> 9 files changed, 196 insertions(+), 222 deletions(-)
>
> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> index 8058229..8ef07b0 100644
> --- a/include/libvirt/libvirt.h.in
> +++ b/include/libvirt/libvirt.h.in
> @@ -142,6 +142,22 @@ typedef enum {
> } virDomainCrashedReason;
>
> /**
> + * virDomainParamFlags:
> + *
> + * common flags for commands that support --current, --live, --config
> + * and --force parameters
> + */
> +
> +typedef enum {
> + VIR_DOMAIN_PARAM_CURRENT = 0, /* affect current domain state */
> + VIR_DOMAIN_PARAM_LIVE = (1 << 0), /* affect active domain */
> + VIR_DOMAIN_PARAM_CONFIG = (1 << 1), /* affect next boot */
> + VIR_DOMAIN_PARAM_FORCE = (1 << 2), /* Forcibly modify device
> + (ex. force eject a cdrom) */
> + VIR_DOMAIN_PARAM_MAXIMUM = (1 << 3), /* affect Max rather than
current */
> +} virDomainParamFlags;
> +
> +/**
> * virDomainInfoPtr:
> *
> * a virDomainInfo is a structure filled by virDomainGetInfo() and extracting
> @@ -338,12 +354,6 @@ typedef virTypedParameter *virTypedParameterPtr;
>
> /* Management of scheduler parameters */
>
> -typedef enum {
> - VIR_DOMAIN_SCHEDPARAM_CURRENT = 0, /* affect current domain state */
> - VIR_DOMAIN_SCHEDPARAM_LIVE = (1 << 0), /* Affect active domain */
> - VIR_DOMAIN_SCHEDPARAM_CONFIG = (1 << 1), /* Affect next boot */
> -} virDomainSchedParameterFlags;
> -
> /*
> * Fetch scheduler parameters, caller allocates 'params' field of size
'nparams'
> */
> @@ -799,13 +809,6 @@ int virDomainGetBlkioParameters(virDomainPtr domain,
>
> /* Manage memory parameters. */
>
> -/* flags for setting memory parameters */
> -typedef enum {
> - VIR_DOMAIN_MEMORY_PARAM_CURRENT = 0, /* affect current domain state */
> - VIR_DOMAIN_MEMORY_PARAM_LIVE = (1 << 0), /* affect active domain */
> - VIR_DOMAIN_MEMORY_PARAM_CONFIG = (1 << 1) /* affect next boot */
> -} virMemoryParamFlags;
> -
> /**
> * VIR_DOMAIN_MEMORY_PARAM_UNLIMITED:
> *
> @@ -859,15 +862,6 @@ int virDomainGetMemoryParameters(virDomainPtr domain,
> virTypedParameterPtr params,
> int *nparams, unsigned int flags);
>
> -/* Memory size modification flags. */
> -typedef enum {
> - VIR_DOMAIN_MEM_CURRENT = 0, /* affect current domain state */
> - VIR_DOMAIN_MEM_LIVE = (1 << 0), /* affect active domain */
> - VIR_DOMAIN_MEM_CONFIG = (1 << 1), /* affect next boot */
> - VIR_DOMAIN_MEM_MAXIMUM = (1 << 2), /* affect Max rather than current */
> -} virDomainMemoryModFlags;
> -
> -
> /*
> * Dynamic control of domains
> */
> @@ -1023,16 +1017,6 @@ struct _virVcpuInfo {
> };
> typedef virVcpuInfo *virVcpuInfoPtr;
>
> -/* Flags for controlling virtual CPU hot-plugging. */
> -typedef enum {
> - /* Must choose at least one of these two bits; SetVcpus can choose both */
> - VIR_DOMAIN_VCPU_LIVE = (1 << 0), /* Affect active domain */
> - VIR_DOMAIN_VCPU_CONFIG = (1 << 1), /* Affect next boot */
> -
> - /* Additional flags to be bit-wise OR'd in */
> - VIR_DOMAIN_VCPU_MAXIMUM = (1 << 2), /* Max rather than current count */
> -} virDomainVcpuFlags;
> -
> int virDomainSetVcpus (virDomainPtr domain,
> unsigned int nvcpus);
> int virDomainSetVcpusFlags (virDomainPtr domain,
> @@ -1131,16 +1115,6 @@ int virDomainGetVcpus (virDomainPtr
domain,
> */
> #define VIR_GET_CPUMAP(cpumaps,maplen,vcpu) &(cpumaps[(vcpu)*(maplen)])
>
> -
> -typedef enum {
> -
> - VIR_DOMAIN_DEVICE_MODIFY_CURRENT = 0, /* Modify device allocation based on
current domain state */
> - VIR_DOMAIN_DEVICE_MODIFY_LIVE = (1 << 0), /* Modify live device allocation
*/
> - VIR_DOMAIN_DEVICE_MODIFY_CONFIG = (1 << 1), /* Modify persisted device
allocation */
> - VIR_DOMAIN_DEVICE_MODIFY_FORCE = (1 << 2), /* Forcibly modify device
> - (ex. force eject a cdrom) */
> -} virDomainDeviceModifyFlags;
> -
> int virDomainAttachDevice(virDomainPtr domain, const char *xml);
> int virDomainDetachDevice(virDomainPtr domain, const char *xml);
NACK, you can't just go deleting things from the libvirt.h header
file. Everything in there is public API which must be maintained
for application compatibility *forever*
Thanks for the reminding me of this. I didn't realize this is public
api.
--
Thanks,
Hu Tao