On Thu, Aug 12, 2010 at 07:48:10PM -0500, Norm Jacobs wrote:
> For single file updates, this is commonly solved by writing data to
> a temp file and using rename(2) to move it in place when it's ready.

For anything more complicated you need... a more complicated approach.

Note that "transactional API" means, among other things, "rollback" --
easy at the whole dataset level, hard in more granular form.  Dataset-
level rollback is nowhere need granular enough for applications).

Application transactions consisting of more than one atomic filesystem
operation require application-level recovery code.  SQLite3 is a good
(though maybe extreme?) example of such an application; there are many
others.

Nico
-- 
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to