Extended Filesystem Attributes

Linux.com is running an article on extended attributes in the Linux filesystem. The gist of it is, you can store named attributes on a per-file basis and query it later on. This is great and all, but it could use some serious improvement.

BeOS was the first operating system I ever used that had support for filesystem attributes and used them well (I think MacOS used filesystem attributes, but I never saw them being used for anything useful). BeOS had a base set of attributes that every file had. This included things like the creation date, last modification date, content type and more. The content type was used by BeOS to handle automatic decoding of various filetypes on behalf of the application. So if your application knew how to handle video generically, BeOS would handle decoding a (for example) MPEG file into “video” for the application.

Each file type extended the base set of attributes. For example, music files would add attributes for the title, artist, bitrate and more. Mail files would add attributes for the sender, recipient, subject and whether or not there were attachments. Additionally, BeOS indexed all of the attributes and provided a search interface as well as a search API. That made it incredibly easy and fast to do searches of all your files. Searches could even be saved as folders. That made it easy to have a folder on your desktop called, “Mail from Ryan Kennedy.”

While it’s great that Linux has filesystem attributes, it would be better to see the attributes more tightly integrated with the rest of the OS.

Leave a Reply