On 2018-09-06 03:23, Nathan Dehnel wrote:
https://lwn.net/Articles/287289/
In 2008, HP released the source code for a filesystem called advfs so
that its features could be incorporated into linux filesystems. Advfs
had a feature where a group of file writes were an atomic transaction.
https://www.usenix.org/system/files/conference/fast15/fast15-paper-verma.pdf
These guys used advfs to add a "syncv" system call that makes writes
across multiple files atomic.
https://lwn.net/Articles/715918/
A patch was later submitted based on the previous paper in some way.
So I guess my question is, does btrfs support atomic writes across
multiple files? Or is anyone interested in such a feature?
I'm fairly certain that it does not currently, but in theory it would
not be hard to add.
Realistically, the only cases I can think of where cross-file atomic
_writes_ would be of any benefit are database systems.
However, if this were extended to include rename, unlink, touch, and a
handful of other VFS operations, then I can easily think of a few dozen
use cases. Package managers in particular would likely be very
interested in being able to atomically rename a group of files as a
single transaction, as it would make their job _much_ easier.