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