[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Virtio-disk updates for latest Xen ?
On 07.12.22 01:21, Viresh Kumar wrote: +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 VireshI 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. Yes, this is by design. Note that all Xenstore entries for a device are written via a transaction, so there should be no way you can see any of the backend nodes missing when receiving a watch for "backend/virtio/1/0" due to creation of the device. In future we are even planning to support setting up Xenstore watches for a limited path depth, resulting in only the "backend/virtio", "backend/virtio/1" and "backend/virtio/1/0" watch events being sent (this example is for the kernel, which will use the last event to extract all the needed information from the reported path). Juergen Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc Attachment:
OpenPGP_signature
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |