[libvirt] XenStore fix
Jonas Eriksson
jonas.j.eriksson at ericsson.com
Thu Jul 30 11:51:40 UTC 2009
Hi again,
How should we tackle this? The discussions seems to have stopped,
but as this is a bug, it would be nice to have the fix in 0.7.0
if possible. Any suggestions of what an eveutual reworked patch
should contain, or is this in need of a discussion better saved
to a time where a release is not right around the corner?
Regards,
Jonas
On Tue, Jul 28, 2009 at 08:30:12AM +0200 Jonas Eriksson wrote:
> Hi,
>
> I have been examining a bug where libvirtd (and virsh) does not show
> all virtual machines on a xen host. This proved to be because of this
> program flow:
> 1. virConnectNumOfDomains -> .. -> xenUnifiedNumOfDomains
> -> xenHypervisorNumOfDomains => 3
> 2. virConnectListDomains(max=3) -> .. -> xenUnifiedListDomains(max=3)
> -> xenStoreNumOfDomains(max=3) => { 0, 2, 7 }
> The domain with ID 2 is then removed when it is discovered that it is
> not a running domain, which leads to this:
>
> xenhost# xm list
> Name ID Mem VCPUs State Time(s)
> Domain-0 0 14970 2 r----- 2544.7
> vm1 7 512 1 -b---- 2191.7
> vm4 512 1 28.0
> vm5 12 512 1 -b---- 467.1
> vm6 512 1 0.0
> vm7 512 1 482.4
> xenhost# virsh list
> Id Name State
> ----------------------------------
> 0 Domain-0 running
> 7 vm1 idle
> xenhost#
>
> But where does "2" come from? If we check all "directories" in
> /local/domain which is queried by the xenstore driver, it is apparent
> that xenstore is not properly cleaned. We find the sequence {0, 2, 7}
> as the first entries:
> xenhost# xenstore ls /local/domain |grep '^[^ ]'
> 0 = ""
> 2 = ""
> 7 = ""
> 9 = ""
> 10 = ""
> 11 = ""
> 12 = ""
> xenhost#
>
> This patch checks that the path found in /local/domain/<domid>/vm
> exists in xenstore before adding the domid to the return list. The
> same thing is done for xenStoreNumOfDomains.
>
> I use SLES11 with Xen 3.3.1_18546_12-3.1.
>
> /Jonas
>
> --
> Libvir-list mailing list
> Libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
--
Jonas Eriksson
Consultant at AS/EAB/FLJ/IL
Combitech AB
Älvsjö, Sweden
More information about the libvir-list
mailing list