[Sheepdog] Direct read and write from VDIs

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Wed Aug 3 19:26:49 CEST 2011


At Wed, 3 Aug 2011 14:01:15 +0100,
Chris Webb wrote:
> 
> Another operation I could do with exposing to end users from the new
> Sheepdog branch of our platform is drive read and write. From our existing
> drives, we provide API calls to
> 
>   - read N bytes (or the remainder of the drive) starting at offset M
>   - write bytes starting at offset M
> 
> as well as being able to attach drives to qemu virtual machines.
> 
> I don't think there's a qemu-img or collie operation to read data to stdout
> or write data from stdin. Would it be reasonable to teach collie to do a vdi
> read/write for this?
> 
> More generally, there are only a couple of operations which must be done via
> qemu-img: snapshot, resize and create. Everything else is doable through
> collie, i.e. without any dependency on qemu. I wonder whether for
> completeness, and to make the sheepdog distribution fully stand-alone,
> collie ought to gain these three operations? This might just be a matter of
> lifting the relevant code from qemu/block/sheepdog.c and reformatting for
> the sheepdog code conventions?

Yes, it makes sense to support above features in collie.  There is no
technical issues to do it, and probably it is easy.

> 
> Apart from the aesthetic benefit of the sheepdog distribution being
> meaningfully self-contained, this would presumably make a 'make test' target
> for the sheepdog source tree easier to implement, and would also provide a
> good foundation for a extracting a libsheepdog client library from collie
> later on---paving the way for easy integration of sheepdog against other
> virtualisation systems like kvm-tools.

Agreed.  There seems to be a lot of benefit if we can do everying with
collie.  This would also help for Matt to write tests.


Thanks,

Kazutaka



More information about the sheepdog mailing list