As someone who uses openSUSE, this is great I love it.
The CoW nature of Btrfs means it’s often slower than ext4 for common tasks, right? It also means more writes to your SSDs.
I’ve stuck to ext4 so far, as someone who doesn’t really have a need for snapshotting.
Edit: I’m not an expert on file systems in the least, so do chime in if these assumptions are incorrect.
Meh, ssds are basically cow by nature anyway, you have to erase large blocks, you can’t just rewrite into them.
But if the file system needs extra writes anyway for CoW, and the SSD needs its own CoW, then wouldn’t that end up being exponential writes? Or is there some mechanism which mitigates that?
The fs does cow then releases the old block if appropriate.
The ssd has a tracking map for all blocks, it’s cow relies on a block being overwritten to free the old block.
Basically it works out the same either way.
Thanks
It’s interesting, however, if you mkfs.ext4 without -E ssd, or through some weirdness in your driver chain the filsystem doesn’t know it can discard, then everything everywhere sucks for everyone, a cow fs is worse because no blocks are ever overwritten till the end, and the block map becomes a disaster while performance goes down the drain.
Nowadays this rarely happens outside of very broken USB mass storage chips.
This is why we used to have the fstrim command.
Wtf lol
I can’t be the only one that reads BTFRS as butt farts
Am I old if I read BTRFS as butterface?
If you were, not anymore. That’s what I’m calling it from now on.
I think your subconscious switched up the letters to induce the funny
I can’t help but try to phonetically call it “BUTTERFURSS”. O.o
Maybe not butt farts, but butter for sure.
And here I thought it was “butt first”.
I wish we could just get one good open, unified filesystem that all OS’s support. It sucks that if I want a usb drive to function on both Android and Linux, I have to format it to FAT. That pos fs can’t even store files over 4 gigs.
I normally prefer copyleft licenses, but this is one case something more permissive seems appropriate.
Personally, I enjoy having multiple options and being able to choose what meets my needs best.
practically begging for someone to post the competing standards xkcd
Honest question: I thought this limitation was the purpose of exFAT? 🤔
I don’t use it much myself though so I’m not sure.
exFAT seems very fragile and likes to corrupt often, MacOS especially likes to break it
Maybe? All I know is the other day I used my Debian pc (gnome) to format a usb drive as fat, thinking that’d be the most compatible and hassle free fs for storing and transferring files. Then I got an error that I couldn’t store Champions of Norrath on it because it couldn’t store files over 4 gigs. So for now I just am using ext4.
your data will have the same fate as that baby
Made smaller for easy delivery?
It was gonna be twins but they deduplicated, so conveniently the one simply holds a reference to the existence of the other one.
🤯
I zoomed in to read what they’re saying on the bottom right and was disappointed.
What do you think they should be saying?
She: Btrfs snaps like a pro!
Him: Like a file system should!
it doesn’t snap like a pro, though. I’m not a windows fan, but the NTFS snapshotting tech, the Volume Shadowcopy service on windows, notifies databases and whatever that is subscribed to it so that they can finish writing whatever is in the pipeline, and receive feedback from writers when they are done to know when to proceed.
as I know, linux does not have such a mechanism. without it restoring a snapshot made on a running system is exactly like booting from a crash.
sure better than nothing. but it’s not like a pro.
Mimimimi
Still no built-in encryption support :(
What are the benefits of built-in encryption versus LUKS ?
LUKS encrypts the whole drive, native FS encryption can encrypt it partially (e.g. just the home partition). Additionally, decrypting without a keyboard is a pain or impossible (e.g. touch screen only devices).
Opensuse has full disk encryption. https://news.opensuse.org/2025/02/20/setup-fde-on-opensuse/
If the home/root partition is a physical or logical volume you most certainly can leave that decrypted while encrypting other volumes. The system could not boot if that were the case as the efi partition cannot be encrypted.
PostmarkedOS was able to encrypt disk while offering on screen touch keyboard to unlock it on my pinePhone “pro”.
It does this by encrypting the OS separately from apps and user data. The OS is auto unlocked (usually using a hardware TPM chip).
I’m the furthest thing from an expert in linux encryption, but can you not use KDE’s “Vaults” feature to create encrypted folders/drives? I think it uses “CryFS” as the backend (according to KDE. Don’t really know enough about it).
I’ve used them on my btrfs drive and seemed to work fine.
The boot order of the component which handle encryption has an effect on which other system components which reliably can be scripted to automate stuff with that data.
Tldr if it’s just for your documents, sure. If you’ve got sensitive program data / config there, it makes it harder to autostart them because now you have to wait.
what’s the advantage of raid 5&6 over something like raid 4&5 - it reads essentially the same to me - a parity redundancy.
4 is bad because parity is on one drive so no matter what happens that drive is the write bottleneck. Raid5 is basically raid4 + raid0.
5 is just fine but low safety, I run 6 always and it has basically never let me down.
Notice the hard drive is a Southern Numeric branded Xavier Blue.
It’s a random 3d model I found on the internet haha. The “Southern Numeric” got a chuckle out of me as well XD
ZFS: 🙂
As someone who uses btrfs mostly (sometimes ext4, but I don’t really know why…), can someone explain the benefits of ZFS over the previous two I mentioned?
ZFS is more than just a filesystem, it’s a fully-integrated disk management system which replaces mdadm, LVM, LUKS, nfsd, rsync, as well as the filesystem. It’s great for NAS boxes and file servers, since you can give it a big pile o’ disks, and it slices and dices, and offers simple commands to create whatever volumes you need.
The two biggest benefits are that it’s basically a finished implementation of btrfs (see data corruption in large pools and raid 5 and 6), as well as being able to encrypt and compress at the same time.
Plus, and I don’t know if this is a ZFS-specific thing, being able to group disks into VDevs and not just into one big raid.
Tbf, the one thing I find nice, at least for home users, is the ability to throw JBOD and it makes it all work. Less cumbersome for newcomers. Zfs needs disks of the same size or it will only group disks into a vdev and use the smallest of the disks for capacity.
That said, I run zfs and no btrfs anywhere. Had high hopes for bcachefs but… That’s not going particularly well.
Different tools, different jobs. On my computer I also use btrfs, but on the family archive server ZFS (TrueNAS Scale). Right tool for the right job.
Thanks for the info. Does ZFS allow for easy snapshotting like btrfs? Or like the stuff in the backend that allows you to do things like, say, edit a filename while the file is open?
edit a filename while the file is open?
that should work on all filesystems on linux, shouldn’t it? linux keeps file handles by inode number, not filename. this is also the reason system updates can happen while everything is running, because replacing the open files is possible too, and the processes that opened it earlier keep seeing the old version of it
Snapshots like btrfs, yes. But I think every copy-on-write system can do that. But I don’t know about the rest.
Does ZFS allow for easy snapshotting like btrfs?
Absolutely
edit a filename while the file is open
Any Linux filesystem will do that
I wish the licensing would be Linux compatible
Overall solid but BTRFS has the advantage of being Linux native in the way it works. Right now I wouldn’t use btrfs for a critical raid system but it is great for single disks.
But we have OpenZFS, which is under CDDL (=LGPL). So it’s fine.
Edit: I was wrong, see comment below.
CDDL is not LGPL and is GPL incompatible
How so?
https://www.gnu.org/licenses/license-list.en.html#CDDL
Canonical ships ZFS like Nvidia ships proprietary drivers, which seems to work (legally and technically) but it means the development of ZoL is a bit cumbersome and can never be integrated in the kernel development like other filesystems.
Oh dear, I didn’t know that. Thanks for the info. I genuinely wish that people would stop using these pushover licenses. I thought it was like the LGPL, but sadly it isn’t. At least the base remains free though.
It’s kinda comparable in terms, but because both licenses have comparable copyleft “no rights may be removed and no terms added” restrictions they conflict and can’t be merged.
CDDL came after GPL, and I’m not convinced by the arguments for why it was used (to make some kind of development with commercial modules easier, but this could’ve been done with GPL + exceptions)
That license plus patents (which only are freely licensed to the CDDL implementation specifically) means you can’t just rewrite it for Linux either. You’d have to wait for the patents to expire and then do clean room reverse engineering.
Isn’t OpenZFS compatible though?
I believe the license isn’t, and would be next to impossible the change.
Oracle could change it if they wanted to. (They don’t care though)
Thanks, TIL. I always assumed the Open version originated on OpenBSD, and therefore licensed under a BSD license. So TrueNAS is technically violating the licenses by using it in their Linux based systems?
Oh Ubuntu even had an edition that defaulted to ZFS. The license violation ship has sailed.
I don’t think that it’s like a patent where the holder has to defend it; Oracle can decide to go after a license violation if they want to.
I’d imagine that if a real competitor or someone with deeper pockets shipped it, they’d be hearing from the throngs of lawyers that oracle keeps on staff in short order.
Yeah, the fact that ZFS is in Oracle’s hands is the real crime here. I miss Sun.
I guess my point was that if Canonical did it and nothing came of it, and Canonical isn’t poor, probably nothing’s going to come of it. Proxmox has been shipping ZFS for years, as well as the BSDs. Not a peep.
To be pedantic, it’s trademarks you have to actively defend. With copyright and patents there’s different exceptions, but you can usually sue for at minimum expected license fees (although sometimes you give up the possibility to sue for willful infringement & additional damages if you wait)
This is the way
IDK what they mean by better ssd I/O performance, btrfs was the worst FS I tested for some heavy SSD workloads (like writing thousands of little pngs in short time, file searches, merging huge weights with some paging)…
The features are fantastic, especially for HDDs, but it’s an inherently high overhead FS.
ext4 was also bad. F2FS and XFS are great, and I’ve stuck with F2FS for now.
idk man I just wanted to make a funny meme I’ve never run benchmarks myself and I just use btrfs for the features
Oh cool! Share the funny meme when it’s done.
(just pulling your leg. ^^)
Brutal lol
Yeah I meant no harm :P
Yeah none taken ;)
Really? I’ve found that btrfs is generally more performant than XFS
Yeah, it’s like night and day. btrfs and ext4 clog up and stall on the PNG workload, it’s why I switched in the first place.
This is on a PCIe ssd though. On an HDD or maybe a big SATA drive, features probably win out over the overhead.
That surgeon general’s warning sent me into a giggle fit.
Hot format. Invest invest INVEST
What’s the problem with btrfs really?
It is nice but it also feels like it is perpetually unfinished. Is there some major flaw in the design?
The main one is how it handles corruption. It has actively been designed to do the exact opposite of what a sane filesystem should do and maximises downtime.
It shouldn’t be that hard to patch it so that it works around failures. I’m not sure why that doesn’t seem to be a config setting.
I’ve seen ZFS in production use on pools with hundreds of TBs, clustered together into clusters of many PBs. The people running that don’t even think about BTRFS, and certainly won’t actively consider it for anything.
- BTRFS once had data corruption bugs. ZFS also had that, but only in very specific edge cases. That case was taken very seriously, but basically, ZFS has a reputation for not fucking up your bits even close to BTRFS
- ZFS was built and tested for use on large pools from the beginning, by Sun engineers from back when Sun was fucking amazing and not a pile of Oracle managed garbage. BTRFS still doesn’t have stable RAID5/6.
- ZFS send/recv is amazing for remote replication of large filesystems.
- DRAID is kind o the only sane thing to do with todays disk sizes, speeds and pool sizes.
But those are ancillary reasons. I’ll quote the big reason from the archwiki:
The RAID 5 and RAID 6 modes of Btrfs are fatally flawed, and should not be used for "anything but testing with throw-away data”.
For economic reasons, you need erasure coding for bigger pools, either classic RAID5/6 or DRAID. BTRFS will either melt your data in RAID5/6 or not support DRAID at all.
Mostly just the RAID5 and 6 instability, it’s fantastic otherwise. But I’m kinda excited to try out bcachefs pretty soon, as well.
Me too. (And when the author gets a chill pill)
Isn’t bcachefs in danger of being removed from the kernel?
Just gotta hope Kent gets his pull requests there in time lol
The Linux kernel uses mailing lists so technically it is called a patch.
I think the biggest issue was that Kent had/has a attitude problem. It feels weird to pick a fight with Torvalds since he is kind of known for destroying devs but Kent did it anyway.
So one should use ext4 for RAID 5&6?
Honestly, if it’s important enough to RAID, it’s important enough to do right and run full fat ZFS.
You could also go the mdadm route with individual disks but ZFS pools are so battle-tested that whatever unholy edgecase you manage to create will almost certainly be something someone has encountered before, and it’s probably well documented somewhere how to recover from
Sweet, thanks for the info
I would use ZFS
I’m not an expert but I’d say mdadm with btrfs on top