From: Yang Hongyang <yanghy@cn.fujitsu.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: xen-devel@lists.xensource.com
Subject: Re: [PATCH 2/2]xl: Check invalid domid in find_domain()
Date: Tue, 18 May 2010 09:18:07 +0800 [thread overview]
Message-ID: <4BF1EACF.30300@cn.fujitsu.com> (raw)
In-Reply-To: <4BF1D0F1.9020302@goop.org>
Hi jeremy,
On 05/18/2010 07:27 AM, Jeremy Fitzhardinge wrote:
> On 05/13/2010 02:36 AM, Yang Hongyang wrote:
>> If domain id is invalid, find_domain should return error because
>> the specified domain does not exist.
>>
>
> I think this patch is causing some regressions. For example, I can no
> longer rename dom0:
>
> sh-4.0# xl list 0
> Name ID Mem VCPUs State Time(s)
> (null) 0 3321 4 r-- 741.7
> sh-4.0# xl rename 0 dom0
> 0 is an invalid domain identifier.
>
> I haven't specifically worked out what's failing here...
I think there's some other problems in the kernel or xl. First of all, the
(null) name should not appera in the list, if there is, then this
VM is not fullly destoried I think, but when I'm trying to destory the vm, libxl
reported errors and the VM still exists. Second of all, I notice that your
DOM0's name is (null), and State is running, how could you do that? I manully
tryed out 'xl rename "(null)"' to rename DOM0's name to (null), but after
that I can still rename the name back with my patch.
We often met the "(null)" problem's either, but never met that problem on DOM0...
And the "(null)" problem often happened after "xl destory". We can not
figure out a method to reproduce this problem.
Below is the output(without this patch):
[root@centos libxl]# xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1024 2 r-- 250.2
(null) 2 0 1 --d 52657.4
Mini-OS 4 32 1 r-- 0.0
[root@centos libxl]# xl destroy 2
[0] libxl.c:764:libxl_domain_destroy: xs_rm failed for /xapi/2: No such file or directory
[root@centos libxl]# xl rename 2 a
[root@centos libxl]# xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1024 2 r-- 251.9
a 2 0 1 --d 52657.4
Mini-OS 4 32 1 r-- 0.0
[root@centos libxl]# xl destroy 2
[0] libxl.c:764:libxl_domain_destroy: xs_rm failed for /xapi/2: No such file or directory
[root@centos libxl]# xl destroy a
a is an invalid domain identifier (rc=-1)
[root@centos libxl]#
===================================================================================
with the patch:
[root@centos libxl]# xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1024 2 r-- 21.9
[root@centos libxl]# xl rename 0 "(null)"
[root@centos libxl]# xl list
Name ID Mem VCPUs State Time(s)
(null) 0 1024 2 r-- 22.0
[root@centos libxl]# xl rename 0 Domain-0
[root@centos libxl]# xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1024 2 r-- 22.2
[root@centos libxl]#
>
> J
>
>> Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
>>
>> diff -r a49dfaa986b0 tools/libxl/xl_cmdimpl.c
>> --- a/tools/libxl/xl_cmdimpl.c Fri May 14 01:27:26 2010 +0800
>> +++ b/tools/libxl/xl_cmdimpl.c Fri May 14 01:29:36 2010 +0800
>> @@ -137,7 +137,11 @@
>> fprintf(stderr, "%s is an invalid domain identifier (rc=%d)\n", p, rc);
>> exit(2);
>> }
>> - common_domname = was_name ? p : 0;
>> + common_domname = was_name ? p : libxl_domid_to_name(&ctx, domid);
>> + if (!common_domname) {
>> + fprintf(stderr, "%s is an invalid domain identifier.\n", p);
>> + exit(2);
>> + }
>> }
>>
>> #define LOG(_f, _a...) dolog(__FILE__, __LINE__, __func__, _f "\n", ##_a)
>>
>>
>
>
>
--
Regards
Yang Hongyang
next prev parent reply other threads:[~2010-05-18 1:18 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-13 9:36 [PATCH 2/2]xl: Check invalid domid in find_domain() Yang Hongyang
2010-05-17 23:27 ` Jeremy Fitzhardinge
2010-05-18 1:18 ` Yang Hongyang [this message]
2010-05-18 17:01 ` Jeremy Fitzhardinge
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=4BF1EACF.30300@cn.fujitsu.com \
--to=yanghy@cn.fujitsu.com \
--cc=jeremy@goop.org \
--cc=xen-devel@lists.xensource.com \
/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.