xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>
Subject: Re: [PATCH v3 10/10] libxl: fix caller of libxl_cpupool functions
Date: Thu, 16 Jul 2015 10:57:24 +0200	[thread overview]
Message-ID: <1437037044.13522.219.camel@citrix.com> (raw)
In-Reply-To: <20150715171643.GI12455@zion.uk.xensource.com>


[-- Attachment #1.1: Type: text/plain, Size: 2109 bytes --]

[Adding Juergen]		

On Wed, 2015-07-15 at 18:16 +0100, Wei Liu wrote:
> On Tue, Jul 14, 2015 at 06:33:22PM +0100, Ian Jackson wrote:
> > Wei Liu writes ("[PATCH v3 10/10] libxl: fix caller of libxl_cpupool functions"):

> > > --- a/tools/libxl/libxl.c
> > > +++ b/tools/libxl/libxl.c
> > > @@ -771,8 +771,11 @@ libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx *ctx, int *nb_pool_out)
> > >  
> > >      poolid = 0;
> > >      for (i = 0;; i++) {
> > > -        if (cpupool_info(gc, &info, poolid, false))
> > > +        libxl_cpupoolinfo_init(&info);
> > > +        if (cpupool_info(gc, &info, poolid, false)) {
> > > +            libxl_cpupoolinfo_dispose(&info);
> > >              break;
> > > +        }
> > 
> > I'm not convinced by this change.
> > 
> > I think that this function has broken error handling: if cpupool_info
> > fails, it simply ignores the error.
> > 
> 
> I think the semantics of this function is to get back as many cpupool
> info as it can.
> 
Yes, I also think this is the case.

> Unfortunately the failing of cpupool_info can either mean the cpupool id
> does not exist or other internal errors.  So not cleaning up is the
> right thing to do (speaking from semantics point of view).
> 
Indeed.

> I think I need to overhaul cpupool_info a bit if we want to make this
> API better.
> 
Well, perhaps having cpupool_info() treating specially the situation
where the pool ID is not there may help... However, what would you do
once you have this additional piece of information available?

Maybe, depending on the error, we can cleanup the whole array? Is it
this that we are after?

> I'm not sure if it is possible to interleave pool ids. If so, we need a
> way to get back the exact number of cpupools. Dario?
> 
Sorry, what you mean by 'interleave pool ids'?

Dario
-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2015-07-16  8:57 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-14 16:41 [PATCH v3 00/10] xl/libxl: fix issues discovered by coverity Wei Liu
2015-07-14 16:41 ` [PATCH v3 01/10] libxl: don't check s!=NULL in libxl__abs_path Wei Liu
2015-07-14 17:19   ` Ian Jackson
2015-07-14 16:41 ` [PATCH v3 02/10] libxl: turn two malloc's to libxl__malloc Wei Liu
2015-07-14 17:19   ` Ian Jackson
2015-07-14 16:41 ` [PATCH v3 03/10] libxl: make libxl__strdup handle NULL Wei Liu
2015-07-14 17:21   ` Ian Jackson
2015-07-14 16:41 ` [PATCH v3 04/10] libxl: avoid leaking in libxl__initia_device_remove Wei Liu
2015-07-14 17:21   ` Ian Jackson
2015-07-14 16:41 ` [PATCH v3 05/10] libxl: localtime(3) can return NULL Wei Liu
2015-07-14 17:22   ` Ian Jackson
2015-07-14 16:41 ` [PATCH v3 06/10] libxl: qmp_init_handler " Wei Liu
2015-07-14 17:23   ` Ian Jackson
2015-07-14 16:41 ` [PATCH v3 07/10] xl: correct handling of extra_config in main_cpupoolcreate Wei Liu
2015-07-14 17:23   ` Ian Jackson
2015-09-11 10:59   ` Ian Jackson
2015-07-14 16:41 ` [PATCH v3 08/10] xl: correctly handle null extra config in main_config_update Wei Liu
2015-07-14 17:23   ` Ian Jackson
2015-07-14 16:41 ` [PATCH v3 09/10] xl: fix a typo in error string in create_domain Wei Liu
2015-07-14 17:24   ` Ian Jackson
2015-07-14 16:41 ` [PATCH v3 10/10] libxl: fix caller of libxl_cpupool functions Wei Liu
2015-07-14 17:33   ` Ian Jackson
2015-07-15 17:16     ` Wei Liu
2015-07-16  8:57       ` Dario Faggioli [this message]
2015-07-16  9:07         ` Wei Liu
2015-07-16  9:33           ` Juergen Gross
2015-07-16  9:30         ` Juergen Gross
2015-07-16 12:49           ` Dario Faggioli
2015-07-15 10:23 ` [PATCH v3 00/10] xl/libxl: fix issues discovered by coverity Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1437037044.13522.219.camel@citrix.com \
    --to=dario.faggioli@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=juergen.gross@ts.fujitsu.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).