Hi, I have problems with a btrfs filesystem, and am holding on to it for some more days before reformat. What I am interested about is two things: 1. Is there any way to restore more stuff from the filesystem then already fetched (it would help to get the system up faster, but nothing really of worth on that computer that is not already backed up)? 2. Is there anything here that resembles a bug that should be fixed somewhere and do you need more information to fix this bug? Please CC me as I am not subscribed. So here comes the gory details: I have a latop on which I have stock Fedora 16 installed with a ext4 boot, and then a luks-encrypted swap partiton and a luks-encrypted root partition holding a btrfs volume. Yesterday I hibernated my laptop, and when I resumed it it seemed to resume normally, it let me unlock the screensaver, but did not allow any file-system-access and suddenly oopsed within seconds. Afterwards the system failed to mount the root partition. So I hooked the harddrive up to my desktop running Gentoo with a 3.2.0-kernel and latest btrfs-progs from git. Trying to mount the filesystem does not work: [11353.370007] device fsid 4c86ad4c-0d71-48a3-8cd2-058cccda2a07 devid 1 transid 83234 /dev/mapper/udisks-luks-uuid-d7efe74d-ed8f-425a-942c-c6bbc44483a3-uid1000 [11353.391953] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391958] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391961] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391964] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391966] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391968] Failed to read block groups: -5 [11353.404931] btrfs: open_ctree failed Trying with "-o recovery" [11353.370007] device fsid 4c86ad4c-0d71-48a3-8cd2-058cccda2a07 devid 1 transid 83234 /dev/mapper/udisks-luks-uuid-d7efe74d-ed8f-425a-942c-c6bbc44483a3-uid1000 [11353.391953] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391958] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391961] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391964] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391966] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391968] Failed to read block groups: -5 [11353.404931] btrfs: open_ctree failed So mounting it seems not to be an option. So I tried "restore". First run it restored one file, then it stopped. Upon retrying it restored a lot more files (mostly the /var/lib/yum directory, and a couple of empty directories), but now it never restores more then up to one certain file, and it always fails after that with the following: # ./restore /dev/dm-1 /home/xake/Skrivbord/ferra-rescue parent transid verify failed on 869829160960 wanted 82376 found 83320 parent transid verify failed on 869829160960 wanted 82376 found 83320 parent transid verify failed on 869829160960 wanted 82376 found 83320 parent transid verify failed on 869829160960 wanted 82376 found 83320 Ignoring transid failure parent transid verify failed on 869828055040 wanted 82376 found 83315 parent transid verify failed on 869828055040 wanted 82376 found 83315 parent transid verify failed on 869828055040 wanted 82376 found 83315 parent transid verify failed on 869828055040 wanted 82376 found 83315 Ignoring transid failure parent transid verify failed on 823939305472 wanted 83180 found 83847 parent transid verify failed on 823939305472 wanted 83180 found 83847 parent transid verify failed on 823939305472 wanted 83180 found 83847 parent transid verify failed on 823939305472 wanted 83180 found 83847 Ignoring transid failure Root objectid is 5 Skipping existing file /home/xake/Skrivbord/ferra-rescue/var/lib/rpm/.rpm.lock If you wish to overwrite use the -o option to overwrite parent transid verify failed on 823805370368 wanted 83121 found 83393 parent transid verify failed on 823805370368 wanted 83121 found 83393 parent transid verify failed on 823805370368 wanted 83121 found 83393 parent transid verify failed on 823805370368 wanted 83121 found 83393 Ignoring transid failure parent transid verify failed on 823789125632 wanted 83120 found 83356 parent transid verify failed on 823789125632 wanted 83120 found 83356 parent transid verify failed on 823789125632 wanted 83120 found 83356 parent transid verify failed on 823789125632 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823789125632 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823784792064 wanted 81189 found 83707 parent transid verify failed on 823784792064 wanted 81189 found 83707 parent transid verify failed on 823784792064 wanted 81189 found 83707 parent transid verify failed on 823784792064 wanted 81189 found 83707 Ignoring transid failure parent transid verify failed on 823926468608 wanted 83142 found 83754 parent transid verify failed on 823926468608 wanted 83142 found 83754 parent transid verify failed on 823926468608 wanted 83142 found 83754 parent transid verify failed on 823926468608 wanted 83142 found 83754 Ignoring transid failure parent transid verify failed on 823789125632 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823790784512 wanted 83120 found 83356 parent transid verify failed on 823790784512 wanted 83120 found 83356 parent transid verify failed on 823790784512 wanted 83120 found 83356 parent transid verify failed on 823790784512 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823790784512 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823790784512 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823928971264 wanted 83126 found 83779 parent transid verify failed on 823928971264 wanted 83126 found 83779 parent transid verify failed on 823928971264 wanted 83126 found 83779 parent transid verify failed on 823928971264 wanted 83126 found 83779 Ignoring transid failure parent transid verify failed on 823518138368 wanted 83091 found 83318 parent transid verify failed on 823518138368 wanted 83091 found 83318 parent transid verify failed on 823518138368 wanted 83091 found 83318 parent transid verify failed on 823518138368 wanted 83091 found 83318 Ignoring transid failure parent transid verify failed on 823789125632 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823790784512 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823518138368 wanted 83091 found 83318 Ignoring transid failure restore: ctree.c:777: read_node_slot: Assertion `!(level == 0)'' failed. Avbruten (SIGABRT) (minnesutskrift skapad) So I fired up gdb and took a look: #0 0x00007f1898406775 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 resultvar = 0 pid = 4127 selftid = <optimized out> #1 0x00007f1898407a75 in *__GI_abort () at abort.c:93 save_stage = 2 act = {__sigaction_handler = {sa_handler = 0x7f1898dbd11a, sa_sigaction = 0x7f1898dbd11a}, sa_mask = {__val = {139743611455290, 140736052465056, 139743648404496, 140736052465296, 139743610498902, 206158430232, 140736052465312, 140736052465088, 139743610409080, 206158430256, 140736052465344, 139743648481760, 139743613791840, 1, 0, 140736052474502}}, sa_flags = -1739462902, sa_restorer = 0x7f1898dbd08c} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00007f18983ff57e in __assert_fail_base (fmt=<optimized out>, assertion=0x7f1898dbd11a "!(level == 0)", file=0x7f1898dbd08c "ctree.c", line=<optimized out>, function=<optimized out>) at assert.c:96 str = 0x7f189a8701e0 "" total = 4096 #3 0x00007f18983ff640 in *__GI___assert_fail (assertion=0x7f1898dbd11a "!(level == 0)", file=0x7f1898dbd08c "ctree.c", line=777, function=0x7f1898dbd791 "read_node_slot") at assert.c:105 No locals. #4 0x00007f1898da42eb in read_node_slot (root=<optimized out>, parent=<optimized out>, slot=<optimized out>) at ctree.c:777 level = <optimized out> __PRETTY_FUNCTION__ = "read_node_slot" #5 0x00007f1898da1346 in next_leaf (root=0x7f189a85d410, path=0x7f189a87d8c0) at restore.c:122 slot = 28 level = 1 c = <optimized out> next = 0x7f189a9a4790 #6 0x00007f1898da15bb in search_dir (root=0x7f189a85d410, key=0x7fffaa6a1390, dir=0x7f189a89e760 "/home/xake/Skrivbord/ferra-rescue/var/lib/yum/yumdb/l/48ab9cbdbbcb080a450811f1aecf0abcbb54cfab-libcdio-devel-0.82-5.fc16-x86_64") at restore.c:503 path = <optimized out> leaf = 0x7f189ab41770 dir_item = <optimized out> location = {objectid = 282000, type = 1 ''\001'', offset = 0} filename = "changed_by\000y\000estamp\000\000\000\000\000\000Z \004w\v\351F\031\020ԅ\232\030\177\000\000\000Z\004w\v\351F\031\020ԅ\232 \030\177\000\000\217\022j\252\377\177\000\000\200\277\206\232\030\177 \000\000\060R\263\232\030\177\000\000\271\\\263\232\030\177\000\000\001 \000\000\000\000\000\000\000\020ԅ\232\030\177\000\000*\006L\230\030\177 \000\000\060\000\000\000\060\000\000\000Ȯu\230\030\177\000\000\270\256u \230\030\177\000\000\000\071}\232\030\177\000\000\000\340\000\000\000 \000\000\000\200\000\000\000\000\000\000\000\220\000\000\000\000\000\000 \000\001\000\000\000\t\000\000\000\260\000\000\000\000\000\000\000@\277 \206\232\t\000\000\000\062\000\000\000\000\000\000\000\200P\374\230\030 \177\000\000`\256u\230\030\177\000\000\200\000\000\000\000\000\000\000 \271\\\263\232\030\177\000\000\001\000\000\000\000\000\000\000\020ԅ\232 \030"... name_ptr = <optimized out> name_len = <optimized out> ret = <optimized out> fd = 32536 loops = <optimized out> type = 212 ''\324'' So any knowledge on how to proceed? Also, is there any documentation for "restore" planned, I could not find any information about what the options really do... Regards Peter -- 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
Hi, I have problems with a btrfs filesystem, and am holding on to it for some more days before reformat. What I am interested about is two things: 1. Is there any way to restore more stuff from the filesystem then already fetched (it would help to get the system up faster, but nothing really of worth on that computer that is not already backed up)? 2. Is there anything here that resembles a bug that should be fixed somewhere and do you need more information to fix this bug? Please CC me as I am not subscribed. So here comes the gory details: I have a latop on which I have stock Fedora 16 installed with a ext4 boot, and then a luks-encrypted swap partiton and a luks-encrypted root partition holding a btrfs volume. Yesterday I hibernated my laptop, and when I resumed it it seemed to resume normally, it let me unlock the screensaver, but did not allow any file-system-access and suddenly oopsed within seconds. Afterwards the system failed to mount the root partition. So I hooked the harddrive up to my desktop running Gentoo with a 3.2.0-kernel and latest btrfs-progs from git. Trying to mount the filesystem does not work: [11353.370007] device fsid 4c86ad4c-0d71-48a3-8cd2-058cccda2a07 devid 1 transid 83234 /dev/mapper/udisks-luks-uuid-d7efe74d-ed8f-425a-942c-c6bbc44483a3-uid1000 [11353.391953] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391958] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391961] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391964] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391966] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391968] Failed to read block groups: -5 [11353.404931] btrfs: open_ctree failed Trying with "-o recovery" [11353.370007] device fsid 4c86ad4c-0d71-48a3-8cd2-058cccda2a07 devid 1 transid 83234 /dev/mapper/udisks-luks-uuid-d7efe74d-ed8f-425a-942c-c6bbc44483a3-uid1000 [11353.391953] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391958] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391961] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391964] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391966] parent transid verify failed on 869829160960 wanted 82376 found 83320 [11353.391968] Failed to read block groups: -5 [11353.404931] btrfs: open_ctree failed So mounting it seems not to be an option. So I tried "restore". First run it restored one file, then it stopped. Upon retrying it restored a lot more files (mostly the /var/lib/yum directory, and a couple of empty directories), but now it never restores more then up to one certain file, and it always fails after that with the following: # ./restore /dev/dm-1 /home/xake/Skrivbord/ferra-rescue parent transid verify failed on 869829160960 wanted 82376 found 83320 parent transid verify failed on 869829160960 wanted 82376 found 83320 parent transid verify failed on 869829160960 wanted 82376 found 83320 parent transid verify failed on 869829160960 wanted 82376 found 83320 Ignoring transid failure parent transid verify failed on 869828055040 wanted 82376 found 83315 parent transid verify failed on 869828055040 wanted 82376 found 83315 parent transid verify failed on 869828055040 wanted 82376 found 83315 parent transid verify failed on 869828055040 wanted 82376 found 83315 Ignoring transid failure parent transid verify failed on 823939305472 wanted 83180 found 83847 parent transid verify failed on 823939305472 wanted 83180 found 83847 parent transid verify failed on 823939305472 wanted 83180 found 83847 parent transid verify failed on 823939305472 wanted 83180 found 83847 Ignoring transid failure Root objectid is 5 Skipping existing file /home/xake/Skrivbord/ferra-rescue/var/lib/rpm/.rpm.lock If you wish to overwrite use the -o option to overwrite parent transid verify failed on 823805370368 wanted 83121 found 83393 parent transid verify failed on 823805370368 wanted 83121 found 83393 parent transid verify failed on 823805370368 wanted 83121 found 83393 parent transid verify failed on 823805370368 wanted 83121 found 83393 Ignoring transid failure parent transid verify failed on 823789125632 wanted 83120 found 83356 parent transid verify failed on 823789125632 wanted 83120 found 83356 parent transid verify failed on 823789125632 wanted 83120 found 83356 parent transid verify failed on 823789125632 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823789125632 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823784792064 wanted 81189 found 83707 parent transid verify failed on 823784792064 wanted 81189 found 83707 parent transid verify failed on 823784792064 wanted 81189 found 83707 parent transid verify failed on 823784792064 wanted 81189 found 83707 Ignoring transid failure parent transid verify failed on 823926468608 wanted 83142 found 83754 parent transid verify failed on 823926468608 wanted 83142 found 83754 parent transid verify failed on 823926468608 wanted 83142 found 83754 parent transid verify failed on 823926468608 wanted 83142 found 83754 Ignoring transid failure parent transid verify failed on 823789125632 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823790784512 wanted 83120 found 83356 parent transid verify failed on 823790784512 wanted 83120 found 83356 parent transid verify failed on 823790784512 wanted 83120 found 83356 parent transid verify failed on 823790784512 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823790784512 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823790784512 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823928971264 wanted 83126 found 83779 parent transid verify failed on 823928971264 wanted 83126 found 83779 parent transid verify failed on 823928971264 wanted 83126 found 83779 parent transid verify failed on 823928971264 wanted 83126 found 83779 Ignoring transid failure parent transid verify failed on 823518138368 wanted 83091 found 83318 parent transid verify failed on 823518138368 wanted 83091 found 83318 parent transid verify failed on 823518138368 wanted 83091 found 83318 parent transid verify failed on 823518138368 wanted 83091 found 83318 Ignoring transid failure parent transid verify failed on 823789125632 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823790784512 wanted 83120 found 83356 Ignoring transid failure parent transid verify failed on 823518138368 wanted 83091 found 83318 Ignoring transid failure restore: ctree.c:777: read_node_slot: Assertion `!(level == 0)'' failed. Avbruten (SIGABRT) (minnesutskrift skapad) So I fired up gdb and took a look: #0 0x00007f1898406775 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 resultvar = 0 pid = 4127 selftid = <optimized out> #1 0x00007f1898407a75 in *__GI_abort () at abort.c:93 save_stage = 2 act = {__sigaction_handler = {sa_handler = 0x7f1898dbd11a, sa_sigaction = 0x7f1898dbd11a}, sa_mask = {__val = {139743611455290, 140736052465056, 139743648404496, 140736052465296, 139743610498902, 206158430232, 140736052465312, 140736052465088, 139743610409080, 206158430256, 140736052465344, 139743648481760, 139743613791840, 1, 0, 140736052474502}}, sa_flags = -1739462902, sa_restorer = 0x7f1898dbd08c} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00007f18983ff57e in __assert_fail_base (fmt=<optimized out>, assertion=0x7f1898dbd11a "!(level == 0)", file=0x7f1898dbd08c "ctree.c", line=<optimized out>, function=<optimized out>) at assert.c:96 str = 0x7f189a8701e0 "" total = 4096 #3 0x00007f18983ff640 in *__GI___assert_fail (assertion=0x7f1898dbd11a "!(level == 0)", file=0x7f1898dbd08c "ctree.c", line=777, function=0x7f1898dbd791 "read_node_slot") at assert.c:105 No locals. #4 0x00007f1898da42eb in read_node_slot (root=<optimized out>, parent=<optimized out>, slot=<optimized out>) at ctree.c:777 level = <optimized out> __PRETTY_FUNCTION__ = "read_node_slot" #5 0x00007f1898da1346 in next_leaf (root=0x7f189a85d410, path=0x7f189a87d8c0) at restore.c:122 slot = 28 level = 1 c = <optimized out> next = 0x7f189a9a4790 #6 0x00007f1898da15bb in search_dir (root=0x7f189a85d410, key=0x7fffaa6a1390, dir=0x7f189a89e760 "/home/xake/Skrivbord/ferra-rescue/var/lib/yum/yumdb/l/48ab9cbdbbcb080a450811f1aecf0abcbb54cfab-libcdio-devel-0.82-5.fc16-x86_64") at restore.c:503 path = <optimized out> leaf = 0x7f189ab41770 dir_item = <optimized out> location = {objectid = 282000, type = 1 ''\001'', offset = 0} filename = "changed_by\000y\000estamp\000\000\000\000\000\000Z \004w\v\351F\031\020ԅ\232\030\177\000\000\000Z\004w\v\351F\031\020ԅ\232 \030\177\000\000\217\022j\252\377\177\000\000\200\277\206\232\030\177 \000\000\060R\263\232\030\177\000\000\271\\\263\232\030\177\000\000\001 \000\000\000\000\000\000\000\020ԅ\232\030\177\000\000*\006L\230\030\177 \000\000\060\000\000\000\060\000\000\000Ȯu\230\030\177\000\000\270\256u \230\030\177\000\000\000\071}\232\030\177\000\000\000\340\000\000\000 \000\000\000\200\000\000\000\000\000\000\000\220\000\000\000\000\000\000 \000\001\000\000\000\t\000\000\000\260\000\000\000\000\000\000\000@\277 \206\232\t\000\000\000\062\000\000\000\000\000\000\000\200P\374\230\030 \177\000\000`\256u\230\030\177\000\000\200\000\000\000\000\000\000\000 \271\\\263\232\030\177\000\000\001\000\000\000\000\000\000\000\020ԅ\232 \030"... name_ptr = <optimized out> name_len = <optimized out> ret = <optimized out> fd = 32536 loops = <optimized out> type = 212 ''\324'' So any knowledge on how to proceed? Also, is there any documentation for "restore" planned, I could not find any information about what the options really do... Regards Peter -- 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