From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Fehlig Subject: Re: [libvirt] [PATCH 1/5] Don't pass virDomainObjPtr to libxlBuildDomainConfig Date: Fri, 30 May 2014 16:26:20 -0600 Message-ID: <5389058C.8080908@suse.com> References: <1401470645-19869-1-git-send-email-berrange@redhat.com> <1401470645-19869-2-git-send-email-berrange@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1401470645-19869-2-git-send-email-berrange@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com To: "Daniel P. Berrange" Cc: libvir-list@redhat.com, xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Daniel P. Berrange wrote: > To make it easier to unit test, change libxlBuildDomainConfig > so that it takes 'virDomainDefPtr' and 'libxl_ctx *' objects > as separate parameters. > > Signed-off-by: Daniel P. Berrange > --- > src/libxl/libxl_conf.c | 19 +++++++++---------- > src/libxl/libxl_conf.h | 4 +++- > src/libxl/libxl_domain.c | 3 ++- > 3 files changed, 14 insertions(+), 12 deletions(-) > ACK. Regards, Jim > diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c > index b7fed7f..a98e27a 100644 > --- a/src/libxl/libxl_conf.c > +++ b/src/libxl/libxl_conf.c > @@ -567,10 +567,10 @@ libxlMakeChrdevStr(virDomainChrDefPtr def, char **buf) > } > > static int > -libxlMakeDomBuildInfo(virDomainObjPtr vm, libxl_domain_config *d_config) > +libxlMakeDomBuildInfo(virDomainDefPtr def, > + libxl_ctx *ctx, > + libxl_domain_config *d_config) > { > - virDomainDefPtr def = vm->def; > - libxlDomainObjPrivatePtr priv = vm->privateData; > libxl_domain_build_info *b_info = &d_config->b_info; > int hvm = STREQ(def->os.type, "hvm"); > size_t i; > @@ -583,7 +583,7 @@ libxlMakeDomBuildInfo(virDomainObjPtr vm, libxl_domain_config *d_config) > libxl_domain_build_info_init_type(b_info, LIBXL_DOMAIN_TYPE_PV); > > b_info->max_vcpus = def->maxvcpus; > - if (libxl_cpu_bitmap_alloc(priv->ctx, &b_info->avail_vcpus, def->maxvcpus)) > + if (libxl_cpu_bitmap_alloc(ctx, &b_info->avail_vcpus, def->maxvcpus)) > goto error; > libxl_bitmap_set_none(&b_info->avail_vcpus); > for (i = 0; i < def->vcpus; i++) > @@ -1306,17 +1306,16 @@ libxlMakeCapabilities(libxl_ctx *ctx) > > int > libxlBuildDomainConfig(libxlDriverPrivatePtr driver, > - virDomainObjPtr vm, libxl_domain_config *d_config) > + virDomainDefPtr def, > + libxl_ctx *ctx, > + libxl_domain_config *d_config) > { > - virDomainDefPtr def = vm->def; > - libxlDomainObjPrivatePtr priv = vm->privateData; > - > libxl_domain_config_init(d_config); > > - if (libxlMakeDomCreateInfo(priv->ctx, def, &d_config->c_info) < 0) > + if (libxlMakeDomCreateInfo(ctx, def, &d_config->c_info) < 0) > return -1; > > - if (libxlMakeDomBuildInfo(vm, d_config) < 0) > + if (libxlMakeDomBuildInfo(def, ctx, d_config) < 0) > return -1; > > if (libxlMakeDiskList(def, d_config) < 0) > diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h > index 24e1720..1dd9de3 100644 > --- a/src/libxl/libxl_conf.h > +++ b/src/libxl/libxl_conf.h > @@ -160,7 +160,9 @@ libxlMakePCI(virDomainHostdevDefPtr hostdev, libxl_device_pci *pcidev); > > int > libxlBuildDomainConfig(libxlDriverPrivatePtr driver, > - virDomainObjPtr vm, libxl_domain_config *d_config); > + virDomainDefPtr def, > + libxl_ctx *ctx, > + libxl_domain_config *d_config); > > static inline void > libxlDriverLock(libxlDriverPrivatePtr driver) > diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c > index 80d5280..f95f8ce 100644 > --- a/src/libxl/libxl_domain.c > +++ b/src/libxl/libxl_domain.c > @@ -1151,7 +1151,8 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm, > > libxl_domain_config_init(&d_config); > > - if (libxlBuildDomainConfig(driver, vm, &d_config) < 0) > + if (libxlBuildDomainConfig(driver, vm->def, > + priv->ctx, &d_config) < 0) > goto endjob; > > if (cfg->autoballoon && libxlDomainFreeMem(priv, &d_config) < 0) { >