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?
There is always room for new ideas in filesystems. The question is are those new ideas good enough to pull eyeballs and bits? Even if the ideas are great, between the complexity of filesystems, risk associated with them and deployment of them -- the most likely "successful" new filesystems would be backed by a large player in the OS space.
revision control systems are littered with filesystem projects that have died on the tree.
One feature I wish filesystems had is transaction support, ie:
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.
You have 2 databases to update. Either both have to be updated or neither, because you're installing a new version of a program. Actually, installing the new program should also be part of the transaction! Either the whole thing works, or you are back at the original (working) version of the program.
Trying to coordinate all the filesystem operations to make that atomic is not that simple in my experience. It's hard to test too.
Hmm... that could potentially allow to get rid of test environment like some redundant server that is a copy of production environment that one can use to test introduction of changes. Am I catching up what group of cases you have in mind more or less?
Specialist file systems will keep emerging for various reasons such as accommodating new hardware better or for secretive purposes. No doubt continued efforts are simply to make a better mouse trap, like addressing shortcomings eg speed or less load on a drive or making recovery of data when things inevitably go pear shaped ... more optimistic, either by ensuring it doesn't get borked in the first place or actually providing something a tool can work with.
Wonder if LTFS satisfies all needs for LTO tapes. It seems to be the only FS that storage medium currently has.
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.
10 comments
[ 2.1 ms ] story [ 33.6 ms ] threadrevision control systems are littered with filesystem projects that have died on the tree.
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.