All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo@cn.fujitsu.com>
To: Martin Tippmann <martin.tippmann@gmail.com>,
	<linux-btrfs@vger.kernel.org>
Subject: Re: fs unreadable after powercycle: BTRFS (device sda): parent transid verify failed on 427084513280 wanted 390924 found 390922
Date: Mon, 17 Aug 2015 10:27:32 +0800	[thread overview]
Message-ID: <55D14694.1050507@cn.fujitsu.com> (raw)
In-Reply-To: <CABL_Pd-Z6-raB3ngEDbj=-d+QVMohGQ9DHXqv0fVvVNy-HVxUA@mail.gmail.com>



Martin Tippmann wrote on 2015/08/08 20:43 +0200:
> Hi, after a hard reboot (powercycle) a btrfs volume did not come up again:
>
> It's a single 4TB disk - only btrfs with lzo - data=single,metadata=dup
>
> [  121.831814] BTRFS info (device sda): disk space caching is enabled
> [  121.857820] BTRFS (device sda): parent transid verify failed on
> 427084513280 wanted 390924 found 390922
> [  121.861607] BTRFS (device sda): parent transid verify failed on
> 427084513280 wanted 390924 found 390922
> [  121.861715] BTRFS: failed to read tree root on sda
> [  121.878111] BTRFS: open_ctree failed
>
> btrfs-progs v4.0
> Kernel: 4.1.4
>
> I'm quite sure that the HDD is fine (no SMART Problems, Disk Errorlog
> is empty, It's a new Enterprise-Drive that worked well in the past
> days/weeks).
>
> So I'm kind at loss what to do:
>
> How can I recover from that problem? I've found just a note in the
> FAQ[1] but no solution to the problem.
>
> Maybe someone can give some clues why does this happen in the first
> place? Is it unfortunate timing due to the abrupt power cycle?
> Shouldn't CoW protect against this somewhat?
>
> Thanks for any hints!
>
> Additional info:
>
> # btrfs check /dev/sda
> parent transid verify failed on 427084513280 wanted 390924 found 390922
> parent transid verify failed on 427084513280 wanted 390924 found 390922
> parent transid verify failed on 427084513280 wanted 390924 found 390922
> parent transid verify failed on 427084513280 wanted 390924 found 390922
> Ignoring transid failure
> Couldn't setup extent tree
Seems extent tree or tree root is corrupted.

> Couldn't open file system
>
> Not sure what it does but it looks not too good:
>
> # btrfs-find-root /dev/sda
> parent transid verify failed on 427084513280 wanted 390924 found 390922
> parent transid verify failed on 427084513280 wanted 390924 found 390922
> parent transid verify failed on 427084513280 wanted 390924 found 390922
> parent transid verify failed on 427084513280 wanted 390924 found 390922
> Ignoring transid failure
> Couldn't setup extent tree
> Couldn't setup device tree
> Superblock thinks the generation is 390924
> Superblock thinks the level is 1
>    Well block 427084988416(gen: 390923 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 427084021760(gen: 390923 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
These two block seems to be good, but not sure why there will be two of 
them.

Try "btrfsck --tree-root 427084988416" and "btrfsck --tree-root 
427084021760" to see which produce the least number of error.

Thanks,
Qu
> Well block 427084431360(gen: 390915 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 427084398592(gen: 390915 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 427083988992(gen: 390915 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 427038621696(gen: 390914 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 427031035904(gen: 390913 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 427285069824(gen: 390912 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 427060887552(gen: 390912 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 427013128192(gen: 390912 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 427001872384(gen: 390909 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426965237760(gen: 390906 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426965221376(gen: 390906 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426965188608(gen: 390906 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426965172224(gen: 390906 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426965155840(gen: 390906 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426964271104(gen: 390906 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426964156416(gen: 390906 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426950377472(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426944512000(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426940841984(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426940612608(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426940465152(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426940153856(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426939809792(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426939711488(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426939465728(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426939351040(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426939006976(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426938564608(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426938351616(gen: 390905 level: 0) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 426347577344(gen: 390904 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 168491106304(gen: 390903 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 1340608053248(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 1340295020544(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 1264696688640(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 1136507092992(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 1136226516992(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 998473711616(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 998114721792(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 667127316480(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 667048116224(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 667041382400(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 667034255360(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 667028701184(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 667018526720(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 666950320128(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 23074570240(gen: 390902 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 22614048768(gen: 390813 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 22605398016(gen: 390812 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 22599712768(gen: 390811 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 22586949632(gen: 390809 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 1340463906816(gen: 390808 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 1340435660800(gen: 390808 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 1340394799104(gen: 390808 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 1264894115840(gen: 390808 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 1136142614528(gen: 390808 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 666915078144(gen: 390808 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
> Well block 666902560768(gen: 390808 level: 1) seems good, but
> generation/level doesn't match, want gen: 390924 level: 1
>
>
> regards
> Martin
>
>
> 1: https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#parent_transid_verify_failed
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

      parent reply	other threads:[~2015-08-17  2:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-08 18:43 fs unreadable after powercycle: BTRFS (device sda): parent transid verify failed on 427084513280 wanted 390924 found 390922 Martin Tippmann
2015-08-08 19:05 ` Hugo Mills
2015-08-08 19:32   ` Martin Tippmann
2015-08-09  2:56 ` Duncan
2015-08-17  2:27 ` Qu Wenruo [this message]

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=55D14694.1050507@cn.fujitsu.com \
    --to=quwenruo@cn.fujitsu.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=martin.tippmann@gmail.com \
    /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.