It’s that time of year again – Haiku is going to participate in Google’s Summer of Code, and this means interesting projects to follow. One of the three projects has the goal to bring XFS support to Haiku, while another wants to implement “an addon for Tracker to support the Git version control system“. The last of the three projects aims to develop an SDHCI MMC for Haiku, which, from the description of the project, seems like a massive undertaking to me.
Three fascinating projects to follow over the coming months.
Sorry. posted on wrong article… Move along, nothing to see here
Edited 2018-04-29 01:20 UTC
Even contributed to them a couple of times.
While I doubt that it will ever be Linux/Windows replacement, it is important to try.
As for XFS support, given the relatively small development team, using super-stable well-supported file system (along side BFS, possibly replacing it altogether in the future) is a *very* good idea as it will reduce the support work-load.
– Gilboa
Out of curiousity: what would be the benefit of XFS over BFS for the average Haiku user?
On the project page I read that XFS is designed for large scale storage systems. Seems to me that a desktop operating system has other requirements.
Besides, BFS was decades ahead of the competition in the R5 era. So it currently is still a solid contender
From what I understand, BFS is slow. Like, really, really slow. While its metadata handling capabilities are superb, it comes at a significant performance cost that affects even common file operations.
XFS, on the other hand, is really fast. Opening files, creating files, writing, etc etc, are all performed at rapid pace.
Arguably, a better solution is to implement the metadata features at a higher level than the filesystem, that way supporting the database-like features in BFS doesn’t bog down other file operations.
Hm, DB-like filesystem …so, like the fabled WinFS? (I suppose the same performance concerns brought doom to this MS project?)
And why not ZFS?…
XFS was designed for large scale storage systems, but it still works just fine for a desktop system. There are certain things desktop users might want that are lacking (like the ability to shrink the filesystem), but the only really big thing about it that differs from typical desktop filesystems is that it’s designed in such a way that performance is uniform no matter what (provided you use the same parameters creating the filesystems, one that’s brand new will get the same performance as one that’s been in use for half a decade).
Aside from all that though, BFS has crappy performance (XFS isn’t amazing, but it’s significantly better in this respect than BFS), and XFS also has much better cross platform support (which greatly simplifies multi-booting Haiku or virtualizing it). Depending on how complete of an implementation, and what revision they choose, there could be a whole slew of other features it brings, including:
* Metadata checksumming.
* Support for a separate journal device (which is a huge performance booster if used right).
* True 64-bit support (8EB – 1 byte max FS size and file size, versus functional limits of 2EB and 260GB respectively for BFS).
* Delayed allocation (not sure if BFS supports this or not, as I’ve not done much with Haiku or BeOS and haven’t found much documentation).
* DMAPI support (probably not, as it’s not a particularly useful feature for workstations or desktops).
* In theory, reflink support (though last I checked this isn’t even fully merged and working in Linux yet), and by extension support for batch deduplication and VFS level snapshots.
I would imagine that for a desktop user, performance and stability.
More-ever, as times change, new storage devices (SSD, NVME, etc) require FS support and given Haiku has limited man-power its unlikely that BFS will gain such support.
Using well supported and thriving FS is a good choice as it will reduce the support burden.
Edited 2018-05-02 11:23 UTC
I think Haiku has the best chance of being successful of any open-source desktop OS. Sadly it’s lack of X11 support, and a comprehensive POSIX interface currently leave it with a limited subset of real applications. Although the QT5 port has given Haiku some much-needed, if not native, software.
As a developer, I enjoy porting to Haiku because it isn’t yet another X11+Posix OS.
Out of curiosity, what portions of Posix do you want that it is missing? The Posix system is complete enough that quite a lot of Unix programs work as-is on Haiku.
It could have been a contender but is it too late now?