All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: Konstantin Svist <fry.kun@gmail.com>,
	Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: Trying to recover data from SSD
Date: Tue, 10 Aug 2021 13:24:01 +0800	[thread overview]
Message-ID: <46f3b990-ec2d-6508-249e-8954bf356e89@gmx.com> (raw)
In-Reply-To: <67691486-9dd9-6837-d485-30279d3d3413@gmail.com>



On 2021/8/10 下午12:41, Konstantin Svist wrote:
> Not sure exactly when it stopped working, possibly had a power outage..
> I was able to pull most of a snapshot with btrfs restore -s -- but it's
> months old and I want the more recent files from.
>
>
> Testing the SSD for bad sectors, but nothing so far
>
>
> While trying to mount:
> [442587.465598] BTRFS info (device sdb3): allowing degraded mounts
> [442587.465602] BTRFS info (device sdb3): disk space caching is enabled
> [442587.465603] BTRFS info (device sdb3): has skinny extents
> [442587.522301] BTRFS error (device sdb3): bad tree block start, want
> 952483840 have 0
> [442587.522867] BTRFS error (device sdb3): bad tree block start, want
> 952483840 have 0

Some metadata is completely lost.

Mind to share the hardware model? Maybe it's some known bad hardware.

Just a small note, all filesystems (including btrfs) should survive a
power loss, as long as the disk is following the FLUSH/FUA requirement
properly.

> [442587.522876] BTRFS error (device sdb3): failed to read block groups: -5
> [442587.523520] BTRFS error (device sdb3): open_ctree failed
> [442782.661849] BTRFS error (device sdb3): unrecognized mount option
> 'rootflags=recovery'
> [442782.661926] BTRFS error (device sdb3): open_ctree failed

Since the fs is already corrupted, you can try to corrupt extent tree
root completely, then "rescue=all" mount option should allow you to
mount the fs RO, and grab as much data as you can.

But I doubt if it's any better than btrfs-restore.

Thanks,
Qu
>
> # btrfs-find-root /dev/sdb3
> ERROR: failed to read block groups: Input/output error
> Superblock thinks the generation is 166932
> Superblock thinks the level is 1
> Found tree root at 787070976 gen 166932 level 1
> Well block 786399232(gen: 166931 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 781172736(gen: 166930 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 778108928(gen: 166929 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 100696064(gen: 166928 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 99565568(gen: 166927 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 97599488(gen: 166926 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 91701248(gen: 166925 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 89620480(gen: 166924 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 86818816(gen: 166923 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 84197376(gen: 166922 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 76398592(gen: 166921 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 72400896(gen: 166920 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 63275008(gen: 166919 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 60080128(gen: 166918 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 58032128(gen: 166917 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 55689216(gen: 166916 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 52264960(gen: 166915 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 49758208(gen: 166914 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 48300032(gen: 166913 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 45350912(gen: 166912 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 40337408(gen: 166911 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 71172096(gen: 166846 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 61210624(gen: 166843 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 55492608(gen: 166840 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 36044800(gen: 166829 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 34095104(gen: 166828 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 33046528(gen: 166827 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 31014912(gen: 166826 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 30556160(gen: 166825 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 777011200(gen: 166822 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 766672896(gen: 166821 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 690274304(gen: 166820 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 175046656(gen: 166819 level: 1) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 766017536(gen: 166813 level: 0) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 765739008(gen: 166813 level: 0) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> Well block 32604160(gen: 152478 level: 0) seems good, but
> generation/level doesn't match, want gen: 166932 level: 1
> # btrfs check /dev/sdb3
> Opening filesystem to check...
> checksum verify failed on 952483840 wanted 0x00000000 found 0xb6bde3e4
> checksum verify failed on 952483840 wanted 0x00000000 found 0xb6bde3e4
> checksum verify failed on 952483840 wanted 0x00000000 found 0xb6bde3e4
> bad tree block 952483840, bytenr mismatch, want=952483840, have=0
> ERROR: failed to read block groups: Input/output error
> ERROR: cannot open file system
>
>
> # uname -a
> Linux fry 5.13.6-200.fc34.x86_64 #1 SMP Wed Jul 28 15:31:21 UTC 2021
> x86_64 x86_64 x86_64 GNU/Linux
> # btrfs --version
> btrfs-progs v5.13.1
> # btrfs fi show /dev/sdb3
> Label: none  uuid: 44a768e0-28ba-4c6a-8eef-18ffa8c27d1b
>      Total devices 1 FS bytes used 171.92GiB
>      devid    1 size 472.10GiB used 214.02GiB path /dev/sdb3
>
>

  reply	other threads:[~2021-08-10  5:24 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-10  4:41 Trying to recover data from SSD Konstantin Svist
2021-08-10  5:24 ` Qu Wenruo [this message]
     [not found]   ` <CADQtc0=GDa-v_byewDmUHqr-TrX_S734ezwhLYL9OSkX-jcNOw@mail.gmail.com>
2021-08-10  6:56     ` Qu Wenruo
2021-08-10 16:12       ` Konstantin Svist
2021-08-10 22:24         ` Qu Wenruo
2021-08-10 23:21           ` Konstantin Svist
2021-08-10 23:54             ` Qu Wenruo
2021-08-11  5:22               ` Konstantin Svist
2021-08-11  5:24                 ` Qu Wenruo
2021-08-11  5:34                   ` Konstantin Svist
2021-08-11  5:49                     ` Qu Wenruo
2021-08-11 19:33                       ` Konstantin Svist
2021-08-11 21:51                         ` Qu Wenruo
2021-08-11 22:34                           ` Konstantin Svist
2021-08-12  1:18                             ` Qu Wenruo
2021-08-21  2:56                               ` Konstantin Svist
2021-08-28  5:57                                 ` Konstantin Svist
2021-08-28  6:16                                   ` Qu Wenruo
2021-08-28 23:16                                     ` Konstantin Svist
2021-08-28 23:30                                       ` Qu Wenruo
2021-08-29  6:34                                         ` Konstantin Svist
2021-08-29  7:19                                           ` Qu Wenruo
2021-08-29 20:02                                             ` Konstantin Svist
2021-08-30  0:22                                               ` Qu Wenruo
2021-08-30  3:48                                                 ` Konstantin Svist
2021-08-30  7:20                                                   ` Qu Wenruo
     [not found]                                                     ` <aa33b83f-b822-b1d8-9fe4-5cf4ab45c3e1@gmail.com>
2021-08-31 11:05                                                       ` Qu Wenruo
2021-09-01  1:38                                                         ` Konstantin Svist
2021-09-01  1:47                                                           ` Qu Wenruo
2021-08-11  0:30       ` Zygo Blaxell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46f3b990-ec2d-6508-249e-8954bf356e89@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=fry.kun@gmail.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.