Ask HN: Is there any need for new file systems or GTFO we are full?
Is ReiserFS, ZFS, btrfs, F2FS and more well know systems already enough/too much or there are areas (big enough to actually bother) where they not quite cut the edge?
begin transaction
create file X if it doesn't exist, otherwise abort transaction
write some stuff to file X
open file Y
overwrite some data in file Y
if <insert condition here> commit transaction
end transaction
Nested transactions would be required as you'd have no idea whether you're already in a transaction.Something like this can be coded (painfully) with renames, but it's unreliable, hard to test, and hard/impossible to coordinate with higher-level modules.
Trying to coordinate all the filesystem operations to make that atomic is not that simple in my experience. It's hard to test too.
There's also all sorts of FSes that aren't based on hardware, like eCryptFS/EncFS for encrypted directories, s3fs for using AWS S3 as an FS, sshfs for remotely mounting a directory from another machine, btfs for mounting a bittorrent as an FS. The number of things that can be done as an FS seems almost boundless.
revision control systems are littered with filesystem projects that have died on the tree.