Is BTRFS unstable? (Update: It's not unstable, the problem is probably something else)

Can’t memtest check both at the same time? Like, each individually?

Well, disk is fine…

I’ll test RAM tomorrow, i still need the computer today for some things.

:mag: keep on seeking, and you will find; Luke 11 — Watchtower ONLINE LIBRARY

Please have a look at:

to see what RAM could do.

It is easy to blame btrfs :wink:

BUT btrfs detects such errors. Other filesystems don´t.

See what Btrfs developers say:

I’m not blaming btrfs for anything, it was just my first guess. :stuck_out_tongue:
I will run memtest tomorrow, since i still need to work on the computer. For now it probably won’t fail.

I use Ext4 as a stable filesystem for my 2 main storage HDD’s, but I had BTRFS on my 10 year old Western Digital 2TB drive with movie archives.

BTRFS is great for my system SSD for a couple of reasons:

  1. Instant snapshots
  2. I run back-in-time rsync backups.

This means stability, if my SSD takes a bullet, I can buy a new one, reinstall and restore from back-in-time.

If I edit my passwd file and can’t log in, I can reboot and select a snapshot.

I switched after Timeshift had issues restoring rsync backups and I ended up reinstalling anyway - I don’t know if the parse list was just too long or what, but it kept failing with my exisiting snapshots… Thankfully, rsync snapshots are available on disk to be copied to a new installation.

I don’t have an exotic config, and encountered zero issues so far.

1 Like

It can do, but it does not tell you which of the two is bad after test result.

memtest has the limit and can not detect some errors of RAM when:

  • DMA transfer under certain circumstances.
  • Probability of bit error is low like random (One time test is not enough, you need repeat test more than 10 times.) It is related to:
    • Temperature
    • Humidity
    • EMI
    • Voltage stability
    • Some external factor …

In my past, memtest did not help me to detect a random 1-bit error in my failing RAM, but Btrfs did.

How did I find my faulty RAM without using memtest:
I tested every single RAM and created any big file zip 20 GB, then copied it to other partition in the same disk more than 10 times repeats , then checked each file with checksum e.g SHA1 or SHA256 more than 10 times repeats, if all checksum results match correctly:

$ sha256sum 20GB_File

One of 4 RAMs showed up the error, rest others have no issue. That is why I caught the faulty RAM.

1 Like

Well, memtest ran for 6 hours, 4 passes, 0 errors… I know i didn’t test each stick individually, but if any were showing errors, then i’d decouple them and find out which one it is. Both seem fine so i don’t think i have to do that.

Now what? How do i test mainboard bus system?

Try to install mprime-bin from AUR

If no error then just use back normal until btrfs-desktop-notification-git helps you notice when new Btrfs warn or error message pops up.

journalctl-desktop-notification-git does the same and is general to everyone .
But btrfs-desktop-notification-git is special for btrfs only.

Ok, thanks, i’ll try it.

Well, i ran the stress test for a while, didn’t seem to be any issues whatsoever…

Which stress test did you run, and how?

Also, an obvious thing has been pointed to you early in the thread

At some point stop ignoring the first thing you should have tried:


When you’ll have done extensive tests with what comes with Manjaro, and find that you continue to see the exact same problematic behavior, you can then say it is not because of you external modified kernel that you see issues apparently only you have here on the forum.

Use logic it helps not wasting time. It may not be that, but why are you forcefully ignoring that obvious thing, I can’t tell…

You need to trim the big pieces first before detailing.


mprime-bin, left it on default options for half an hour, didn’t report any issues.
I’m not comfortable leaving stress tests on for longer so i stopped it.

I asked in this thread if it’s kernel related, people have told me no, so i didn’t.
But yeah, i guess i can try it.

No need to shout. :wink:

I’m definitely not the only one having issues with this, and this was on an official Manjaro kernel, though, granted, an older one. It was perfectly safe to assume the custom kernel wasn’t at fault here.
This exact thread actually solved one of the issues when this happened before. When some folder became not writeable due to permissions changing for no reason.

Because it’s not obvious it’s the kernel. I’m perfectly happy testing the normal one, but all evidence pointed to it not being the case, as others have stated here as well.

To me as it is not from Manjaro, and heavily modified ‘tuned’ kernel, to me this is obvious to go back with default kernel to rule that out.

Do Large FTT test for the RAM with mprime if you have an error you have a RAM issue.

I switched to the default kernel, we’ll see. I won’t switch back to xanmod if everything works fine from now on.

I tested memory with memtest for 6 hours, if any of the modules were faulty i the error would probably show by then. But i guess i can do one more, but later, need my computer now.

Asking back a week later to see if you had time to do more tests and check if you have same issue with Manjaro kernel? Any news?


A different test idea is to copy your current storage to a different one with a different filesystem type, make it bootable and try running on that one for a month.
If no issues, then profit for you a one more brick in the wall for btrfs.
If issues continue, then continue debugging.

No issues so far. I once had that annoying KDE Unlock bug, but that’s not related. And that notification system for BTRFS that i installed didn’t show up once, and i copied about 22 GB of pictures from my mobile to the drive, no issues.

I did remove xanmod, so maybe it was that kernel related after all.

I do have another SSD where WIndows used to be, but i’m too lazy to sift through it to see what’s there, and if i just copy everything to a folder and name it “backup” (lol) it shall forever remain untouched. :stuck_out_tongue:
But i don’t want to install the OS and configure it again, and chances are that, if i just run stock and browse internet on it, nothing will ever happen. A true test would be to do the exact same things i did on this install, then see if there’s a difference. But that’s too much time to re-do i’d like to avoid that if i can.

1 Like

Let’s hope it was that and your issue is gone for good :wink:

1 Like

Yeah! But also, there was recently some huge update where almost every package got updated, so the issue might have been fixed in one of those without me knowing…
In any case, it seems BTRFS, ssd health or memory are not the issue, and that’s what’s important.
I doubt it’s the motherboard as well, i would have had way more problems if it’s that.

So far so good in any case. :stuck_out_tongue:

1 Like

Well, that btrfs notification popped up that i installed:
It told me to check dmesg for grep, so i wrote sudo dmesg | grep btrfs in the terminal.

[ 6536.342454] BTRFS: error (device nvme0n1p2) in btrfs_commit_transaction:2447: errno=-5 IO failure (Error while writing out transaction)
[ 6536.343495] BTRFS: error (device nvme0n1p2: state EA) in btrfs_sync_log:3187: errno=-5 IO failure

Disk is healthy, memory is not corrupted memtest is ok, everything works except btrfs…
I’m even using the default kernel now. I removed xanmod.
I’m going to finish the work i have left for today, back up everything, then i’m reinstalling with ext4…
I’m not looking forward to another qemu GPU passthrough setup but whatever lol…

Be careful, smartctl and memtest have some limits.

I would suggest to test copying any large file. you need to test repeats more than 10 times:

  1. Create any file larger than 10 GB+ on another disk/partition and a checksum e.g. sha1sum.
  2. Copy this file to your bad Btrfs partition nvme0n1p2
  3. Check the file’s checksum if it matches correctly.
  4. delete this file, then copying it again.
  5. repeat copy and verification more than 10 times if you see a btrfs notification popping up.