Btrfs file system not mounting

I received a “No space left on device” error on my Btrfs filesystem
Then I add a Btrfs device using the command btrfs device add /dev/loop0 . and rebalance file system.
I forgot to delete the Btrfs device using the command btrfs device delete /dev/loop0 .

As a result, my filesystem is now unable to mount, and I’m seeking assistance on resolving this issue.


[nirmal@nirmal-notebook ~]$ sudo mount  /dev/mapper/luks-d31cd5c9-39b2-4972-abd4-1435ba1665c2 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/mapper/luks-d31cd5c9-39b2-4972-abd4-1435ba1665c2, missing codepage or helper program, or other error.
       dmesg(1) may have more information after failed mount system call.


Jul 19 13:03:25 nirmal-notebook kernel: BTRFS info (device dm-1): using crc32c (crc32c-intel) checksum algorithm
Jul 19 13:03:25 nirmal-notebook kernel: BTRFS info (device dm-1): disk space caching is enabled
Jul 19 13:03:25 nirmal-notebook kernel: BTRFS error (device dm-1): devid 2 uuid 9a841ee3-6227-49fe-b113-0def5f78709d is missing
Jul 19 13:03:25 nirmal-notebook kernel: BTRFS error (device dm-1): failed to read chunk tree: -2
Jul 19 13:03:25 nirmal-notebook sudo[40990]: pam_unix(sudo:session): session closed for user root
Jul 19 13:03:25 nirmal-notebook kernel: BTRFS error (device dm-1): open_ctree failed

If the file you used as backing store for /dev/loop0 is still available - boot into any live Linux, setup the loop using the same file as backing store, mount filesystem, remove loop device from it.

1 Like

The file is not available now

Then your only option is to try btrfs restore to salvage as much as possible from this filesystem, then recreate it.