7 ms·
The BeOS file system, an OS geek retrospective (2018)
- Ericson2314 6y ago> I'm not sure. I think it will be a little while yet before we sort out which layer is the right place for all the different parts of the problem of "storage." ZFS has gone down the path of putting everything in the FS. Other folks are putting in a different set of things. It's pretty clear that some of the functionality that existed in BFS does not belong in the FS. Now that's wisdom.
- mdpye 6y agoI do wish he'd gone in to more detail though! I imagine the extended attrs and db would be amazing for app devs, but probably wouldn't see much use in the real world because it ties your application to the file system. But what else?
- kitotik 6y agoTying your app to the fs isn’t that bad if the fs is flexible and portable enough such as zfs having the ability to use plain files. Doesn’t seem much worse than tying it to a particular database or API
- em-bee 6y agomy first response was 'but filesystems live on the disk' while databases are simply to set up in userspace. but then i realized that with FUSE and filesystem-image files and the right tooling the same flexibility can be achieved, and also, on the other side high performant databases want to live on the raw disk to be in full control of the write process to disk. what remains is that the difference between a filesystem and a database is the API used to talk to it.
- codezero 6y agoAs always when I see Be file system stuff I point people to the very readable document by its creator: http://www.nobius.org/dbg/practical-file-system-design.pdf http://www.nobius.org/dbg/practical-file-system-design.pdf
- meelford 6y agoBesides of the FS BeOS had a great iconic UI.
- wizzwizz4 6y agoThis is 2010, not 2018.
- danmg 6y agoHas any other filesystem added in i-node arbitrary attribute tags? This would be invaluable for collections of documents, and would make most library managers like calibre or tmm redundant.
- taviso 6y agoDon't all modern filesystems support extended attributes? (i.e. I don't understand what is so different between the BeOS addattr/catattr commands in the article and the standard Linux setfattr/getfattr commands)
- monocasa 6y agoThe addattr/catattr aren't where the fun is. That's in the indexing, allowing you to treat files with these attributes more like rows in a database. "Efficiently find me all files that have a 'genre' field set to 'bluegrass', regardless of extension" is something you can do for instance, at the filesystem level.
- taviso 6y agoSure, but the question was about whether any filesystems allow you to store the attributes. Storing and retrieving the attributes is the hard part that requires filesystem support, I think generating and searching the index pretty trivial once you have that. A quick index you can grep is a oneliner on Linux, something like getfattr -R /music -m genre > index.db
- monocasa 6y agoIs that updated atomically with filesystem updates? Can multiple applications access that simultaneously as it changes? Is it a known pattern where you expect the various applications on your system to be using that already?
- taviso 6y agoI'm not really sure what "atomically" means in this context, if you just mean you want the index updated when an attribute changes, then sure why not, just use inotify with IN_ATTRIB. I don't think anyone is currently using extended attributes like this, so there is no standard pattern. The question was about whether other filesystems can do this, and the answer is yes - basically all modern filesystems. I guess people have decided they don't think storing this metadata in the filesystem is best place (I don't know why, perhaps because it's complicated to copy the metadata when you email the files to someone else?).
- CyberDildonics 6y agoEven tools that collect files and put them in a database like "everything" for windows are extremely helpful. Being able to search and filter all files on all drives in real time is a big game changer.
- Eric_WVGG 6y agooff-topic observation: viewing screenshots on a so-called "retina" class display, wow… screenshots of GUIs before the advent of anti-aliased text sure did age a lot better, in retrospect.
- pavlov 6y agoThe screenshot in the article has been scaled, it’s not representative of BeOS text rendering.