[Sheepdog] Deleting snapshots
Floris Bos
bos at je-eigen-domein.nl
Thu Oct 7 08:53:41 CEST 2010
Hi,
On Thursday, October 07, 2010 08:00:02 am you wrote:
> At Thu, 7 Oct 2010 06:28:55 +0200,
> > Ideally there should be a way to signal the client to only use COW
> > temporarily (while any snapshot exist), and signal it again that it can
> > resume updating in-place after there are no longer any snapshots.
>
> I think this kind of feature would be useful in practice. If a sheep
> daemon could tell the virtual machine to use the previous vdi id, we
> could achieve this feature easily, I think. In this case, write
> accesses to the objects which were already updated during rsync are
> done in copy-on-write way again, and other accesses are done in-place.
Sounds like a good plan.
Does changing the vid_id back and forth again one also plays nice with the
algorithm you use (or plan to use?) for deleting objects that are no longer in
use?
Not sure if I understand how that exactly works.
> > Asynchronous notification might be relatively complicated to implement in
> > the qemu block driver, though.
> > Wonder if it might be more practical to transfer some of the low level
> > stuff that is currently in the qemu client itself, to sheep.
> > And let sheep offer a simplified protocol to the client, that does not
> > think in low level details like which object the data should be written
> > to, but just specifies "offset" and "data length" to write to in the
> > image.
> > So that sheep can decide whether or not cow should be used, and also
> > manage other low level details (like updating inode metadata) instead of
> > the client.
>
> Yes, that might be more practical, but makes a sheep daemon more
> complicated. Current sheepdog implementation provides something like
> a simple object storage to the qemu block driver, but I think that
> managing which object should be updated in COW way is out of scope of
> the object storage.
Ok.
I see your point.
> I guess the notification feature is not so complicated. What the qemu
> block driver has to do is only updating its vdi object when the driver
> receives SD_RES_READONLY in the response of write operation,
You're right. Could be used for both notifications.
--
Yours sincerely,
Floris Bos
More information about the sheepdog
mailing list