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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list