A power failure has left me with a broken btrfs. Trying to mount the filesystem with Kernel 3.0 gives me an unrecognized superblock error. btrfs-debug-tree spits out the folowing:
parent transid verify failed on 349129785344 wanted 120602 found 120627 parent transid verify failed on 349129785344 wanted 120602 found 120627 parent transid verify failed on 349129785344 wanted 120602 found 120627 btrfs-debug-tree: disk-io.c:416: find_and_setup_root: Assertion `!(!root->node)' failed. btrfsck (with -s1) fails the same assertion, as do btrfs-zero-log and btrfs-select-super. Now here's something that's truly weird. By booting an older kernel (2.6.34 in this case), I am able to mount the filesystem as read-only. Mounting produces the following dmesg: device fsid 6a417c5b1cfb7e42-d3aa784df5324d8e devid 1 transid 123587 /dev/sda1 parent transid verify failed on 349129785344 wanted 120602 found 120627 parent transid verify failed on 349129785344 wanted 120602 found 120627 parent transid verify failed on 349129785344 wanted 120602 found 120627 Attempting to copy a file off of this volume causes cp to give an Input/output error and results in the following dmesg: btrfs no csum found for inode 566 start 0 btrfs no csum found for inode 566 start 0 btrfs no csum found for inode 566 start 0 btrfs no csum found for inode 566 start 0 btrfs no csum found for inode 566 start 0 btrfs csum failed ino 566 extent 2194907136 csum 1712577361 wanted 0 mirror 0 btrfs no csum found for inode 566 start 0 btrfs no csum found for inode 566 start 0 btrfs no csum found for inode 566 start 0 btrfs no csum found for inode 566 start 0 btrfs no csum found for inode 566 start 0 --snip-- btrfs csum failed ino 566 extent 2194907136 csum 1712577361 wanted 0 mirror 1 btrfs csum failed ino 566 extent 2194907136 csum 1712577361 wanted 0 mirror 1 btrfs csum failed ino 566 extent 2194907136 csum 1712577361 wanted 0 mirror 1 btrfs csum failed ino 566 extent 2194907136 csum 1712577361 wanted 0 mirror 1 btrfs csum failed ino 566 extent 2194907136 csum 1712577361 wanted 0 mirror 1 btrfs csum failed ino 566 extent 2194907136 csum 1712577361 wanted 0 mirror 0 --snip-- (the actual output is almost 1000 lines) The resulting file is simply zeros. This happens for MOST of the files on the volume. Attempting to rsync my data to another volume results in 85% of the files being all zeros. I can list all of my subvolumes: ID 256 top level 5 path __active ID 257 top level 5 path __active/home ID 258 top level 5 path __active/usr ID 259 top level 5 path __active/var ID 407 top level 5 path __snapshot/home/weekly_2011-07-10_00:00:01.544862418 ID 581 top level 5 path __snapshot/home/weekly_2011-07-17_00:00:01.524232939 ID 759 top level 5 path __snapshot/home/weekly_2011-07-24_00:00:01.526621374 ID 809 top level 5 path __snapshot/home/daily_2011-07-26_00:00:01.524527287 ID 833 top level 5 path __snapshot/home/daily_2011-07-27_00:00:01.916055120 ID 859 top level 5 path __snapshot/home/daily_2011-07-28_00:00:01.686502790 ID 884 top level 5 path __snapshot/home/daily_2011-07-29_00:00:01.526246864 ID 909 top level 5 path __snapshot/home/daily_2011-07-30_00:00:01.520820006 ID 934 top level 5 path __snapshot/home/daily_2011-07-31_00:00:01.526377498 ID 935 top level 5 path __snapshot/home/weekly_2011-07-31_00:00:01.525911555 ID 960 top level 5 path __snapshot/home/daily_2011-08-01_00:00:01.640038038 ID 968 top level 5 path __snapshot/home/hourly_2011-08-01_08:00:01.538986109 ID 969 top level 5 path __snapshot/home/hourly_2011-08-01_09:00:01.558601454 ID 970 top level 5 path __snapshot/home/hourly_2011-08-01_10:00:01.795524373 ID 971 top level 5 path __snapshot/home/hourly_2011-08-01_11:00:01.536477883 ID 972 top level 5 path __snapshot/home/hourly_2011-08-01_12:00:01.828023102 ID 973 top level 5 path __snapshot/home/hourly_2011-08-01_13:00:01.776132934 The dmesg errors occur regardless of which subvolume I try to read data from. So, I used ddrescue to copy the filesystem elsewhere and tried to mount rw. Simply cd'ing into the filesystem results with the following kernel BUG: kernel: btrfs: unlinked 2 orphans kernel: ------------[ cut here ]------------ kernel: kernel BUG at fs/btrfs/extent-tree.c:1246! kernel: invalid opcode: 0000 [#1] SMP kernel: last sysfs file: /sys/devices/virtual/bdi/btrfs-2/uevent kernel: CPU 4 kernel: Modules linked in: aes_x86_64 aes_generic xts gf128mul dm_crypt ipv6 ppdev parport_pc serio_raw parport i2c_i801 pcspkr i2c_core iTCO_wdt xhci_hcd iTCO_vendor_support raid10 raid456 async_raid6_recov async_pq raid6_pq async_xor xor async_memcpy async_tx raid1 raid0 multipath linear usb_storage firewire_ohci firewire_core pata_it8213 r8169 mii ata_generic pata_acpi kernel: kernel: Pid: 4003, comm: ls Not tainted 2.6.34.01-alt158-amd64 #2 P55A-UD3/P55A-UD3 kernel: RIP: 0010:[<ffffffff813149a9>] [<ffffffff813149a9>] lookup_inline_extent_backref+0xe3/0x3a9 kernel: RSP: 0000:ffff88011da71698 EFLAGS: 00010202 kernel: RAX: 0000000000000001 RBX: ffff8801e6650090 RCX: 0000000000000002 kernel: RDX: 0000000000000002 RSI: 0000000000000000 RDI: ffff8801e66503f0 kernel: RBP: ffff88011da71738 R08: ffff88011da71588 R09: ffff88011da71580 kernel: R10: ffff88011da71488 R11: ffff88011da71228 R12: 00000000000000b0 kernel: R13: ffff88008e241ac0 R14: 0000000000000001 R15: 0000000000000007 kernel: FS: 0000000000000000(0000) GS:ffff880002500000(0063) knlGS:00000000f759e6c0 kernel: CS: 0010 DS: 002b ES: 002b CR0: 000000008005003b kernel: CR2: 0000000009761964 CR3: 000000012fe6d000 CR4: 00000000000006e0 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 kernel: Process ls (pid: 4003, threadinfo ffff88011da70000, task ffff88013ba05d40) kernel: Stack: kernel: ffff88011da716c8 ffffffff81310bd0 00000004e6650ad0 ffff88011da717f0 kernel: <0> 0000000000000000 0000005149c1c000 ffff88011da716d8 ffff8802135ff800 kernel: <0> ffffffff1da71728 0000000000000246 0000005149c1c000 00000000001000a8 kernel: Call Trace: kernel: [<ffffffff81310bd0>] ? block_group_cache_tree_search+0x24/0x95 kernel: [<ffffffff8131596d>] __btrfs_free_extent+0xd8/0x64b kernel: [<ffffffff81316379>] run_one_delayed_ref+0x499/0x4b5 kernel: [<ffffffff810ede0e>] ? __slab_free+0x81/0x22e kernel: [<ffffffff8131281f>] ? btrfs_put_delayed_ref+0x53/0x57 kernel: [<ffffffff8131818d>] run_clustered_refs+0x255/0x2a7 kernel: [<ffffffff810ecd41>] ? virt_to_head_page+0xe/0x2f kernel: [<ffffffff813182ad>] btrfs_run_delayed_refs+0xce/0x18e kernel: [<ffffffff813211ba>] __btrfs_end_transaction+0x6a/0x146 kernel: [<ffffffff813212bb>] btrfs_end_transaction+0x10/0x12 kernel: [<ffffffff813286f9>] btrfs_delete_inode+0xf2/0x146 kernel: [<ffffffff8110e6ad>] generic_delete_inode+0x96/0x10b kernel: [<ffffffff8110e73e>] generic_drop_inode+0x1c/0x5b kernel: [<ffffffff8132261d>] btrfs_drop_inode+0x2b/0x2d kernel: [<ffffffff8110d994>] iput+0x66/0x6a kernel: [<ffffffff81329707>] btrfs_orphan_cleanup+0x1b5/0x1fd kernel: [<ffffffff81329ab2>] btrfs_lookup_dentry+0x363/0x388 kernel: [<ffffffff81329aed>] btrfs_lookup+0x16/0x2f kernel: [<ffffffff81103e37>] do_lookup+0xf5/0x18b kernel: [<ffffffff811046d0>] link_path_walk+0x3d1/0x527 kernel: [<ffffffff81104916>] path_walk+0x4f/0x9f kernel: [<ffffffff811061b1>] ? path_init+0xc4/0x14c kernel: [<ffffffff81106263>] do_path_lookup+0x2a/0x8d kernel: [<ffffffff81107507>] user_path_at+0x56/0x93 kernel: [<ffffffff8111169f>] ? mntput_no_expire+0x2c/0xef kernel: [<ffffffff81103aac>] ? mntput+0x1d/0x1f kernel: [<ffffffff810ff50c>] vfs_fstatat+0x37/0x62 kernel: [<ffffffff810ff592>] vfs_lstat+0x1e/0x20 kernel: [<ffffffff8102e58c>] sys32_lstat64+0x1f/0x39 kernel: [<ffffffff8102d8d2>] ia32_sysret+0x0/0x5 kernel: Code: 44 8b 45 a4 48 8b 75 98 48 8d 55 b0 41 b9 01 00 00 00 48 89 d9 4c 89 ef e8 57 a1 ff ff 83 f8 00 41 89 c6 0f 8c 94 02 00 00 74 04 <0f> 0b eb fe 4c 8b 33 8b 73 40 4c 89 f7 e8 1f fc ff ff 41 89 c7 kernel: RIP [<ffffffff813149a9>] lookup_inline_extent_backref+0xe3/0x3a9 kernel: RSP <ffff88011da71698> kernel: ---[ end trace ef480fade4d32824 ]--- At this point ls segfaults and I can't unmount because "device is busy." Hard rebooting is the only to revive the system. I'm wondering what my options are at this point? -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html