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

Re: Virtio-disk updates for latest Xen ?



+list

On 06-12-22, 13:40, Oleksandr Tyshchenko wrote:
> On Tue, Dec 6, 2022 at 1:15 PM Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
> > Hi Oleksandr,
> Hello Viresh
> >
> > I found that my rust counterpart [1] of virtio-disk repository broke
> > with this commit:
> >
> > commit 3a96013a3e17 ("tools/xenstore: reduce number of watch events")
> >
> > And so was wondering if you have already fixed that for
> > virtio-disk or not. And I can just copy what you have changed :)
> >
> 
> Interesting, I am not aware of that issue. I haven't tried virtio-disk with
> recent (latest) Xen, I was mostly playing with Qemu backends. Thanks for
> letting me know, I will re-check once I have access to my hardware again.

Hmm, moved a little closer :)

We look at the watch events here [2] one by one and wait for the
directory one to come ("backend/disk" in your case I think, it is
"backend/virtio" with my latest patches). This is the second directory
event which used to come after the directory is finalized.

Earlier the events were read for following paths:

"backend/virtio"
"backend/virtio/1/0"
"backend/virtio/1"
"backend/virtio"

and on the last event, we used to go ahead and look at the directory
to find the FE domid.

With the new changes, the events I am getting are:

[src/xs.rs:164] &name = "backend/virtio"
[src/xs.rs:164] &name = "backend/virtio/1/0"
[src/xs.rs:164] &name = "backend/virtio/1/0/frontend"
[src/xs.rs:164] &name = "backend/virtio/1/0/frontend-id"
[src/xs.rs:164] &name = "backend/virtio/1/0/online"
[src/xs.rs:164] &name = "backend/virtio/1/0/state"
[src/xs.rs:164] &name = "backend/virtio/1/0/irq"
[src/xs.rs:164] &name = "backend/virtio/1/0/base"
[src/xs.rs:164] &name = "backend/virtio/1/0/type"
[src/xs.rs:164] &name = "backend/virtio/1/0/transport"

Here the second event for "backend/virtio" never comes and so we fail.

I am not sure how to get this working, as there is no finalizing event
for the directory. Maybe our design is broken from the start and we
need to do it properly in some recommended way ?
 
> >
> > The guest kernel crashes for me during boot, while
> > accessing MMIO registers, because the backend side isn't
> > properly initialized now with changes in the watch events
> > due to above commit.
> >
> > Thanks in advance.
> >
> > --
> > Viresh
> >
> > [1] https://github.com/vireshk/xen-vhost-frontend
> 
> -- 
> Regards,
> 
> Oleksandr Tyshchenko

-- 
viresh

[2] https://github.com/otyshchenko1/virtio-disk/blob/virtio_grant/xs_dev.c#L424



 


Rackspace

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