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 -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
