Originally posted by LuukD
View Post
Second, a tiered storage. You can select devices for read cache, devices for writing files, devices for long time storage. And you have control over this on by-directory or by-file level. For example you can set SSD for read and write cache for all filesystem and then make an exception for Downloads directory, making it keep out from SSD.
Third is write amplification. Unlike bcache or flashcache, bcachefs treats SSD as first class citizen, it not different from HDD except from write target policy. So space allocation is flash-friendly, like the f2fs, bcachefs allocates space by big blocks, combining near simultaneous random writes into one big and contiguous. With later move to "background target" during re-balance, making possible defragmentation. This also makes filesystem SMR friendly, meaning it would be a good default choice in current situation, when most storage drives are either SSDs or SMR HDDs.
Comment