[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xenstore -- read UUID


  • To: "dinesh chandrasekaran" <dinesh_chan8@xxxxxxxxxxx>
  • From: Tej <bewith.tej@xxxxxxxxx>
  • Date: Wed, 10 Sep 2008 10:41:49 +0530
  • Cc: derek.murray@xxxxxxxxxxxx, xen developers community <xen-devel@xxxxxxxxxxxxxxxxxxx>, xen users community <xen-users@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 09 Sep 2008 22:12:12 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=DWtDfD7+PKIDHQDhFIsRDIoWSarhmU0LXg5HM0UdyFU9IGLCEQBmzlafFIzRJhpZCU VRKwR8tITGWCBrD738DWiCSdJAX4tM6e8pWWiYDmCaG/u5/dD3Y+LAmPm+Dfy6nDxMhf 4FEg8rC9shWxwTsQp1SkOjohj+vAfZtDH13tM=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On 9/10/08, dinesh chandrasekaran <dinesh_chan8@xxxxxxxxxxx> wrote:
>
>
> Hi Derek,
>
> they were 2 seperate questions... sorry for the typos...
> How to access xenstore from Dom-0? -- which you said 'YES'...
> And How to access xenstore from hypervosor?

Hypervisor does not control the xenstore.
& I am not sure if xen bus interface is available to Hypervisor also.


> Yes.. as you said 'make xen' doesnt include /usr/include libraries and I did
> check that...
>
> If the hypervisor has no knowledge about XenStore, Dom-0 must have the full
> control over the xenstore.
> I need to build a table with some fields one of which should never change
> during a VMs lifetime.
> For example, if I chose the domain_id whose value is transient, If the VM
> reboots, its domain_id changes.
> That is the reason why I opted for the UUID of a domain that persists over
> time even after migration to another machine.
> The only way I could get a domain's UUID is through the xenstore and want to
> take away domain-0 from the picture, which
> according to you is almost impossible.

As far as source code compilation is cocerned try this
gcc <source file> -F /path/to/xensourcecode/tools/xenstore -lxenstore
actually xen source code will have a xen store shared object, you
definately need to use that (libxenstore.so.3.0.0)

HTH

thanks
-TEJ

>
> anyway out?
>
> regards,
> Dinesh C
>
>> Date: Tue, 9 Sep 2008 21:37:57 +0100
>> From: Derek.Murray@xxxxxxxxxxxx
>> To: dinesh_chan8@xxxxxxxxxxx
>> Subject: Re: [Xen-devel] xenstore -- read UUID
>> CC: xen-devel@xxxxxxxxxxxxxxxxxxx; xen-users@xxxxxxxxxxxxxxxxxxx
>>
>> Hi Dinesh,
>>
>> In what context are you trying to run this code? You say that you want
>> to read the UUID from Dom0, but xen/common/memory.c is part of the
>> hypervisor (and not Dom0). If you try to compile that code into
>> xen/common/memory.c, it will fail, because building the hypervisor
>> does not include the user-space headers (i.e. the contents of
>> /usr/include/).
>>
>> The hypervisor has (almost) no knowledge about XenStore, and so it
>> would be very difficult to access XenStore from there. However, if you
>> want to access this information in Dom0, your code should work in a
>> user-space application.
>>
>> Could you provide more details about what you are trying to do?
>>
>> Regards,
>>
>> Derek Murray.
>>
>> On Tue, Sep 9, 2008 at 8:36 PM, dinesh chandrasekaran
>> <dinesh_chan8@xxxxxxxxxxx> wrote:
>> > Hi All,
>> >
>> >      Im trying to read the UUID of a domain-U from domain-0 using the
>> > following code from inside say xen/common/memory.c.
>> >
>> > The include file <xs.h> is present both in /usr/include and
>> > tools/xenstore/xs.h
>> >
>> > #include <xs.h>
>> > static int get_domain_uuid(unsigned int domain_id) {
>> >         struct xs_handle *xs;
>> >         xs_transaction_t t;
>> >         char *path;
>> >         unsigned int *len;
>> >         void *uuid;
>> >         xs = xs_daemon_open();
>> >         if (xs == NULL)
>> >                 return 1;
>> >         path = xs_get_domain_path(xs, domain_id);
>> >         if (path == NULL)
>> >                 return 1;
>> >         strcat (path, '/uuid');
>> >         len = strlen(path) + 1;
>> >         uuid = xs_read(xs, t, path, len);
>> >         printf('%lx \n', (char) (*uuid));
>> >         xs_daemon_close(xs);
>> >         free(path);
>> >         return 0;
>> > }
>> >
>> > when compiled throws an error ( xs.h - no such file or directory).
>> >
>> > How to access xenstore and read the doamin UUID from dom-0 specifically
>> > from
>> > inside xen/common/memory.c?
>> >
>> > regards,
>> > Dinesh C
>> >
>> > ________________________________
>> > Voice your opinion on the burning issues of the day. Discuss, debate
>> > with
>> > the world. Logon to message boards on MSN. Try it!
>> > _______________________________________________
>> > Xen-devel mailing list
>> > Xen-devel@xxxxxxxxxxxxxxxxxxx
>> > http://lists.xensource.com/xen-devel
>> >
>> >
>
> _________________________________________________________________
> Searching for the best deals on travel? Visit MSN Travel.
> http://in.msn.com/coxandkings

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.