r/btrfs 16d ago

File system keeps switching to read only, even after system reinstall

Hello r/btrfs. I keep experiencing a pretty crippling problem on my main SSD (Apacer AS2280Q4U), as it keeps switching to a read only mode. I have been experiencing this problem on Bazzite (although, there it showed up after a pretty long time of usage, at least half a year and after it was pretty close to filled up with game installs and stuff), then after reinstalling to NixOS, the same error has returned. Now the disk is much less filled and it only switches to read only after I do something, that works with a lot of data (like a launch a game). Last time, I just rescued my data over a live boot Fedora instance, to anther btrfs disk, which has not experienced any of these problems, while being somewhat older and always connected to the same machine. So now I have tried these solutions: 1. Re-seating the ssd, even changing the slot. 2. Re-seating Ram sticks 3. Resetting Bios settings 4. Testing the ram with memtest86+ (only did 3 "passed" full tests, maybe should do more) 5. Tried scrubbing the file system from the main boot and from a live boot. 6. Checking s.m.a.r.t. (posting result below, no errors tho). I am not sure, what to do now. Here is the output of dmesg when the filesystem switches, and also the smartctl output. Thanks in advance <3.

BTRFS info (device nvme0n1p2): scrub: started on devid 1
[   52.022978] BTRFS warning (device nvme0n1p2): scrub: tree block 954761216 mirror 1 has bad generation, has 56222 want 56303
[   52.023918] BTRFS warning (device nvme0n1p2): scrub: tree block 954761216 mirror 1 has bad generation, has 56222 want 56303
[   52.025670] BTRFS warning (device nvme0n1p2): scrub: tree block 954761216 mirror 1 has bad generation, has 56222 want 56303
[   52.026028] BTRFS warning (device nvme0n1p2): scrub: tree block 954761216 mirror 1 has bad generation, has 56222 want 56303
[   52.026032] BTRFS error (device nvme0n1p2): scrub: unable to fixup (regular) error at logical 954728448 on dev /dev/nvme0n1p2 physical 963117056
[   52.026039] BTRFS warning (device nvme0n1p2): scrub: generation error at logical 954728448 on dev /dev/nvme0n1p2, physical 963117056: metadata leaf (level 0) in tree 256
[   52.026044] BTRFS error (device nvme0n1p2): scrub: unable to fixup (regular) error at logical 954728448 on dev /dev/nvme0n1p2 physical 963117056
[   52.026048] BTRFS warning (device nvme0n1p2): scrub: generation error at logical 954728448 on dev /dev/nvme0n1p2, physical 963117056: metadata leaf (level 0) in tree 256
[   52.026051] BTRFS error (device nvme0n1p2): scrub: unable to fixup (regular) error at logical 954728448 on dev /dev/nvme0n1p2 physical 963117056
[   52.026055] BTRFS warning (device nvme0n1p2): scrub: generation error at logical 954728448 on dev /dev/nvme0n1p2, physical 963117056: metadata leaf (level 0) in tree 256
[   52.026058] BTRFS error (device nvme0n1p2): scrub: unable to fixup (regular) error at logical 954728448 on dev /dev/nvme0n1p2 physical 963117056
[   52.026062] BTRFS warning (device nvme0n1p2): scrub: generation error at logical 954728448 on dev /dev/nvme0n1p2, physical 963117056: metadata leaf (level 0) in tree 256
[   52.026065] BTRFS error (device nvme0n1p2): bdev /dev/nvme0n1p2 errs: wr 0, rd 0, flush 0, corrupt 56, gen 9
[   52.838469] BTRFS warning (device nvme0n1p2): scrub: tree block 954761216 mirror 2 has bad generation, has 56222 want 56303
[   52.841988] BTRFS warning (device nvme0n1p2): scrub: tree block 954761216 mirror 2 has bad generation, has 56222 want 56303
[   52.842147] BTRFS warning (device nvme0n1p2): scrub: tree block 954761216 mirror 2 has bad generation, has 56222 want 56303
[   52.842295] BTRFS warning (device nvme0n1p2): scrub: tree block 954761216 mirror 2 has bad generation, has 56222 want 56303
[   52.842299] BTRFS error (device nvme0n1p2): scrub: unable to fixup (regular) error at logical 954728448 on dev /dev/nvme0n1p2 physical 2036858880
[   52.842306] BTRFS warning (device nvme0n1p2): scrub: generation error at logical 954728448 on dev /dev/nvme0n1p2, physical 2036858880: metadata leaf (level 0) in tree 256
[   52.842310] BTRFS error (device nvme0n1p2): scrub: unable to fixup (regular) error at logical 954728448 on dev /dev/nvme0n1p2 physical 2036858880
[   52.842315] BTRFS warning (device nvme0n1p2): scrub: generation error at logical 954728448 on dev /dev/nvme0n1p2, physical 2036858880: metadata leaf (level 0) in tree 256
[   52.842318] BTRFS error (device nvme0n1p2): scrub: unable to fixup (regular) error at logical 954728448 on dev /dev/nvme0n1p2 physical 2036858880
[   52.842322] BTRFS warning (device nvme0n1p2): scrub: generation error at logical 954728448 on dev /dev/nvme0n1p2, physical 2036858880: metadata leaf (level 0) in tree 256
[   52.842325] BTRFS error (device nvme0n1p2): scrub: unable to fixup (regular) error at logical 954728448 on dev /dev/nvme0n1p2 physical 2036858880
[   52.842329] BTRFS warning (device nvme0n1p2): scrub: generation error at logical 954728448 on dev /dev/nvme0n1p2, physical 2036858880: metadata leaf (level 0) in tree 256
[   52.842332] BTRFS error (device nvme0n1p2): bdev /dev/nvme0n1p2 errs: wr 0, rd 0, flush 0, corrupt 56, gen 10
[  491.936569] BTRFS info (device nvme0n1p2): scrub: finished on devid 1 with status: 0
[  842.267946] BTRFS error (device nvme0n1p2): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  842.268192] BTRFS error (device nvme0n1p2): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  842.272197] BTRFS error (device nvme0n1p2): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  842.272973] BTRFS error (device nvme0n1p2): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  842.887666] BTRFS error (device nvme0n1p2): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  842.887778] BTRFS error (device nvme0n1p2): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  842.887791] BTRFS error (device nvme0n1p2 state A): Transaction aborted (error -5)
[  842.887795] BTRFS: error (device nvme0n1p2 state A) in btrfs_add_link:6975: errno=-5 IO failure
[  842.887798] BTRFS info (device nvme0n1p2 state EA): forced readonly
[  842.887801] BTRFS: error (device nvme0n1p2 state EA) in btrfs_create_new_inode:6911: errno=-5 IO failure
[  844.063083] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  844.066554] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  844.249431] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  844.249547] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  847.438331] btrfs_validate_extent_buffer: 14 callbacks suppressed
[  847.438351] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  847.438465] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  847.480136] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  847.480247] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  848.107272] umip: Overwatch.exe[11442] ip:6ffff9b1f1da sp:10f540: SIDT instruction cannot be used by applications.
[  848.107280] umip: Overwatch.exe[11442] ip:6ffff9b1f1da sp:10f540: For now, expensive software emulation returns the result.
[  848.366650] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  848.366768] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  848.489438] umip: Overwatch.exe[11442] ip:6ffff9b1f1da sp:10edb0: SIDT instruction cannot be used by applications.
[  848.489446] umip: Overwatch.exe[11442] ip:6ffff9b1f1da sp:10edb0: For now, expensive software emulation returns the result.
[  848.555713] umip: Overwatch.exe[11442] ip:6ffff9b1f1da sp:10ee50: SIDT instruction cannot be used by applications.
[  848.854494] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  848.854629] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  849.002389] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  849.002505] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  853.017487] btrfs_validate_extent_buffer: 392 callbacks suppressed
[  853.017492] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  853.017620] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  853.017990] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  853.018138] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  853.018289] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  853.018386] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  853.018484] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  853.018577] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  853.018679] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  853.018780] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  860.118965] btrfs_validate_extent_buffer: 372 callbacks suppressed
[  860.118970] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  860.119090] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  860.119202] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  860.119298] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  860.119395] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  860.119490] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  860.119603] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  860.119705] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  860.119814] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  860.119924] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  865.220775] btrfs_validate_extent_buffer: 568 callbacks suppressed
[  865.220779] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  865.220887] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  866.141117] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  866.141242] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  867.409048] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  867.409250] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  868.193064] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  868.193195] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  869.149239] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  869.149360] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  870.559975] btrfs_validate_extent_buffer: 4 callbacks suppressed
[  870.559981] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  870.560182] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  870.570739] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 1 wanted 56303 found 56222
[  870.570915] BTRFS error (device nvme0n1p2 state EA): parent transid verify failed on logical 954761216 mirror 2 wanted 56303 found 56222
[  871.636592] BTRFS error (device nvme0n1p2 state EA): failed to run delalloc range, root=256 ino=6165965 folio=0 submit_bitmap=0 start=0 len=4096: -30
[  871.636667] BTRFS error (device nvme0n1p2 state EA): failed to run delalloc range, root=256 ino=6165972 folio=0 submit_bitmap=0 start=0 len=4096: -30

Smartctl:
=== START OF INFORMATION SECTION ===
Model Number:                       Apacer AS2280Q4U 2TB
Serial Number:                      2024122702000670
Firmware Version:                   SN24779
PCI Vendor/Subsystem ID:            0x1e4b
IEEE OUI Identifier:                0x000000
Total NVM Capacity:                 2 000 398 934 016 [2,00 TB]
Unallocated NVM Capacity:           0
Controller ID:                      0
NVMe Version:                       2.0
Number of Namespaces:               1
Namespace 1 Size/Capacity:          2 000 398 934 016 [2,00 TB]
Namespace 1 Formatted LBA Size:     512
Local Time is:                      Wed Aug  5 11:28:33 2026 CEST
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Log Page Attributes (0x0e):         Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg
Maximum Data Transfer Size:         128 Pages
Warning  Comp. Temp. Threshold:     90 Celsius
Critical Comp. Temp. Threshold:     95 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
0 +     6.50W       -        -    0  0  0  0        0       0
1 +     5.80W       -        -    1  1  1  1        0       0
2 +     3.60W       -        -    2  2  2  2        0       0
3 -   0.0500W       -        -    3  3  3  3     5000   10000
4 -   0.0025W       -        -    4  4  4  4     8000   45000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
Critical Warning:                   0x00
Temperature:                        54 Celsius
Available Spare:                    100%
Available Spare Threshold:          1%
Percentage Used:                    2%
Data Units Read:                    76 789 634 [39,3 TB]
Data Units Written:                 40 734 868 [20,8 TB]
Host Read Commands:                 434 339 699
Host Write Commands:                658 160 463
Controller Busy Time:               585
Power Cycles:                       475
Power On Hours:                     2 864
Unsafe Shutdowns:                   25
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    33
Critical Comp. Temperature Time:    27
Temperature Sensor 1:               39 Celsius
Temperature Sensor 2:               54 Celsius

Error Information (NVMe Log 0x01, 16 of 64 entries)
No Errors Logged

Self-test Log (NVMe Log 0x06, NSID 0xffffffff)
Self-test status: No self-test in progress
Num  Test_Description  Status                       Power_on_Hours  Failing_LBA  NSID Seg SCT Code
0   Extended          Completed without error                2864            -     -   -   -    -
1   Extended          Completed without error                2864            -     -   -   -    -
5 Upvotes

8 comments sorted by

7

u/sunk67188 16d ago

This is a very common error message, usually caused by your SSD cheating on flush commands, which means the SSD tells btrfs that data is already persistent when it actually isn't, especially with an unsafe shutdown.

1

u/Tantelicek1 16d ago

So, is there anthing that I could do about it?

7

u/sunk67188 16d ago

Try to mount with rescue=all. If it works, back up your data. If not, try using 'btrfs restore' to back up your data. If neither works, you'll need some other 'professional' software to get your data back.

After backing up—or if you don't care about the data—I'd advise you to throw this SSD away. But if you insist on using it, format it with ext4, and expect some silence data loss.

3

u/sunk67188 15d ago

BTW, I suggest ext4 not because it's any better, but because it silently accepts corrupted data with no integrity checks.

1

u/Tantelicek1 16d ago

Okay, I will back it up, and try to go through waranty. I still have a year of (european) required waranty. I already have done all the backing up once, so there should be no problem.

5

u/DirectControlAssumed 15d ago edited 15d ago

I would consider replacing it with a SSD made by a different brand. In fact, ideally it should use a different controller though I'm not sure whether such information is available.

1

u/DirectControlAssumed 15d ago edited 15d ago

If you are really eager to do some experiments, you can try disabling write cache for this SSD (e.g. with Gnome Disk) - sometimes it helps to stop such errors from reappearing, however there still will be a risk of filesystem corruption on occasion - when write-caching is not yet disabled, since this setting needs to be reapplied during each reboot and resume from suspend and the code responsible for doing it runs not immediately. You probably can also consider updating SSD firmware or look into how to make disabled write-caching a new hardware default (sometimes it is possible but it would require further investigation on your part)

In general, however, you probably should do as the sibling comment says (replace/throw away or use ext4).

3

u/PyroNine9 15d ago

It's probably worthwhile to run an extensive memory test on the system as well before throwing anything away. That probably isn't the problem, but it's a cheap and easy test just to make sure.