qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] A new direction for vmchannel?


From: Anthony Liguori
Subject: [Qemu-devel] A new direction for vmchannel?
Date: Fri, 23 Jan 2009 08:45:33 -0600
User-agent: Thunderbird 2.0.0.19 (X11/20090105)

The userspace configuration aspects of the current implementation of vmchannel are pretty annoying. Moreover, we would like to make use of something like vmchannel in a kernel driver and I fear that it's going to be difficult to do that.

So here's an alternative proposal.

Around 2.6.27ish, Eric and I added 9p over virtio support to v9fs. This is all upstream. We backported the v9fs modules all the way back to 2.6.18. I have a 9p client and server library and patches available for QEMU. We were using this for a file system pass through but we could also use it as a synthetic file system in the guest (like sysfs).

The guest would just have to mount a directory in a well known location, and then you could get vmchannel like semantics by just opening a file read/write. Better yet though would be if we actually exposed vmchannel as 9p so that management applications could implement sysfs-like hierarchies.

I think there could be a great deal of utility in something like. For portability to Windows (if an app cared), it would have to access the mount point through a library of some sort. We would need a Windows virtio-9p driver that exposed the 9p session down to userspace. We could then use our 9p client library in the portability library for Windows.

Virtually all of the code is available for this today, the kernel bits are already upstream, there's a reasonable story for Windows, and there's very little that the guest can do to get in the way of things.

The only thing that could potentially be an issue is SELinux. I assume you'd have to do an SELinux policy for the guest application anyway though so it shouldn't be a problem.

Thoughts?

Regards,

Anthony Liguori




reply via email to

[Prev in Thread] Current Thread [Next in Thread]