Jeff (47:45)
Well, this week I have another set of two articles. I mean, you're getting a lot of value out of this show, I'm telling you what. And this actually even has Linus in it again. So the first article is linus removing the bcache fs code from the kernel. This is for the 6.18 kernel. Now this isn't a surprise. We knew it was happening. The only reason it Wasn't removed in 6.17 was to allow users to be able to have a smoother transition over to a new file system or get ready to use bcachefs as a DKMS module, which I mean other file systems such like zfs, you know, is used that way as well. So. So it's not unheard of to have a file system in the DKMS module. Now the second article, which is kind of the meat of the story, is a blog from Kent Overstreet, who's the lead developer on bcap bcashfs, talking about the change from entry to the DKMS module. Now he first talks about what it would take to get the file system into your distribution. You know, it's just going to be a make and a make install of the bcache FS dash tools and that'll install the kernel sources and, you know, but, but he does go on to say, you know, for most people it should be handled by your distribution maintainer, so this shouldn't have to be anything you'd worry about normally, unless you're doing like a Linux from scratch or maybe a gen 2 or something where you really got your fingers into it. But for most people, shouldn't, shouldn't even be an issue. Now you can even use bcache FS as your root file system as long as you have a intra RAM fs. Now this is an initial RAM disk and I found a couple different variations of what intra RAMFS stands for, but it basically it's a initial RAM disk which, it works like a normal file system but lets the system load in the needed drivers and support modules, you know, in this case the module to read the bcache FS file system. And before, before everything really gets started. It, it's not uncommon, you know, it's actually pretty common. So this intra RAMFS isn't an odd thing. It just, it's the first bootstrap for the kernel, the root file system, the, you know, any other device drivers, things like that that you, you need to load in right away before you actually start hitting your actual root file system. So Kent does make sure to say that the internal software is going to be aging and so I mean not even talking about it being removed in 6 18, but if you stay on 617 a while there's going to be no updates for it. So you should not rely on that and you should be going with the module just to make sure you're getting the latest and greatest. Now right now to get the code they're going to be two channels. There's going to be a nightly which as it sounds it gets updated every day but probably unstable as changes are added and they, you know, as, as they get rolled into the, the tree they're going to be need debugging, reliability re. Right, reliability testing. So this, this is the kind of constant rolling developer release and they, they could even on a nightly you, you could wind up with a non functioning system as well because maybe all the code didn't go in right or something like that. So that's only for the active developers. Now there's also going to be a release which as it sounds is going to be updated slower and have much more stable code in it. Now Kent does go on to say when they're able to remove the experimental flag from the project, they're going to add a third channel and they're thinking this experimental flag is going to drop in a few months. It's not that far far away they're thinking but, but when they do then they'll have the stable channel which as it sounds is going to be even slower moving and going to be the rock solid version of the file system. So bug fixes will come fairly quickly, but features will move slowly so nothing gets added to the stable until it's really tested and make sure that it's not going to disrupt Anything. So, you know, the, the release is probably more of what you might have, an arch or something like that, or something with a little more cutting edge. And then the stable was going to be your, like server type releases where you just, you want stability over everything else. Now, Kent says he has been working with distributions to have them provide packages for both of the channels. And he said the goal is to get the widest range of testers they can, so most people can get pounding on the file system. And so they, they want it to make it as solid as they can for the initial stable release. Now that will also tie in. They have automated testing which they have in place, and he feels they've got a lot of test cases covered. But he does mention the random human element is something they are wanting. You know, the broader audience for those things that no one ever thought to try, except for that one sysadmin or user who just thought this would work better. You know, the developers never thought to turn those dials to those particular settings. You know, it's, it's like we never envisioned somebody would do that. Well, that's where the, the, the human element comes. The human element comes in. Now, Kent does go on to describe the support status in many different distributions. For example, like Debian Ubuntu, they're going to provide an external repository to the. So Kent and the BCash FS team will provide an external repository to Debian and Ubuntu so which has both channels. And you know, he, he has a lot more detail in there. But like he, he mentions things like in the Debian world, the nightly build, they refer to it as a snapshot. Same code, just different, different vernacular. So there's, there's a lot more detail in there. He goes over a lot of different distributions, how they're handled, some slight nuances with them, but, but I'll leave that for the listener to go look at the article in the show notes for all that. But I hit a lot of the basic highlights so you get a feel what's going on. And honestly, time will tell if BCash FS is going to be the next big thing, or it'll be left to the historical archives. But time will tell. We'll wait and see.