BFS filesystem - Linux driver improvements ( a BSD one ? )

Ahoy,

¤¤ DISCLAIMER
I would have opened this post into category ‘Haiku Inc.’, but unfortunately not such category.

Under ‘Development’ there were no such category that Haiku related software, but should work/enable initally Haiku specific software/service which PORTED TO another OS, so NOT ported FROM another SO, just as existing Software - Ports subcategory generally used and described.

This way I opened under simply ‘Software’.

¤¤ End of DISCLAIMER

Ok, so … there is a BFS driver for Linux, that actually classified as ‘experimental’ by some Linux distros - fortunale Linux Mint against it contains it -

It would be nice if someone would work on this driver, update/upgrade its feature in case Linux.
I do not fantasize on a BFS.IFS, mostly as I do not use generally old or new MS Windows systems right now, but moreover I rather use Linux again instead, as a feature expander -
so do not wait and reclaim that still not available on Haiku - I’m happy with that works and there is - that now on x86_64 Development version is not shabby .. at least for me.

BUT sometimes I would share files, and I have a BFS DATA thumbdrive, actually with standard, recommended 2.0 KB extent/block sizes, now I do not remember the appropriate wording. It’s fortunate*, as the Linux driver works only with this size on Linuix.*
I have 2 big Haiku install drive (one Beta6, one Nightly), and on one of them I formatted the the ‘DATA_MEDIA’ BFS partition with 8.0 KB extent/block size (as the biggest available) as that better fit to large video files, FS image files and other not categorized media files.
Now that is cannot be mounted on Linux - that BFS driver supports only the old 2KB size only -. from my point of view, at least, as I have no BFS with an 4.0 KB size actually on any of my drive -

So I wanted to ask that from Haiku Inc. would they have an intent to improve this Linux driver,
to make it closer to actual Haiku BFS filesystem features .. I do not mind if it still remain read-only, but would be nice if it would get the fixes/improvements that happened to BFS meanwhile it was made available in the past …

Especially as I’ve seen the patches that may enables BFS on Haiku to resize (with some limitations as I was red it) - so BFS can step into amopng filesystems that would be worth to use for ‘experimental NAS storage usage’ to emerge experiental into new meaning - in case of Haiku usage, not just in case Linux usage.

Generally NASes available open source and in commercial variants as well, I think about primarily as open source stuffs, if such new Linux driver would be available - moreover in extendable way - their developer communities may lift in BFS, or if not, then here contributors could write docs how to setup BFS on such systems.

I do not know even for any BSD variant
is there a BFS filesystem driver ?..,
but it may also be interesting for devs who use rather a BSD variant for cross-compiling Haiku development, than any Linux distro.

1 Like

It is good idea having Haiku to support other filesystems (EXT4, BTRFS and even FFS and PFS - why not :slight_smile: ) and other OSes to support BFS).

My Puppy Linux recognizes BFS partition and automatically mounts it. I can read it, but I’m afraid to write to it.

I actually tried to improve that driver a couple of years back. I tried to get some few very tiny patches applied that removed an erroneous warning and fixed accessing files over 2 GB (AFAIR, there is no block size restriction, and I never had any issues mounting any of my drives). Over the course of two years (!) I failed to get my patches in, though I really tried hard.

Unless you know anyone personally, there is little interest, and no time by the dedicated maintainers to help you with that.

I finally gave up, and moved on to other things.

3 Likes

Now I’ve seen as merged recently into Haiku tree - do not know how much of it : all or most of it.

I would appreciate doku about which these patches there are in now - enables exactly … and how which command could we use it.
I understand as Haiku primarily support quick responsive system, so might not mean like volume groups and kinda physical ↔ logical partition handling via additional layer as in LVM, but I think …
there are more people among members - even active or passive members or just forum readers - who would like to have some workstation grade - not server kind - possibilities in Haiku - let’s personal workstation instead personal computer (PC) simply.
I mean it was improved, as more cores supported, more main memory more hundred GB sizes, as they have such workstation grade systems .. x86_64 or Power just those I was red about here.
Some already uses Haiku even as fileserver too, so data is safe, altogether with attributes added on Haiku (by system, application, or users itself : manually ) meanwhile they can update config, develop anything on the desktop (or laptop PC) they use for whatever they had chosen Haiku.

This way a more some more serious BFS features as enabling extension primarily, and maybe reduction (if possible, even with limitation or automation to which size can be secured ),that’s already available for more filesystem storage solutions, so with more features and possibly on Linux (BSD ?) - on same or almost same level - as well : would be appreciated.

:cowboy_hat_face:

I recall we had that conversation before, and I believe that unfortunately you simply knocked on the wrong door trying to reach out to the officially appointed BeFS maintainers instead of contacting Christian Brauner.

I’ve just checked, and BeFS implementation is fairly actively updated, there were 5 commits merged this year, the last one in May. Christian merged most of the commits. So I think it’s doable.

Funnily enough, there’s also a commit in February from Linus Torvalds himself, though BeFS code was simply touched as a part of big refactoring.

Then

Why I faced with issue on Linux Mint 22.2 to mount 8 KB blocksize BFS filesystem ?
Do they use somehow an old BFS version in their distro ?
I’m on specifically kernel version 7.x instead of 6.something that is officially the kernel of Linux Mint 22.2 -

Why Fedora classified BFS kernel driver to ‘experimental’ sometimes in the past and removed from the distro ?

It looks that this patch addressed a similar issue: Making sure you're not a bot! . It’s available in kernel 7.2, if that version doesn’t work for you then perhaps there’s some other not yet fixed issue.

I see -
when I checked 7.2 kernel - it was not yet available in the repo, and I don’t remember why I wanted to avoid that level. Some stuffs were removed from it - I do not remember well what was that I red in the preliminary description about that release.

Thank you for sharing this thread of posts - somehow I had not red that time.

Also I misunderrstood axeld’s answer, as I thought first it was related to Haiku side related BFS improvement this way I cited the image about CGIT’s merged patches.
Now as I updated this info about that patches were provided to BFS or rather BeFS regarding Linux - just not cared by maintainers as expected basically I finally understand this support’s complexity.
I was in a simplicity of a 1 radius user when I thoght how it would be done if some of us would be such maintainer(s) - then I accept how it is actually. I will update Linux too and hope finally I can mount BFS with larger block size then the default one.

1 Like

Though of course it would be better to get the Linux BFS driver updated, I wanted to also mention that you could build BFS fuse for linux and it supports write mode. I didn’t try it for a while but it was working a few years ago for me.

Oh yeah, I could do - if I would have intent to

- → deep dive into compiling serious stuff for my OSes
(I just do this compiling for not important stuff like screensavers)

- → also figuring out with or without help … possible compiling errors

Sorry that out of my scope of interest - it’s not laziness … it’s total refuse
to involve myself into it - I did enough time resolving issues by reading doscs,
acting on them, writing another docs for other how to avoid the same issue(s),
meanwhile I created report(s) about them, answering always standard 5 questions,
… aaaa–and, of course, asking help when I could not find answer, or I
had not understood fully (aka grocked).
I did it as midrange sysadmin, later physical DBA .. for paid job.

Now I’m out of it. Out of interest too. I can spend time to read about it,
or skip it if details are going to too detailed into coding … so just reading.

So I could, but selecting to install it if ready - or skip if does not coming.
I lost interest in some kind of insisting to have it. There are options
there things just works as I would like to work. Why would force anyone ?
I just ask - no problem anymore, if I turned down. Recently I learnt a fitting
expression in English what’s next .. I just “file away”.
I also know that I can do it for myself if I have
→ a strong intent to resolve it for myself / to do it for myself,
→ and if I want spend time with it that costs the time I can spend with those
I may have more joy to to do it, and (let) the other thing is may have in
better hands in mine would be -
Especially if they have intent and required knowledge better to do it more
carefully or more advanced than me.

EDIT : I almost forgot to mention. Instead of resolving only for me, now I prefer
if it is resolved for more people than me, however I still
- have no intent to fight for it
- or power to deliver it anyway for everyone who would grab it who
also would like to have it.

:cowboy_hat_face:

Yes it’s not terribly easy for an end user. I’m just making the option known as it’s relevant to the topic. To use it or not, well that’s your business :slight_smile:

1 Like

Honestly I checked this page recently as someone else noted fuse stuff, so I thought I give a chance to do it.

I was installed the package blindly, not taking effort the consciousness of having
_dev in package name at the end … I thought it just installs some prerequisite
libraries for using them.
Then I sow jam and understood it’s another way that I expected .. to add
by installing (download, copy or use package management to do it)
but by rather compiling something for a system component that I would rely on
in case integrity and maybe possible corruption or data loss can occur.

And I caused this for me, not leaving as is right now. So I gave up on. :slight_smile:
A person can feel more worse themselves who was caused the issue,
in this cases,
and punish themselves far more than others would do sometimes.
I would avoid that as I recognized .. was leaned toward this behaviour
me myself - in the past.