BTRFS Critical

Today I turned on my PC and the system would not boot normally. I eventually saw the message:

BTRFS critical (device sda2): corrupt node: root=258 block=23261052928 slot=123, unaligned pointer, have 5044307428104010465 should be aligned to 4096

I followed the prompt and booted into emergency mode. sda is an SSD containing both all the system partitions and /home.

sda2 is my / partition. Luckily /home seems to be OK but when I navigate to / I received a message about being unable to mount /var/[something] but unfortunately I did not note the message before it scrolled out of view as I entered more commands to verify the rest of my partitions.

When I navigate to to /var I get a message saying “bash: cd: /var: Input/output error” and the original BTRFS critical message repeated several times.

What can I do to restore my /var subpartition and get my system working properly again? Googling has not provided anything useful.

Thanks.

  1. With the user “root” in VT tty1: “systemctl rescue” – root password once again to get into the “Rescue” mode.
  2. btrfs rescue chunk-recover /
  3. btrfs check /
  4. btrfs balance start -dusage=85 /
  5. btrfs balance start -musage=70 /
  6. btrfs scrub /
  7. Clean out your snapper images …
  8. Make sure that, in normal usage, the systemd Btrfs maintenance services are enabled and, make sure that, they occasionally execute.