(In reply to Wenruo Qu from comment #10) > It is possible. > > Since you can already mount the fs RO, you can go "btrfs subvolume list > <mnt>" to make sure which directory is subvolume 1628. > > Another thing is, if you're using SUSE based distro, you may want to mount > with "-o rescue=all,ro,subvolid=5" to mount the real top level subvolume. > Or some subvolumes/snapshots may be hidden. > > This can make a huge difference between the current /home is in-accessible > from some snapshots of /home are completely fine. "-o rescue=all,ro,subvolid=5" worked like a charm, I have all my home back. Thanks A LOT Qu! (Btw, this worked on Ubuntu 22). Subvolume 1628 was actually a snapshot. I think I will reinstall the OS on the disk, and not trying to repair it. If you want to investigate the BUG_ON, I am happy to help, otherwise we can close this bug since this is good for me :)