On 2019/8/15 下午9:52, Tim Walberg wrote: > Had to wait for 'btrfs recover' to finish before I proceed farther. > > Kernel is 4.19.45, tools are 4.19.1 > > File system is a 3-disk RAID10 with WD3003FZEX (WD Black 3TB) > > Output from attempting to mount: > > # mount -o ro,usebackuproot /dev/sdc1 /mnt > mount: wrong fs type, bad option, bad superblock on /dev/sdc1, > missing codepage or helper program, or other error > > In some cases useful info is found in syslog - try > dmesg | tail or so. > > Kernel messages from the mount attempt: > > [Thu Aug 15 08:47:42 2019] BTRFS info (device sdc1): trying to use backup root at mount time > [Thu Aug 15 08:47:42 2019] BTRFS info (device sdc1): disk space caching is enabled > [Thu Aug 15 08:47:42 2019] BTRFS info (device sdc1): has skinny extents > [Thu Aug 15 08:47:42 2019] BTRFS error (device sdc1): parent transid verify failed on 229846466560 wanted 49749 found 49750 > [Thu Aug 15 08:47:42 2019] BTRFS error (device sdc1): parent transid verify failed on 229846466560 wanted 49749 found 49750 > [Thu Aug 15 08:47:42 2019] BTRFS error (device sdc1): failed to read block groups: -5 Extent tree corruption. So if that's the only corruption, you have a very high chance to recover most of your data. Btrfs rescue can work, or you can try the experimental patches which provides rescue=skip_bg mount option to allow you mount the fs RO and receive your data (later is way faster than user space rescue) https://patchwork.kernel.org/project/linux-btrfs/list/?series=130637 Also, for your dump super output, it doesn't provide too much info. You would like to use -Ffa option for more info. Also, you could also try that on all 3 devices, to find out which one has lower generation. Also, please provide the history of the corruption. One generation corruptions is a little rare. Is sudden power loss involved in this case? Thanks, Qu > [Thu Aug 15 08:47:42 2019] BTRFS error (device sdc1): open_ctree failed > > Output from 'btrfs check -p /dev/sdc1': > > # btrfs check -p /dev/sdc1 > Opening filesystem to check... > parent transid verify failed on 229846466560 wanted 49749 found 49750 > Ignoring transid failure > ERROR: child eb corrupted: parent bytenr=229845336064 item=0 parent level=1 child level=2 > ERROR: cannot open file system > > > > On 08/15/2019 10:35 +0800, Qu Wenruo wrote: >>> >>> >>> On 2019/8/15 ??????2:32, Tim Walberg wrote: >>> > Most of the recommendations I've found online deal with when "wanted" is >>> > greater than "found", which, if I understand correctly means that one or >>> > more transactions were interrupted/lost before fully committed. >>> >>> No matter what the case is, a proper transaction shouldn't have any tree >>> block overwritten. >>> >>> That means, either the FLUSH/FUA of the hardware/lower block layer is >>> screwed up, or the COW of tree block is already screwed up. >>> >>> > >>> > Are the recommendations for recovery the same if the system is reporting a >>> > "wanted" that is less than "found"? >>> > >>> The salvage is no difference than any transid mismatch, no matter if >>> it's larger or smaller. >>> >>> It depends on the tree block. >>> >>> Please provide full dmesg output and btrfs check for further advice. >>> >>> Thanks, >>> Qu >>> > > > >
Attachment:
signature.asc
Description: OpenPGP digital signature
