Chris Murphy wrote on 2015/12/11 11:24 -0700:
On Fri, Dec 11, 2015 at 10:50 AM, Ivan Sizov <sivan...@gmail.com> wrote:
Btrfs crashes in few seconds after mounting RW.
If it's important: the volume was converted from ext4. "ext2_saved"
subvolume still presents.
dmesg:
[ 625.998387] BTRFS info (device sda1): disk space caching is enabled
[ 625.998392] BTRFS: has skinny extents
[ 627.727708] BTRFS: checking UUID tree
[ 708.514128] ------------[ cut here ]------------
[ 708.514161] WARNING: CPU: 1 PID: 2263 at fs/btrfs/extent-tree.c:6255
__btrfs_free_extent.isra.68+0x8c8/0xd70 [btrfs]()
[ 708.514164] Modules linked in: bnep bluetooth rfkill ip6t_rpfilter
ip6t_REJECT nf_reject_ipv6 xt_conntrack ebtable_broute bridge ebtable_filter
ebtable_nat ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6
ip6table_raw ip6table_security ip6table_mangle ip6table_filter ip6_tables
iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack
iptable_raw iptable_security iptable_mangle gpio_ich coretemp kvm_intel kvm
iTCO_wdt iTCO_vendor_support snd_hda_codec_realtek snd_hda_codec_generic
snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_seq snd_seq_device
lpc_ich snd_pcm snd_timer ppdev snd i2c_i801 mei_me mei soundcore parport_pc
parport shpchp tpm_infineon tpm_tis tpm acpi_cpufreq nfsd auth_rpcgss nfs_acl
lockd grace isofs squashfs btrfs xor raid6_pq i915 hid_logitech_hidpp
[ 708.514277] 8021q garp stp video llc mrp i2c_algo_bit drm_kms_helper r8169
uas crc32c_intel drm serio_raw mii hid_logitech_dj usb_storage scsi_dh_rdac
scsi_dh_emc scsi_dh_alua sunrpc loop
[ 708.514311] CPU: 1 PID: 2263 Comm: btrfs-transacti Not tainted
4.2.3-300.fc23.x86_64 #1
[ 708.514315] Hardware name: MSI MS-7636/H55M-P31(MS-7636) , BIOS V1.9
09/14/2010
[ 708.514319] 0000000000000000 00000000f50458a6 ffff880066b03ad8
ffffffff81771fca
[ 708.514326] 0000000000000000 0000000000000000 ffff880066b03b18
ffffffff8109e4a6
[ 708.514332] 0000000000000002 000000252f595000 00000000fffffffe
0000000000000000
[ 708.514338] Call Trace:
[ 708.514349] [<ffffffff81771fca>] dump_stack+0x45/0x57
[ 708.514359] [<ffffffff8109e4a6>] warn_slowpath_common+0x86/0xc0
[ 708.514365] [<ffffffff8109e5da>] warn_slowpath_null+0x1a/0x20
[ 708.514391] [<ffffffffa0305628>] __btrfs_free_extent.isra.68+0x8c8/0xd70
[btrfs]
[ 708.514429] [<ffffffffa036da5a>] ? find_ref_head+0x5a/0x80 [btrfs]
[ 708.514456] [<ffffffffa03093c8>] __btrfs_run_delayed_refs+0x998/0x1080
[btrfs]
Not completely sure, but it may be related to a regression in 4.2.
The regression it self is already fixed, but is not backported to 4.2 as
far as I know.
So, I'd recommend to revert to 4.1 and see if things get better.
Fortunately, btrfs already aborted the transaction before things get worse.
[ 708.514477] [<ffffffffa030c674>] btrfs_run_delayed_refs.part.73+0x74/0x270
[btrfs]
[ 708.514496] [<ffffffffa030c885>] btrfs_run_delayed_refs+0x15/0x20 [btrfs]
[ 708.514518] [<ffffffffa0320f26>] btrfs_commit_transaction+0x56/0xad0 [btrfs]
[ 708.514541] [<ffffffffa031c604>] transaction_kthread+0x214/0x230 [btrfs]
[ 708.514564] [<ffffffffa031c3f0>] ? btrfs_cleanup_transaction+0x500/0x500
[btrfs]
[ 708.514569] [<ffffffff810bc8a8>] kthread+0xd8/0xf0
[ 708.514574] [<ffffffff810bc7d0>] ? kthread_worker_fn+0x160/0x160
[ 708.514581] [<ffffffff81778d9f>] ret_from_fork+0x3f/0x70
[ 708.514585] [<ffffffff810bc7d0>] ? kthread_worker_fn+0x160/0x160
[ 708.514588] ---[ end trace 6731111f3bf2295a ]---
[ 708.514594] BTRFS info (device sda1): leaf 535035904 total ptrs 204 free
space 4451
[ 708.514598] item 0 key (159696797696 169 0) itemoff 16250 itemsize 33
[ 708.514601] extent refs 1 gen 21134 flags 2
[ 708.514604] tree block backref root 2
[ 708.514609] item 1 key (159696830464 169 1) itemoff 16217 itemsize 33
[ 708.514612] extent refs 1 gen 21134 flags 2
[ 708.514615] tree block backref root 2
[ 708.514619] item 2 key (159696846848 169 0) itemoff 16184 itemsize 33
*********** a lot of similar messages ***********
[ 708.516923] item 203 key (159711268864 169 0) itemoff 9551 itemsize 33
[ 708.516927] extent refs 1 gen 21082 flags 2
[ 708.516930] tree block backref root 384
[ 708.516937] BTRFS error (device sda1): unable to find ref byte nr
159708172288 parent 0 root 385 owner 2 offset 0
[ 708.516944] ------------[ cut here ]------------
[ 708.516975] WARNING: CPU: 1 PID: 2263 at fs/btrfs/extent-tree.c:6261
__btrfs_free_extent.isra.68+0x92f/0xd70 [btrfs]()
[ 708.516979] BTRFS: Transaction aborted (error -2)
[ 708.516982] Modules linked in: bnep bluetooth rfkill ip6t_rpfilter
ip6t_REJECT nf_reject_ipv6 xt_conntrack ebtable_broute bridge ebtable_filter
ebtable_nat ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6
ip6table_raw ip6table_security ip6table_mangle ip6table_filter ip6_tables
iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack
iptable_raw iptable_security iptable_mangle gpio_ich coretemp kvm_intel kvm
iTCO_wdt iTCO_vendor_support snd_hda_codec_realtek snd_hda_codec_generic
snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_seq snd_seq_device
lpc_ich snd_pcm snd_timer ppdev snd i2c_i801 mei_me mei soundcore parport_pc
parport shpchp tpm_infineon tpm_tis tpm acpi_cpufreq nfsd auth_rpcgss nfs_acl
lockd grace isofs squashfs btrfs xor raid6_pq i915 hid_logitech_hidpp
[ 708.517075] 8021q garp stp video llc mrp i2c_algo_bit drm_kms_helper r8169
uas crc32c_intel drm serio_raw mii hid_logitech_dj usb_storage scsi_dh_rdac
scsi_dh_emc scsi_dh_alua sunrpc loop
[ 708.517108] CPU: 1 PID: 2263 Comm: btrfs-transacti Tainted: G W
4.2.3-300.fc23.x86_64 #1
[ 708.517112] Hardware name: MSI MS-7636/H55M-P31(MS-7636) , BIOS V1.9
09/14/2010
[ 708.517115] 0000000000000000 00000000f50458a6 ffff880066b03a78
ffffffff81771fca
[ 708.517123] 0000000000000000 ffff880066b03ad0 ffff880066b03ab8
ffffffff8109e4a6
[ 708.517129] ffffffffa03a0349 000000252f595000 00000000fffffffe
0000000000000000
[ 708.517135] Call Trace:
[ 708.517143] [<ffffffff81771fca>] dump_stack+0x45/0x57
[ 708.517150] [<ffffffff8109e4a6>] warn_slowpath_common+0x86/0xc0
[ 708.517157] [<ffffffff8109e535>] warn_slowpath_fmt+0x55/0x70
[ 708.517186] [<ffffffffa030568f>] __btrfs_free_extent.isra.68+0x92f/0xd70
[btrfs]
[ 708.517226] [<ffffffffa036da5a>] ? find_ref_head+0x5a/0x80 [btrfs]
[ 708.517262] [<ffffffffa03093c8>] __btrfs_run_delayed_refs+0x998/0x1080
[btrfs]
[ 708.517288] [<ffffffffa030c674>] btrfs_run_delayed_refs.part.73+0x74/0x270
[btrfs]
[ 708.517317] [<ffffffffa030c885>] btrfs_run_delayed_refs+0x15/0x20 [btrfs]
[ 708.517351] [<ffffffffa0320f26>] btrfs_commit_transaction+0x56/0xad0 [btrfs]
[ 708.517382] [<ffffffffa031c604>] transaction_kthread+0x214/0x230 [btrfs]
[ 708.517411] [<ffffffffa031c3f0>] ? btrfs_cleanup_transaction+0x500/0x500
[btrfs]
[ 708.517419] [<ffffffff810bc8a8>] kthread+0xd8/0xf0
[ 708.517425] [<ffffffff810bc7d0>] ? kthread_worker_fn+0x160/0x160
[ 708.517432] [<ffffffff81778d9f>] ret_from_fork+0x3f/0x70
[ 708.517439] [<ffffffff810bc7d0>] ? kthread_worker_fn+0x160/0x160
[ 708.517444] ---[ end trace 6731111f3bf2295b ]---
[ 708.517450] BTRFS: error (device sda1) in __btrfs_free_extent:6261: errno=-2
No such entry
[ 708.517455] BTRFS info (device sda1): forced readonly
[ 708.517464] BTRFS: error (device sda1) in btrfs_run_delayed_refs:2781:
errno=-2 No such entry
[ 708.517580] pending csums is 139264
[ 841.017119] BTRFS error (device sda1): cleaner transaction attach returned
-30
I checked the filesystem extents:
$ sudo btrfs check --subvol-extents 5 /dev/sda1
Print extent state for subvolume 5 on /dev/sda1
UUID: 6de5c663-bc65-4120-8cf6-5309fd25aa7e
checksum verify failed on 159708168192 found 3659C180 wanted 8EE67C14
checksum verify failed on 159708168192 found 3659C180 wanted 8EE67C14
bytenr mismatch, want=159708168192, have=16968404070778227820
ERROR: while mapping refs: -5
extent_io.c:582: free_extent_buffer: Assertion `eb->refs < 0` failed.
btrfs(+0x51e9e)[0x56283f4bde9e]
btrfs(free_extent_buffer+0xc0)[0x56283f4be9b0]
btrfs(btrfs_free_fs_root+0x11)[0x56283f4aef11]
btrfs(rb_free_nodes+0x21)[0x56283f4d7cc1]
btrfs(close_ctree+0x194)[0x56283f4b0214]
btrfs(cmd_check+0x486)[0x56283f49ace6]
btrfs(main+0x82)[0x56283f47fad2]
/lib64/libc.so.6(__libc_start_main+0xf0)[0x7f8cbea98580]
btrfs(_start+0x29)[0x56283f47fbd9]
$
Did you tried it without the '--subvol-extents 5' options?
And what's the output?
And it may be a good idea to run btrfs-find-root -a, trying to find a
good copy of old btrfs root tree.
It may cause miracle to make it RW again.
Will "btrfs check --repair" fix my problem or make it worse?
Fedora 23. Installed (but now broken) system has 4.2.5 kernel. A live
CD has kernel 4.2.3 with btrfs-progs 4.2.2!
I would not repair it if the risk of it getting worse is bad for your data.
Totally agreed here.
It seems the problem is already tricky enough for --repair.
Note the wiki says this feature is not well tested and is reported to
not work reliably.
https://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3
Qu is working on patches to fix some of these problems, I don't know
the status of any of that.
The patches are under review now, and David should be picking needed
patches now.
I just did a conversion myself the other
day with kernel 4.4.0rc3 and btrfs-progs 4.3.1 and that worked without
error. But there were also no big files at all (it was just a clean OS
installation). I immediately took a snapshot of that, and btrfs
send/receive it to a new Btrfs volume, and then discarded the
converted one entirely.
It should has the problem of wrong chunk type even it's empty.
Btrfsck should report things like :
bad extent [33554432, 36335616), type mismatch with chunk
bad extent [36352000, 36356096), type mismatch with chunk
bad extent [36454400, 36458496), type mismatch with chunk
bad extent [36458496, 36462592), type mismatch with chunk
bad extent [36462592, 36466688), type mismatch with chunk
bad extent [36499456, 36503552), type mismatch with chunk
The trace looks like it's mounting read-only? If it can be mounted
read only, get the important data off the volume if it's not already
backed up, and then blow it away. I personally wouldn't bother with
repairing it.
+1 for the advice if you just want to use back up things and get back to
normal life.
Thanks,
Qu
--
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