That being said the collie interface should probably do this buffering for you, we should write libcollie or libsheepdog that can access sheepdog directly and then wrap in Python for usage in Openstack. This is more long term solution though. On Tue, May 21, 2013 at 5:43 AM, Joseph Glanville <joseph at cloudscaling.com> wrote: > This is usually handled by doing a full sector read and then only > returning the portion of the buffer requested. > Same goes for writes, read-modify-write is used for sub-sector writes > in these sorts of systems. > > In terms of Openstack Glance you just need to implement a custom > iterator for reading the VDI that takes care of doing the buffering. > Sheepdog doesn't need to be modified to do this, just buffer the data > in Python. :) > > Are you writing the Glance store driver atm? I would like to help if > you have it up somewhere. > I also have a patch that implements clone for the Sheepdog driver in > Cinder, I will submit for Havana shortly. > > On Tue, May 21, 2013 at 5:33 AM, Liu Yuan <namei.unix at gmail.com> wrote: >> On 05/21/2013 08:26 PM, MORITA Kazutaka wrote: >>> Nack, the data length must be sector aligned when we use direct I/O. >>> Can't we modify Glance sheepdog driver so that we don't need these >>> changes? >> >> Just test create an image with size '3' and write 'XXX' to it. When it >> reads the content, we return 512 bytes. so fail the test. But if user >> requests to read 3 bytes, we should return 3 bytes, no more no less if >> we later support an object store like swift and s3, no? >> >> Thanks, >> Yuan >> -- >> sheepdog mailing list >> sheepdog at lists.wpkg.org >> http://lists.wpkg.org/mailman/listinfo/sheepdog |