
Reconcile stalled
At my wits end trying to debug why the reconcile thread seems to do nothing on my pool.
[root@nasty:~]# bcachefs reconcile status /fs/add40cf7/
Scan pending: 0
data metadata
replicas: 0 0
checksum: 7.34G 0
erasure_code: 12.0G 0
compression: 1.41M 0
target: 0 0
high_priority: 0 0
pending: 12.0G 0
stripes: 0 0
processing normal phys: POS_MIN
Reconcile thread backtrace:
[<0>] __bch2_closure_sync_timeout+0x3c/0x140 [bcachefs]
[<0>] bch2_closure_sync_unbounded+0x2a/0x40 [bcachefs]
[<0>] do_reconcile+0x86a/0xef0 [bcachefs]
[<0>] bch2_reconcile_thread+0xfc/0x120 [bcachefs]
[<0>] kthread+0xfb/0x260
[<0>] ret_from_fork+0x22d/0x260
[<0>] ret_from_fork_asm+0x1a/0x30
The checksum line has been stuck at 7.34G for weeks. I changed kernels and distributions in the mean time, but it won't advance. The erasure_code line is new; I only recently started a test with erasure coding, it's only enabled for a specific test subvolume, holding 3 files of 4GB each.
I've recently added a 3rd large HDD, but it doesn't even look like it's getting any user data.
All the while, the disks are spinning, and it seems that writes are happening:
Superblock information: https://pastebin.com/uPFtvBBN
It could be possible that this may have started with some SATA controller issues, I've seen some `ATA: hard resetting link` messages in `dmesg` in the past, perhaps due to a disk not being properly seated; alas I haven't saved them.
However I don't understand why this whole drive activity happens constantly, and why the reconcile thread doesn't advance. Help is very much appreciated.
EDIT: When I stop the reconcile thread, most/all the disk activity stops.