Fsck, parent transid verify failed
Hi folks!
Been using btrfs for quite a while now, worked great until now. Got power-loss on my machine and now i have the "parent transid verify failed on X wanted X found X" problem.
So I can't get it to mount.
My btrfs is spread over sda (2tb), sdc(2tb), sdd(1tb).
Is this something that an offline fsck could fix ?
If so is the fsck-util being developed ?
Is there a way to mount the FS in a read-only mode or something to rescue the data ?
Thanks, Tommy.
Excerpts from Tommy Jonsson's message of 2010-12-01 06:00:56 -0500:
Quoted 7 lines
Hi folks!
Been using btrfs for quite a while now, worked great until now. Got power-loss on my machine and now i have the "parent transid verify failed on X wanted X found X" problem.
So I can't get it to mount.
Quoted 6 lines
My btrfs is spread over sda (2tb), sdc(2tb), sdd(1tb).
Is this something that an offline fsck could fix ?
If so is the fsck-util being developed ?
Is there a way to mount the FS in a read-only mode or something to rescue the data ?
Which kernel are you on? Unless you formatted with -m raid0, the current git tree should be able to read this FS by using the second copy of the metadata.
-chris
I'm on kernel 2.6.35
I can't remember if i used -m raid0.
I think i just used "mkfs.btrfs /dev/sda" then "btrfs device add /dev/sdb" and same for sdc.
I am sure that i didn't explicitly use -m raid1 or raid10. Is there a way that i can check this ?
If i do have raid0 for both metadata and data is there anything i can d=
o ?
I've been looking at the source but haven't got my head around it yet.
What whould happen if i just ignore/bypass the transid error?
The error:
[265889.197279] device fsid 734a485d12c77872- 9b0b5aa408670db4 devid 3 transid 39651 /dev/sda [265889.198266] btrfs: use compression [265889.647817] parent transid verify failed on 2721514774528 wanted 39651 found 39649 [265889.672632] btrfs: open_ctree failed
Or could i update the metadata to want 39649 ?
Thanks again!
On Thu, Dec 2, 2010 at 5:21 PM, Chris Mason <[email protected]> wr= ote:
Quoted 6 lines
Excerpts from Tommy Jonsson's message of 2010-12-01 06:00:56 -0500:
Quoted 4 lines
Hi folks!
Been using btrfs for quite a while now, worked great until now. Got power-loss on my machine and now i have the "parent transid ver=
ify
Quoted 8 lines
Quoted 8 lines
failed on X wanted X found X" problem.
So I can't get it to mount.My btrfs is spread over sda (2tb), sdc(2tb), sdd(1tb).
Is this something that an offline fsck could fix ?
If so is the fsck-util being developed ?
Is there a way to mount the FS in a read-only mode or something to =
rescue
Quoted 4 lines
Quoted 1 line
the data ?
Which kernel are you on? =A0Unless you formatted with -m raid0, the current git tree should be able to read this FS by using the second c=
opy
Quoted 3 lines
of the metadata.
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): [email protected]
Excerpts from Tommy Jonsson's message of 2010-12-02 16:45:39 -0500:
Quoted 5 lines
I can't remember if i used -m raid0.
I think i just used "mkfs.btrfs/dev/sda" then "btrfs device add/dev/sdb" and same for sdc.
I am sure that i didn't explicitly use -m raid1 or raid10.
Is there a way that i can check this ?
The defaults will maintain raid1 as you add more drives. We can check it with btrfs-debug-tree from the git repository. But, more below.
Quoted 7 lines
If i do have raid0 for both metadata and data is there anything i can do ? I've been looking at the source but haven't got my head around it yet.
What whould happen if i just ignore/bypass the transid error?
The error:
Quoted 8 lines
[265889.197279] device fsid 734a485d12c77872-9b0b5aa408670db4 devid 3 transid 39651 /dev/sda [265889.198266] btrfs: use compression [265889.647817] parent transid verify failed on 2721514774528 wanted 39651 found 39649 [265889.672632] btrfs: open_ctree failedOr could i update the metadata to want 39649 ?
The first thing I would try is:
git pull git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs-unstable.git
Build the latest tools, then:
btrfsck -s 1 /dev/xxx
btrfsck -s 2 /dev/xxx
If either of these work we have an easy way to get it mounted. Just let me know.
-chris
$ btrfsck -s 1 /dev/sda using SB copy 1, bytenr 67108864 parent transid verify failed on 2721514774528 wanted 39651 found 39649 btrfsck: disk-io.c:739: open_ctree_fd: Assertion `!(!tree_root->node)' = failed. Aborted
$ btrfsck -s 2 /dev/sda using SB copy 2, bytenr 274877906944 parent transid verify failed on 2721514774528 wanted 39651 found 39649 btrfsck: disk-io.c:739: open_ctree_fd: Assertion `!(!tree_root->node)' = failed. Aborted
-tommy
On Thu, Dec 2, 2010 at 10:50 PM, Chris Mason <[email protected]> w= rote:
Quoted 3 lines
Excerpts from Tommy Jonsson's message of 2010-12-02 16:45:39 -0500:
Quoted 2 lines
I can't remember if i used -m raid0.
I think i just used "mkfs.btrfs/dev/sda" then "btrfs device add /de=
v/sdb"
Quoted 5 lines
Quoted 3 lines
and same for sdc.
I am sure that i didn't explicitly use -m raid1 or raid10. Is there a way that i can check this ?The defaults will maintain raid1 as you add more drives. =A0We can ch=
eck
Quoted 4 lines
it with btrfs-debug-tree from the git repository. =A0But, more below.
Quoted 2 lines
If i do have raid0 for both metadata and data is there anything i ca=
n do ?
Quoted 1 line
Quoted 1 line
I've been looking at the source but haven't got my head around it ye=
t.
Quoted 5 lines
Quoted 5 lines
What whould happen if i just ignore/bypass the transid error?
The error:
[265889.197279] device fsid 734a485d12c77872-9b0b5aa408670db4 devid =
3
Quoted 3 lines
Quoted 3 lines
transid 39651
/dev/sda[265889.198266] btrfs: use compression [265889.647817] parent transid verify failed on 2721514774528 wanted=
39651
Quoted 8 lines
Quoted 4 lines
found 39649
[265889.672632] btrfs: open_ctree failedOr could i update the metadata to want 39649 ?
The first thing I would try is:
git pull
git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-pr=
ogs-unstable.git
Quoted 7 lines
Build the latest tools, then:
btrfsck -s 1
/dev/xxx
btrfsck -s 2/dev/xxxIf either of these work we have an easy way to get it mounted. =A0Jus=
t let
Quoted 4 lines
me know.
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Tried "btrfs-debug-tree /dev/sda" and "btrfs-debug-tree -e /dev/sda" :
parent transid verify failed on 2721514774528 wanted 39651 found 39649
btrfs-debug-tree: disk-io.c:739: open_ctree_fd: Assertion `!(!tree_root->node)' failed.
dmesg said:
[268375.903581] device fsid 734a485d12c77872-9b0b5aa408670db4 devid 2 transid 39650 /dev/sdd [268375.904241] device fsid 734a485d12c77872-9b0b5aa408670db4 devid 1 transid 39651 /dev/sdc [268375.904526] device fsid 734a485d12c77872-9b0b5aa408670db4 devid 3
transid 39651 /dev/sda
-tommy
On Thu, Dec 2, 2010 at 10:59 PM, Tommy Jonsson <[email protected]> wrot= e:
Quoted 3 lines
$ btrfsck -s 1 /dev/sda using SB copy 1, bytenr 67108864 parent transid verify failed on 2721514774528 wanted 39651 found 3964=
9
Quoted 1 line
btrfsck: disk-io.c:739:
open_ctree_fd: Assertion `!(!tree_root->node)=
' failed.
Quoted 5 lines
Aborted
$ btrfsck -s 2 /dev/sda using SB copy 2, bytenr 274877906944 parent transid verify failed on 2721514774528 wanted 39651 found 3964=
9
Quoted 1 line
btrfsck: disk-io.c:739:
open_ctree_fd: Assertion `!(!tree_root->node)=
' failed.
Quoted 6 lines
Aborted
-tommy
On Thu, Dec 2, 2010 at 10:50 PM, Chris Mason <[email protected]>=
Quoted 3 lines · wrote:
Quoted 3 lines
Excerpts from Tommy Jonsson's message of 2010-12-02 16:45:39 -0500:
Quoted 2 lines
I can't remember if i used -m raid0.
I think i just used "mkfs.btrfs/dev/sda" then "btrfs device add /d=
ev/sdb"
Quoted 5 lines
Quoted 5 lines
Quoted 3 lines
and same for sdc.
I am sure that i didn't explicitly use -m raid1 or raid10. Is there a way that i can check this ?The defaults will maintain raid1 as you add more drives. =A0We can c=
heck
Quoted 1 line
Quoted 1 line
it with btrfs-debug-tree from the git repository. =A0But, more below=
=2E
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
If i do have raid0 for both metadata and data is there anything i c=
an do ?
Quoted 1 line
Quoted 1 line
Quoted 1 line
I've been looking at the source but haven't got my head around it y=
et.
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
What whould happen if i just ignore/bypass the transid error?
The error:
[265889.197279] device fsid 734a485d12c77872-9b0b5aa408670db4 devid=
3
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
transid 39651
/dev/sda[265889.198266] btrfs: use compression [265889.647817] parent transid verify failed on 2721514774528 wante=
d 39651
Quoted 8 lines
Quoted 8 lines
Quoted 4 lines
found 39649
[265889.672632] btrfs: open_ctree failedOr could i update the metadata to want 39649 ?
The first thing I would try is:
git pull
git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-p=
rogs-unstable.git
Quoted 7 lines
Quoted 7 lines
Build the latest tools, then:
btrfsck -s 1
/dev/xxx
btrfsck -s 2/dev/xxxIf either of these work we have an easy way to get it mounted. =A0Ju=
st let
Quoted 5 lines
Quoted 4 lines
me know.
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 28 lines
Quoted 10 lines
Build the latest tools, then:
btrfsck -s 1
/dev/xxx
btrfsck -s 2/dev/xxxIf either of these work we have an easy way to get it mounted. Just let me know.
-chris
$ btrfsck -s 1 /dev/sda using SB copy 1, bytenr 67108864 parent transid verify failed on 2721514774528 wanted 39651 found 39649 btrfsck: disk-io.c:739: open_ctree_fd: Assertion `!(!tree_root->node)' failed. Aborted$ btrfsck -s 2 /dev/sda using SB copy 2, bytenr 274877906944 parent transid verify failed on 2721514774528 wanted 39651 found 39649 btrfsck: disk-io.c:739: open_ctree_fd: Assertion `!(!tree_root->node)' failed. AbortedTried "btrfs-debug-tree
/dev/sda" and "btrfs-debug-tree -e/dev/sda" :
parent transid verify failed on 2721514774528 wanted 39651 found 39649
btrfs-debug-tree: disk-io.c:739:open_ctree_fd: Assertion `!(!tree_root->node)' failed.
Quoted 4 lines
dmesg said:
[268375.903581] device fsid 734a485d12c77872-9b0b5aa408670db4 devid 2 transid 39650 /dev/sdd [268375.904241] device fsid 734a485d12c77872-9b0b5aa408670db4 devid 1 transid 39651 /dev/sdc [268375.904526] device fsid 734a485d12c77872-9b0b5aa408670db4 devid 3 transid 39651 /dev/sda
Sorry to be a bother, but do you have any other suggestions ?
Thanks!
-tommy
Excerpts from Tommy Jonsson's message of 2010-12-08 15:07:58 -0500:
Quoted 28 lines
Quoted 28 lines
Quoted 10 lines
Build the latest tools, then:
btrfsck -s 1
/dev/xxx
btrfsck -s 2/dev/xxxIf either of these work we have an easy way to get it mounted. Just let me know.
-chris
$ btrfsck -s 1 /dev/sda using SB copy 1, bytenr 67108864 parent transid verify failed on 2721514774528 wanted 39651 found 39649 btrfsck: disk-io.c:739: open_ctree_fd: Assertion `!(!tree_root->node)' failed. Aborted$ btrfsck -s 2 /dev/sda using SB copy 2, bytenr 274877906944 parent transid verify failed on 2721514774528 wanted 39651 found 39649 btrfsck: disk-io.c:739: open_ctree_fd: Assertion `!(!tree_root->node)' failed. AbortedTried "btrfs-debug-tree
/dev/sda" and "btrfs-debug-tree -e/dev/sda" :
parent transid verify failed on 2721514774528 wanted 39651 found 39649
btrfs-debug-tree: disk-io.c:739:open_ctree_fd: Assertion `!(!tree_root->node)' failed.
Quoted 6 lines
Quoted 4 lines
dmesg said:
[268375.903581] device fsid 734a485d12c77872-9b0b5aa408670db4 devid 2 transid 39650 /dev/sdd [268375.904241] device fsid 734a485d12c77872-9b0b5aa408670db4 devid 1 transid 39651 /dev/sdc [268375.904526] device fsid 734a485d12c77872-9b0b5aa408670db4 devid 3 transid 39651 /dev/sdaSorry to be a bother, but do you have any other suggestions ?
Not a bother at all, I'm polishing off a version of fsck that I hope will be able to construct a good tree for you. It's my main priority right now and I hope to have something ready early Monday.
-chris
Quoted 7 lines
Excerpts from Tommy Jonsson's message of 2010-12-08 15:07:58 -0500:
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Build the latest tools, then:
btrfsck -s 1
/dev/xxx
btrfsck -s 2/dev/xxxIf either of these work we have an easy way to get it mounted. =A0=
Just let
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 4 lines
me know.
-chris
$ btrfsck -s 1 /dev/sda using SB copy 1, bytenr 67108864 parent transid verify failed on 2721514774528 wanted 39651 found 3=
9649
Quoted 1 line
Quoted 1 line
Quoted 1 line
btrfsck: disk-io.c:739:
open_ctree_fd: Assertion `!(!tree_root->no=
de)' failed.
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Aborted
$ btrfsck -s 2 /dev/sda using SB copy 2, bytenr 274877906944 parent transid verify failed on 2721514774528 wanted 39651 found 3=
9649
Quoted 1 line
Quoted 1 line
Quoted 1 line
btrfsck: disk-io.c:739:
open_ctree_fd: Assertion `!(!tree_root->no=
de)' failed.
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Aborted
Tried "btrfs-debug-tree
/dev/sda" and "btrfs-debug-tree -e /dev/sd=
a" :
Quoted 1 line
Quoted 1 line
Quoted 1 line
parent transid verify failed on 2721514774528 wanted 39651 found 3=
9649
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
btrfs-debug-tree: disk-io.c:739:
open_ctree_fd: Assertion `!(!tree_root->node)' failed.dmesg said:
[268375.903581] device fsid 734a485d12c77872-9b0b5aa408670db4 devi=
d 2 transid 39650 /dev/sdd
Quoted 1 line
Quoted 1 line
Quoted 1 line
[268375.904241] device fsid 734a485d12c77872-9b0b5aa408670db4 devi=
d 1 transid 39651 /dev/sdc
Quoted 1 line
Quoted 1 line
Quoted 1 line
[268375.904526] device fsid 734a485d12c77872-9b0b5aa408670db4 devi=
d 3 transid 39651 /dev/sda
Quoted 5 lines
Quoted 2 lines
Sorry to be a bother, but do you have any other suggestions ?
Not a bother at all, I'm polishing off a version of fsck that I hope will be able to construct a good tree for you. =A0It's my main priori=
ty
Quoted 4 lines
right now and I hope to have something ready early Monday.
-chris
Hi Chris.
Thanks for all your help. Any progress on the fsck ?
I pulled the latest btrfs-progs-unstable and recompiled, same output from all the commands (btrfsck -s / btrfs-debug-tree).
-tommy
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Dec 9, 2010 at 6:14 PM, Chris Mason <[email protected]> wr= ote:
Quoted 7 lines
Excerpts from Tommy Jonsson's message of 2010-12-08 15:07:58 -0500:
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Build the latest tools, then:
btrfsck -s 1
/dev/xxx
btrfsck -s 2/dev/xxxIf either of these work we have an easy way to get it mounted. =A0=
Just let
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 4 lines
me know.
-chris
$ btrfsck -s 1 /dev/sda using SB copy 1, bytenr 67108864 parent transid verify failed on 2721514774528 wanted 39651 found 3=
9649
Quoted 1 line
Quoted 1 line
Quoted 1 line
btrfsck: disk-io.c:739:
open_ctree_fd: Assertion `!(!tree_root->no=
de)' failed.
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Aborted
$ btrfsck -s 2 /dev/sda using SB copy 2, bytenr 274877906944 parent transid verify failed on 2721514774528 wanted 39651 found 3=
9649
Quoted 1 line
Quoted 1 line
Quoted 1 line
btrfsck: disk-io.c:739:
open_ctree_fd: Assertion `!(!tree_root->no=
de)' failed.
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Aborted
Tried "btrfs-debug-tree
/dev/sda" and "btrfs-debug-tree -e /dev/sd=
a" :
Quoted 1 line
Quoted 1 line
Quoted 1 line
parent transid verify failed on 2721514774528 wanted 39651 found 3=
9649
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
btrfs-debug-tree: disk-io.c:739:
open_ctree_fd: Assertion `!(!tree_root->node)' failed.dmesg said:
[268375.903581] device fsid 734a485d12c77872-9b0b5aa408670db4 devi=
d 2 transid 39650 /dev/sdd
Quoted 1 line
Quoted 1 line
Quoted 1 line
[268375.904241] device fsid 734a485d12c77872-9b0b5aa408670db4 devi=
d 1 transid 39651 /dev/sdc
Quoted 1 line
Quoted 1 line
Quoted 1 line
[268375.904526] device fsid 734a485d12c77872-9b0b5aa408670db4 devi=
d 3 transid 39651 /dev/sda
Quoted 5 lines
Quoted 2 lines
Sorry to be a bother, but do you have any other suggestions ?
Not a bother at all, I'm polishing off a version of fsck that I hope will be able to construct a good tree for you. =A0It's my main priori=
ty
Quoted 4 lines
right now and I hope to have something ready early Monday.
-chris
Hi again Chris.
Hope you survived Christmas and new year :]
Just wanted to check in and see how you are progressing on the btrfsck? Drop me a mail if you want me to test/debug anything.
-tommy
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 9 lines · Chris Mason <chris.mason <at> oracle.com> writes:
[...]
Build the latest tools, then:btrfsck -s 1
/dev/xxx
btrfsck -s 2/dev/xxxIf either of these work we have an easy way to get it mounted. Just let me know.
Hello,
I get those "parent transid verify failed" errors too after a system failure.
# btrfsck -s 1 /dev/md0 using SB copy 1, bytenr 67108864 found 1954912653312 bytes used err is 0 total csum bytes: 1892054684 total tree bytes: 3455627264 total fs tree bytes: 1082691584 btree space waste bytes: 584155173 file data blocks allocated: 12808940421120 referenced 1933520879616 Btrfs v0.19-35-g1b444cd-dirty # btrfsck -s 2 /dev/md0 using SB copy 2, bytenr 274877906944 found 1954912653312 bytes used err is 0 -snip-
Both seem to work.
What would be the steps to get it mounted?
Thanks in advance.
~thomas
Excerpts from Tom Kuther's message of 2010-12-09 11:21:03 -0500:
Quoted 31 lines
Quoted 9 lines · Chris Mason <chris.mason <at> oracle.com> writes:
[...]
Build the latest tools, then:btrfsck -s 1
/dev/xxx
btrfsck -s 2/dev/xxxIf either of these work we have an easy way to get it mounted. Just let me know.
Hello,
I get those "parent transid verify failed" errors too after a system failure.
# btrfsck -s 1 /dev/md0 using SB copy 1, bytenr 67108864 found 1954912653312 bytes used err is 0 total csum bytes: 1892054684 total tree bytes: 3455627264 total fs tree bytes: 1082691584 btree space waste bytes: 584155173 file data blocks allocated: 12808940421120 referenced 1933520879616 Btrfs v0.19-35-g1b444cd-dirty # btrfsck -s 2 /dev/md0 using SB copy 2, bytenr 274877906944 found 1954912653312 bytes used err is 0 -snip-
Quoted 2 lines
Both seem to work.
What would be the steps to get it mounted?
If btrfsck -s is able to find a good super, I've setup a tool that will copy the good super over into the default super. It is currently sitting in the next branch of the btrfs-progs-unstable repo.
git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs-unstable.git next
(or git pull into your existing checkout)
Then
make btrfs-select-super
./btrfs-selects-super -s 1 /dev/xxx
After this you'll want to do a full backup and make sure things are working properly.
-chris
Quoted 14 lines · On Fr, 10.12.10 15:11 Chris Mason <[email protected]> wrote:
Quoted 1 line
What would be the steps to get it mounted?
If btrfsck -s is able to find a good super, I've setup a tool that will copy the good super over into the default super. It is currently sitting in the next branch of the btrfs-progs-unstable repo.
git clone
git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs-unstable.git
next(or git pull into your existing checkout)
Then
Quoted 7 lines
make btrfs-select-super
./btrfs-selects-super -s 1/dev/xxxAfter this you'll want to do a full backup and make sure things are working properly.
-chris
This worked fine. I was able to mount and completely read it. The volume seems healthy and is fully usable so far.
Thanks a lot!
~thomas