Techniques are provided for performing file operations. According to one
technique, a file system interface is exposed to applications. The file system
interface includes routines for saving and retrieving files. Calls to perform a
plurality of file operations are received through the file system interface. The
plurality of file operations are performed as a single transaction by performing
the steps of: if all file operations of the plurality of file operations are completed
without a failure, then making permanent all changes made by the plurality of file
operations; and if any file operations of the plurality of file operations fail,
then undoing all changes made by all of the plurality of file operations.