1. File meta-data. All file components (filename, time/date, file contents, etc.) are just meta-data components, and any other type can be added.
2. Case-insensetivity + case-preservation. This is the Windows/MacOSX method. Filename case is preserved, but references to 'MyFile' and 'myfile' would be the same file.
3. Live queries. The big feature of BFS. Allows you to create pseudo-directories which contain the contents of a query rather than actual directory contents. Create a query for all MP3 files, and you now have a single directory containing all MP3 files in the computer, regardless of where they are. The queries can be made on filenames or any other meta-data.
4. Speed. This includes FS structure overhead, live query processing, and raw data throughput. One of the big reasons I won't just use BFS, it doesn't have the performance. ReiserFS is looking better and better in this department, among others.
5. Journaling. Critical for disaster recovery, to make sure your data is always in a stable state.
6. Space efficiency + expandability. The FS must be able to handle extremely large drives, and extremely large file sizes, without wasting space (like by increasing the cluster size).
I think that'd do it for me.
![Smile :)](./images/smilies/icon_smile.gif)