From: Ian Campbell <ian.campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Ian Jackson <Ian.Jackson@eu.citrix.com>,
Wei Liu <wei.liu2@citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 2/7] libxl: Add to libxl__domain_type a new return value (LIBXL_DOMAIN_TYPE_NOTFOUND)
Date: Tue, 24 Mar 2015 15:15:30 +0000 [thread overview]
Message-ID: <1427210130.21742.434.camel@citrix.com> (raw)
In-Reply-To: <1427134861-18881-3-git-send-email-konrad.wilk@oracle.com>
On Mon, 2015-03-23 at 14:20 -0400, Konrad Rzeszutek Wilk wrote:
> So that the callers can distinguish between an error and
> an domain not found. The exposed API calls that are effected
> by this are: libxl_domain_[remus_start,suspend,unpause,cdrom_insert,
> set_vcpuonline]
>
> We add an helper function to deal with the two types of errors:
> libxl_domain_type2err. However for libxl_[pci,dom].c we just add
> the extra check for LIBXL_DOMAIN_TYPE_NOTFOUND for simplicity
> reasons.
>
> Suggested-by: Ian Campbell <ian.campbell@citrix.com>
Did I?
Anyway, I'm not terribly keen on the approach taken here, sorry, in
particular extending libxl_domain_type with a subset of the libxl_error
codes and the shenanigans which are needed to convert between them.
Off hand I can think of 3 possible alternative solutions:
Arrange that the -ve error values in libxl_domain_type directly
correspond to an appropriate libxl_error code, allowing code to do
if (type < 0) return type;
if (type < 0) { rc = type ; goto out }
type stuff.
Change the prototype of libxl__domain_type to always return a libxl rc
and on success return the type via a pointer argument.
Change the return type of libxl_domain_type to an int and return either
a LIBXL_DOMAIN_TYPE_FOO or an ERROR_*.
They all have downsides (I don't much like the implicit cast between
domain type and error code, changing the prototype will probably be
disruptive, changing the return type means gcc can't catch missing
switch statements for us).
Perhaps you or my fellow maintainers have a better idea or a preference
for one of the above?
Ian.
next prev parent reply other threads:[~2015-03-24 15:15 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-23 18:20 [PATCH v3] Fix xl vcpu-set to decrease an guest vCPU amount without complaints Konrad Rzeszutek Wilk
2015-03-23 18:20 ` [PATCH v3 1/7] libxl: Add ERROR_DOMAIN_NOTFOUND for libxl_domain_info when it cannot find the domain Konrad Rzeszutek Wilk
2015-03-24 15:04 ` Ian Campbell
2015-03-23 18:20 ` [PATCH v3 2/7] libxl: Add to libxl__domain_type a new return value (LIBXL_DOMAIN_TYPE_NOTFOUND) Konrad Rzeszutek Wilk
2015-03-24 15:15 ` Ian Campbell [this message]
2015-03-24 15:47 ` Konrad Rzeszutek Wilk
2015-03-23 18:20 ` [PATCH v3 3/7] libxl: In libxl_set_vcpuonline check for maximum number of VCPUs against the cpumap Konrad Rzeszutek Wilk
2015-03-24 15:22 ` Ian Campbell
2015-03-25 18:44 ` Konrad Rzeszutek Wilk
2015-03-26 10:00 ` Ian Campbell
2015-03-23 18:20 ` [PATCH v3 4/7] libxl/vcpuset: Print error if libxl_set_vcpuonline returns ERROR_DOMAIN_NOTFOUND Konrad Rzeszutek Wilk
2015-03-24 15:23 ` Ian Campbell
2015-03-23 18:20 ` [PATCH v3 5/7] libxl/vcpuset: Return error value if failed Konrad Rzeszutek Wilk
2015-03-24 15:24 ` Ian Campbell
2015-03-23 18:21 ` [PATCH v3 6/7] libxl/vcpuset: Remove useless limit on max_vcpus Konrad Rzeszutek Wilk
2015-03-23 18:21 ` [PATCH v3 7/7] libxl/vcpu-set - allow to decrease vcpu count on overcommitted guests (v3) Konrad Rzeszutek Wilk
2015-03-24 15:41 ` Ian Campbell
2015-03-24 15:56 ` Ian vs Ian, round 0 Was:Re: " Konrad Rzeszutek Wilk
2015-03-24 16:01 ` Ian Campbell
2015-03-25 18:42 ` Konrad Rzeszutek Wilk
2015-03-26 9:58 ` 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=1427210130.21742.434.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=konrad.wilk@oracle.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.