[sheepdog] vdi object journaling and atomic write
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Fri Aug 31 09:43:43 CEST 2012
At Fri, 31 Aug 2012 15:35:09 +0800,
Liu Yuan wrote:
>
> On 08/31/2012 03:30 PM, MORITA Kazutaka wrote:
> > At Fri, 31 Aug 2012 15:24:21 +0800,
> > Liu Yuan wrote:
> >>
> >> From the trace we can see that journaling is most time consuming process for
> >> VDI object write, account almost for 70% (with 3 copies, all 3 nodes on the same box).
> >>
> >> Because we support all or nothing atomic write, do we still need to suppose VDI object
> >> journeling?
> >
> > Do you mean store->atomic_put? It doesn't support partial write.
> >
>
> Yes. What do you mean by partial write? partial write will be stored as
> oid.tmp, which can be removed when sheep start up, then it won't cause
> trouble, no?
default_atomic_put write data to the temporary file, and then rename/2
it to the actual object file. We can use it only to write data to a
new object atomically (Otherwise, rename/2 will overwrite the existing
objects). Actually, we use it only to recover objects.
To support a partial write against existing objects in
default_atomic_put, we need to do similar thing like journaling.
Thanks,
Kazutaka
More information about the sheepdog
mailing list