On Thu, 2011-09-22 at 11:01 +0100, Nupur Ghatnekar wrote:
> We are an undergraduate group of students. For our final year project,
> we are planning to implement a Virtual File System in XEN.
>
>
> In a paravirtualised environment, an Userspace Application makes a
> system call for access to a file, the domUâs kernel traps it and
> converts it to an appropriate block number. Now this block number is
> on the Virtual Hard Disk. The blktap mechanism is used for block I/O.
> It involves using XenBus and a daemon in user space of Dom0 which with
> help of libaio fires the request on Dom0 File System.
Just for completeness actual I/O doesn't go via XenBus but is instead
sent as grant references over a shared ring.
> ÂThe current scenario involves multiple translations for getting the
> actual physical address.
>
>
> Our project intends to reduce the number of translations required
> during the fetching or satisfying of the request.
>
> The DomU kernel doesnât convert the FS request to block and passes on
> this to dom0 using a client-server mechanism.
>
>
> We intend to implement it using the 9P protocol.\
>
> 1) The domU kernelâs filesystem component will be a client and the
> dom0 will be the server.
>
> 2) The domUâs kernel will send the file request to dom0 using the 9P
> protocol rather than converting it to appropriate block no.
>
> 3) The server in dom0 will authenticate the request, process it and
> send the appropriate replies.
>
>
> By having a virtual file system, the hypervisor will have a better
> understanding of what the guest domains are doing and hence this can
> help in taking intelligent decisions and thereby have better results
> in caching, de-duplication and snapshots.
>
>
>
> Any suggestions for our proposed project would be appreciated.
There has been some work on a 9p driver for virtio recently (see the
qemu list), combining that with the virtio-on-xen GSoC project would
like a decent approach to implementing this.
Ian.
> --
>
> Nupur Ghatnekar