Developer(s) | Be Inc. |
---|---|
Full name | Be File System |
Introduced | May 10, 1997BeOS Advanced Access Preview Release[1] | with
Partition IDs | Be_BFS (Apple) 0xEB (MBR) 42465331-3BA3-10F1-802A-4861696B7521 (GPT) |
Structures | |
Directory contents | B+ tree[2] |
File allocation | inodes |
Bad blocks | inodes |
Limits | |
Max volume size | ~2 EB * |
Max file size | ~260 GB * |
Max no. of files | Unlimited |
Max filename length | 255 characters |
Allowed filename characters | All UTF-8 but "/" |
Features | |
Dates recorded | Access, Creation, Modified |
Date range | Unknown |
Date resolution | 1s |
Forks | Yes |
File system permissions | Unix permissions, POSIX ACLs |
Transparent compression | No |
Transparent encryption | No |
Other | |
Supported operating systems | BeOS, ZETA, Haiku, SkyOS, Syllable, Linux |
The Be File System (BFS) is the native file system for the BeOS. In the Linux kernel, it is referred to as "BeFS" to avoid confusion with Boot File System.
BFS was developed by Dominic Giampaolo and Cyril Meurillon over a ten-month period, starting in September 1996,[2] to provide BeOS with a modern 64-bit-capable journaling file system.[3] It is case-sensitive and capable of being used on floppy disks, hard disks and read-only media such as CD-ROMs. However, its use on small removable media is not advised, as the file-system headers consume from 600 KB to 2 MB, rendering floppy disks virtually useless.
Like its predecessor, OFS (Old Be File System, written by Benoit Schillings - formerly BFS),[4] it includes support for extended file attributes (metadata), with indexing and querying characteristics to provide functionality similar to that of a relational database.
Whilst intended as a 64-bit-capable file system, the size of some on-disk structures mean that the practical size limit is approximately 2 exabytes. Similarly the extent-based file allocation reduces the maximum practical file size to approximately 260 gigabytes at best and as little as a few blocks in a pathological worst case, depending on the degree of fragmentation.[citation needed]
Its design process, application programming interface, and internal workings are, for the most part, documented in the book Practical File System Design with the Be File System.[2]