[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 3/7] libxl: In libxl_set_vcpuonline check for maximum number of VCPUs against the cpumap.
On Mon, 2015-03-23 at 14:20 -0400, Konrad Rzeszutek Wilk wrote: > There is no sense in trying to online (or offline) CPUs when the size of > cpumap is greater than the maximum number of VCPUs the guest can go to. > > As such fail the operation if the count of CPUs to online is greater > than what the guest started with. For the offline case we do not > check (as the bits are unset in the cpumap) and let it go through. > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > --- > tools/libxl/libxl.c | 27 ++++++++++++++++++++++++--- > 1 file changed, 24 insertions(+), 3 deletions(-) > > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c > index 4152ee4..d2b5ff3 100644 > --- a/tools/libxl/libxl.c > +++ b/tools/libxl/libxl.c > @@ -5449,6 +5449,20 @@ int libxl_domain_get_nodeaffinity(libxl_ctx *ctx, > uint32_t domid, > return 0; > } > > +static int libxl__check_max(libxl__gc *gc, libxl_dominfo *info, > + libxl_bitmap *cpumap) > +{ > + int maxcpus = libxl_bitmap_count_set(cpumap); > + > + if (maxcpus > info->vcpu_max_id + 1) > + { > + LOGE(ERROR, "You have a max of %d vCPUs and you want %d vCPUs!", > + info->vcpu_max_id + 1, maxcpus); Please avoid personal pronouns in libxl logs (I don't have a max of any number of vcpus, the domain does). Here "setting %d vcpus, max vcpus is %d" perhaps. Both libxl__set_vcpuonline_qmp and libxl__set_vcpuonline_xenstore start with the same code to get info. Please could you move that (and the associated dispose) into libxl_set_vcpuonline and check the limit once up front (no need for helper then) and pass the info as a pointer to the specific functions. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |