http://bugzilla.opensuse.org/show_bug.cgi?id=897774 http://bugzilla.opensuse.org/show_bug.cgi?id=897774#c11 Libor Pechacek <lpechacek@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P2 - High Component|Kernel |Basesystem Version|201409* |Current Summary|[Kernel:HEAD] btrfs issue |btrfsck crashing while |(kernel crash) changes root |checking a corrupted file |filesystem to ro mount |system Flags| |needinfo?(johannesobermayr@ | |gmx.de) --- Comment #11 from Libor Pechacek <lpechacek@suse.com> --- (In reply to Johannes Obermayr from comment #10)
Still there on openSUSE Tumbleweed with Kernel kernel-default-4.10.rc2-1.1.g870a2f2.x86_64:
Thanks for the swift reply, Johannes!
[ 1776.648462] WARNING: CPU: 0 PID: 3813 at ../fs/btrfs/extent-tree.c:6935 __btrfs_free_extent.isra.58+0x7a8/0xe10 [btrfs] [...] [ 1776.649057] BTRFS error (device sda2): unable to find ref byte nr 67676614656 parent 0 root 4 owner 1 offset 0 [ 1776.649059] ------------[ cut here ]------------ [ 1776.649091] WARNING: CPU: 0 PID: 3813 at ../fs/btrfs/extent-tree.c:6941 __btrfs_free_extent.isra.58+0x809/0xe10 [btrfs] [ 1776.649093] BTRFS: Transaction aborted (error -2) [...] [ 1776.649490] BTRFS: error (device sda2) in __btrfs_free_extent:6941: errno=-2 No such entry
This is not a kernel crash. The format resembles oopses and panics but warnings are not that severe. It comes from this piece of code: fs/btrfs/extent-tree.c: 6935 } else if (WARN_ON(ret == -ENOENT)) { 6936 btrfs_print_leaf(info, path->nodes[0]); 6937 btrfs_err(info, 6938 "unable to find ref byte nr %llu parent %llu root %llu owner %llu offset %llu", 6939 bytenr, parent, root_objectid, owner_objectid, 6940 owner_offset); 6941 btrfs_abort_transaction(trans, ret); 6942 goto out; 6943 } else { The below are then btrfs_abort_transaction()'s from calling functions higher in the chain.
[ 1776.649492] BTRFS info (device sda2): forced readonly [ 1776.649497] BTRFS: error (device sda2) in btrfs_run_delayed_refs:2953: errno=-2 No such entry [ 1776.649500] BTRFS warning (device sda2): Skipping commit of aborted transaction. [ 1776.649503] BTRFS: error (device sda2) in cleanup_transaction:1872: errno=-2 No such entry
With that I would say there is no kernel error and the only problem is the file system corruption.
$ gdb btrfsck --batch -ex "set args /dev/sda2" -ex "run" -ex "bt full" [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Checking filesystem on /dev/sda2 UUID: 9e12d35c-87ab-47e3-aecb-01f7c09e3c96 parent transid verify failed on 67666722816 wanted 385998 found 386004 Ignoring transid failure
Program received signal SIGSEGV, Segmentation fault.
This is the main culprit here. Would you mind sharing the file system metadata dump so that we can look into replicating the issue? (btrfs-image -c 9 <dev> <image file> will create a compressed metadata-only image of the file system. Attach the resulting image to this bug report or upload to ftp://support-ftp.suse.com/in/ in case it exceeds the size limit.) -- You are receiving this mail because: You are on the CC list for the bug.