[libvirt] [PATCHv10 1/6] libvirt/qemu - clean up for qemudDomainAt(de)tachDevice(Flags)
KAMEZAWA Hiroyuki
kamezawa.hiroyu at jp.fujitsu.com
Wed Apr 20 00:00:05 UTC 2011
On Tue, 19 Apr 2011 17:29:08 +0800
Wen Congyang <wency at cn.fujitsu.com> wrote:
> At 04/19/2011 03:40 PM, KAMEZAWA Hiroyuki Write:
> >
> > Centralize device modification in the more flexible APIs, to allow
> > future honoring of additional flags. Explicitly reject the
> > VIR_DOMAIN_DEVICE_MODIFY_FORCE flag on attach/detach.
> >
> > Based on Eric Blake<eblake at redhat.com>'s work.
> >
> > From: Eric Blake <eblake at redhat.com>
> > Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
> >
> > * src/qemu/qemu_driver.c (qemudDomainAttachDevice)
> > (qemudDomainAttachDeviceFlags): Swap bodies, and rename...
>
> Hmm, you do not rename the function(qemudDomainAttachDevice ===> qemuDomainAttachDevice)
>
typo
> > (qemuDomainAttachDevice, qemuDomainAttachDeviceFlags): to this.
>
> Hmm, it may be update not attach here.
>
typo
> > (qemudDomainDetachDevice, qemudDomainDetachDeviceFlags):
>
> Missing 'Likewise.'
>
?
Thanks,
-Kame
> > ---
> > src/qemu/qemu_driver.c | 53 ++++++++++++++++++++++++++---------------------
> > 1 files changed, 29 insertions(+), 24 deletions(-)
> >
> > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> > index f6e503a..a8f3849 100644
> > --- a/src/qemu/qemu_driver.c
> > +++ b/src/qemu/qemu_driver.c
> > @@ -3786,8 +3786,8 @@ cleanup:
> > }
> >
> >
> > -static int qemudDomainAttachDevice(virDomainPtr dom,
> > - const char *xml)
> > +static int qemudDomainAttachDeviceFlags(virDomainPtr dom, const char *xml,
> > + unsigned int flags)
> > {
> > struct qemud_driver *driver = dom->conn->privateData;
> > virDomainObjPtr vm;
> > @@ -3796,6 +3796,14 @@ static int qemudDomainAttachDevice(virDomainPtr dom,
> > virCgroupPtr cgroup = NULL;
> > int ret = -1;
> >
> > + virCheckFlags(VIR_DOMAIN_DEVICE_MODIFY_LIVE |
> > + VIR_DOMAIN_DEVICE_MODIFY_CONFIG, -1);
> > + if (flags & VIR_DOMAIN_DEVICE_MODIFY_CONFIG) {
> > + qemuReportError(VIR_ERR_OPERATION_INVALID,
> > + "%s", _("cannot modify the persistent configuration of a domain"));
> > + return -1;
> > + }
> > +
> > qemuDriverLock(driver);
> > vm = virDomainFindByUUID(&driver->domains, dom->uuid);
> > if (!vm) {
> > @@ -3943,16 +3951,10 @@ cleanup:
> > return ret;
> > }
> >
> > -static int qemudDomainAttachDeviceFlags(virDomainPtr dom,
> > - const char *xml,
> > - unsigned int flags) {
> > - if (flags & VIR_DOMAIN_DEVICE_MODIFY_CONFIG) {
> > - qemuReportError(VIR_ERR_OPERATION_INVALID,
> > - "%s", _("cannot modify the persistent configuration of a domain"));
> > - return -1;
> > - }
> > -
> > - return qemudDomainAttachDevice(dom, xml);
> > +static int qemudDomainAttachDevice(virDomainPtr dom, const char *xml)
> > +{
> > + return qemudDomainAttachDeviceFlags(dom, xml,
> > + VIR_DOMAIN_DEVICE_MODIFY_LIVE);
> > }
> >
> >
> > @@ -4078,14 +4080,23 @@ cleanup:
> > }
> >
> >
> > -static int qemudDomainDetachDevice(virDomainPtr dom,
> > - const char *xml) {
> > +static int qemudDomainDetachDeviceFlags(virDomainPtr dom, const char *xml,
> > + unsigned int flags)
> > +{
> > struct qemud_driver *driver = dom->conn->privateData;
> > virDomainObjPtr vm;
> > virBitmapPtr qemuCaps = NULL;
> > virDomainDeviceDefPtr dev = NULL;
> > int ret = -1;
> >
> > + virCheckFlags(VIR_DOMAIN_DEVICE_MODIFY_LIVE|
> > + VIR_DOMAIN_DEVICE_MODIFY_CONFIG, -1);
> > +
> > + if (flags & VIR_DOMAIN_DEVICE_MODIFY_CONFIG) {
> > + qemuReportError(VIR_ERR_OPERATION_INVALID,
> > + "%s", _("cannot modify the persistent configuration of a domain:"));
> > + return -1;
> > + }
> > qemuDriverLock(driver);
> > vm = virDomainFindByUUID(&driver->domains, dom->uuid);
> > if (!vm) {
> > @@ -4164,16 +4175,10 @@ cleanup:
> > return ret;
> > }
> >
> > -static int qemudDomainDetachDeviceFlags(virDomainPtr dom,
> > - const char *xml,
> > - unsigned int flags) {
> > - if (flags & VIR_DOMAIN_DEVICE_MODIFY_CONFIG) {
> > - qemuReportError(VIR_ERR_OPERATION_INVALID,
> > - "%s", _("cannot modify the persistent configuration of a domain"));
> > - return -1;
> > - }
> > -
> > - return qemudDomainDetachDevice(dom, xml);
> > +static int qemudDomainDetachDevice(virDomainPtr dom, const char *xml)
> > +{
> > + return qemudDomainDetachDeviceFlags(dom, xml,
> > + VIR_DOMAIN_DEVICE_MODIFY_LIVE);
> > }
> >
> > static int qemudDomainGetAutostart(virDomainPtr dom,
>
>
More information about the libvir-list
mailing list