| Developer(s) | Be Inc. |
|---|---|
| Full name | Be File System |
| Introduced | May 10, 1997; 28 years ago (1997-05-10) withBeOS Advanced Access Preview Release[1] |
| 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 | ~2EB * |
| Max file size | ~260GB * |
| Maxno. of files | Unlimited |
| Max filename length | 255 characters |
| Allowed filename characters | AllUTF-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 |
TheBe File System (BFS) is the nativefile system for theBeOS. In the Linux kernel, it is referred to as "BeFS" to avoid confusion withBoot File System.
BFS was developed byDominic Giampaolo andCyril Meurillon over a ten-month period, starting in September 1996,[2] to provide BeOS with a modern64-bit-capablejournaling file system.[3] It iscase-sensitive and capable of being used onfloppy disks,hard disks and read-only media such asCD-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 byBenoit Schillings - formerly BFS),[4] it includes support for extended file attributes (metadata), with indexing and querying characteristics to provide functionality similar to that of arelational 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 2exabytes. 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 offragmentation.[citation needed]
Its design process,application programming interface, and internal workings are, for the most part, documented in the bookPractical File System Design with the Be File System.[2]
In addition to the original 1996 BFS used in BeOS, there are several implementations forLinux. In early 1999, Makoto Kato developed a Be File System driver for Linux; however, the driver never reached a completely stable state, so in 2001 Will Dyson developed his own version of the Linux BFS driver.[5][6]
In 2002, Axel Dörfler and a few other developers created and released a reimplemented BFS called OpenBFS forHaiku (OpenBeOS back then).[7] In January 2004, Robert Szeleney announced that he had developed a fork of this OpenBFS file system for use in hisSkyOS operating system.[8] The regular OpenBFS implementation was also ported toSyllable, with which it has been included since version 0.6.5.