From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailgw-02.dd24.net ([193.46.215.43]:55909 "EHLO mailgw-02.dd24.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752893AbbKYERA (ORCPT ); Tue, 24 Nov 2015 23:17:00 -0500 Message-ID: <1448425015.21291.142.camel@scientia.net> Subject: Re: bad extent [5993525264384, 5993525280768), type mismatch with chunk From: Christoph Anton Mitterer To: Qu Wenruo Cc: linux-btrfs@vger.kernel.org Date: Wed, 25 Nov 2015 05:16:55 +0100 In-Reply-To: <1448422525.21291.131.camel@scientia.net> References: <56455073.1060406@cn.fujitsu.com> <564F48FE.4000400@laposte.net> <1448047478.6878.4.camel@scientia.net> <564FBF0F.4050705@gmx.com> <564FC3FE.9020905@lukas-pirl.de> <565122AA.90904@gmx.com> <1448175373.7143.24.camel@scientia.net> <56526790.6020907@cn.fujitsu.com> <1448302368.2100.28.camel@scientia.net> <5653B34B.9000103@cn.fujitsu.com> <1448330029.14125.13.camel@scientia.net> <5653C6D5.1010908@cn.fujitsu.com> <1448333334.14125.14.camel@scientia.net> <5653D157.5060209@cn.fujitsu.com> <1448334124.14125.17.camel@scientia.net> <5653F725.5030700@cn.fujitsu.com> <1448389513.21291.38.camel@scientia.net> <565507EF.5030205@cn.fujitsu.com> <1448422525.21291.131.camel@scientia.net> Content-Type: multipart/signed; micalg="sha-512"; protocol="application/x-pkcs7-signature"; boundary="=-FRi7PlLSgneZ8z91UbAM" Mime-Version: 1.0 Sender: linux-btrfs-owner@vger.kernel.org List-ID: --=-FRi7PlLSgneZ8z91UbAM Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hey again. So it seems that data-b is always fine (well at least three times in a row) and data-old-a always gives errors. including e.g: bad extent [3067663679488, 3067663695872), type mismatch with chunk bad extent [3067663876096, 3067663892480), type mismatch with chunk bad extent [3067663892480, 3067663908864), type mismatch with chunk bad extent [3067663908864, 3067663925248), type mismatch with chunk bad extent [3067669348352, 3067669364736), type mismatch with chunk bad extent [3067669430272, 3067669446656), type mismatch with chunk bad extent [3067669659648, 3067669676032), type mismatch with chunk bad extent [3067669790720, 3067669807104), type mismatch with chunk bad extent [3067669807104, 3067669823488), type mismatch with chunk bad extent [3067669823488, 3067669839872), type mismatch with chunk bad extent [3067669872640, 3067669889024), type mismatch with chunk bad extent [3067669921792, 3067669938176), type mismatch with chunk bad extent [3067671805952, 3067671822336), type mismatch with chunk I've started debugging (everything as before) with: (gdb) break cmds-check.c:4387 Breakpoint 1 at 0x42cf2b: file cmds-check.c, line 4387. (gdb) break cmds-check.c:4394 Breakpoint 2 at 0x42cf57: file cmds-check.c, line 4394. (gdb) break cmds-check.c:4411 Breakpoint 3 at 0x42cfa6: file cmds-check.c, line 4411. (gdb) break cmds-check.c:4421 Breakpoint 4 at 0x42d000: file cmds-check.c, line 4421. Hit a: Breakpoint 1, check_extent_type (rec=3D0x1a44130) at cmds-check.c:4387 4387 rec->wrong_chunk_type =3D 1; (gdb) bt #0=C2=A0=C2=A0check_extent_type (rec=3D0x1a44130) at cmds-check.c:4387 #1=C2=A0=C2=A00x000000000042d6a5 in add_extent_rec (extent_cache=3D0x7fffff= ffdf30, parent_key=3D0x0, parent_gen=3D0, start=3D1097665216512, nr=3D16384= , extent_item_refs=3D1, is_root=3D0, inc_ref=3D0, set_checked=3D0,=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0metadata=3D0, extent_rec=3D1, max_size=3D16384) at = cmds-check.c:4576 #2=C2=A0=C2=A00x000000000042ecc9 in process_extent_item (root=3D0x919d20, e= xtent_cache=3D0x7fffffffdf30, eb=3D0x1a0edb0, slot=3D95) at cmds-check.c:51= 42 #3=C2=A0=C2=A00x0000000000430aea in run_next_block (root=3D0x919d20, bits= =3D0x91e220, bits_nr=3D1024, last=3D0x7fffffffdb78, pending=3D0x7fffffffdf1= 0, seen=3D0x7fffffffdf20, reada=3D0x7fffffffdf00,=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0nodes=3D0x7fffffffdef0, extent_cache=3D0x7fffffffdf= 30, chunk_cache=3D0x7fffffffdf90, dev_cache=3D0x7fffffffdfa0, block_group_c= ache=3D0x7fffffffdf70, dev_extent_cache=3D0x7fffffffdf40, ri=3D0x6cef30) =C2=A0=C2=A0=C2=A0=C2=A0at cmds-check.c:5960 #4=C2=A0=C2=A00x00000000004356c4 in deal_root_from_list (list=3D0x7fffffffd= c00, root=3D0x919d20, bits=3D0x91e220, bits_nr=3D1024, pending=3D0x7fffffff= df10, seen=3D0x7fffffffdf20, reada=3D0x7fffffffdf00,=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0nodes=3D0x7fffffffdef0, extent_cache=3D0x7fffffffdf= 30, chunk_cache=3D0x7fffffffdf90, dev_cache=3D0x7fffffffdfa0, block_group_c= ache=3D0x7fffffffdf70, dev_extent_cache=3D0x7fffffffdf40) =C2=A0=C2=A0=C2=A0=C2=A0at cmds-check.c:8014 #5=C2=A0=C2=A00x0000000000435d91 in check_chunks_and_extents (root=3D0x919d= 20) at cmds-check.c:8181 #6=C2=A0=C2=A00x0000000000438e2b in cmd_check (argc=3D1, argv=3D0x7fffffffe= 220) at cmds-check.c:9627 #7=C2=A0=C2=A00x0000000000409d49 in main (argc=3D2, argv=3D0x7fffffffe220) = at btrfs.c:252 (gdb) continue Continuing. Breakpoint 1, check_extent_type (rec=3D0x1a44130) at cmds-check.c:4387 4387 rec->wrong_chunk_type =3D 1; (gdb) bt #0=C2=A0=C2=A0check_extent_type (rec=3D0x1a44130) at cmds-check.c:4387 #1=C2=A0=C2=A00x000000000042d856 in add_tree_backref (extent_cache=3D0x7fff= ffffdf30, bytenr=3D1097665216512, parent=3D1314162819072, root=3D0, found_r= ef=3D0) at cmds-check.c:4624 #2=C2=A0=C2=A00x000000000042ede2 in process_extent_item (root=3D0x919d20, e= xtent_cache=3D0x7fffffffdf30, eb=3D0x1a0edb0, slot=3D95) at cmds-check.c:51= 61 #3=C2=A0=C2=A00x0000000000430aea in run_next_block (root=3D0x919d20, bits= =3D0x91e220, bits_nr=3D1024, last=3D0x7fffffffdb78, pending=3D0x7fffffffdf1= 0, seen=3D0x7fffffffdf20, reada=3D0x7fffffffdf00,=20 =C2=A0=C2=A0=C2=A0=C2=A0nodes=3D0x7fffffffdef0, extent_cache=3D0x7fffffffdf= 30, chunk_cache=3D0x7fffffffdf90, dev_cache=3D0x7fffffffdfa0, block_group_c= ache=3D0x7fffffffdf70, dev_extent_cache=3D0x7fffffffdf40, ri=3D0x6cef30) =C2=A0=C2=A0=C2=A0=C2=A0at cmds-check.c:5960 #4=C2=A0=C2=A00x00000000004356c4 in deal_root_from_list (list=3D0x7fffffffd= c00, root=3D0x919d20, bits=3D0x91e220, bits_nr=3D1024, pending=3D0x7fffffff= df10, seen=3D0x7fffffffdf20, reada=3D0x7fffffffdf00,=20 =C2=A0=C2=A0=C2=A0=C2=A0nodes=3D0x7fffffffdef0, extent_cache=3D0x7fffffffdf= 30, chunk_cache=3D0x7fffffffdf90, dev_cache=3D0x7fffffffdfa0, block_group_c= ache=3D0x7fffffffdf70, dev_extent_cache=3D0x7fffffffdf40) =C2=A0=C2=A0=C2=A0=C2=A0at cmds-check.c:8014 #5=C2=A0=C2=A00x0000000000435d91 in check_chunks_and_extents (root=3D0x919d= 20) at cmds-check.c:8181 #6=C2=A0=C2=A00x0000000000438e2b in cmd_check (argc=3D1, argv=3D0x7fffffffe= 220) at cmds-check.c:9627 #7=C2=A0=C2=A00x0000000000409d49 in main (argc=3D2, argv=3D0x7fffffffe220) = at btrfs.c:252 You've mentioned=C2=A0add_extent_rec() before, but that doesn't seem to contain bytenr so I cannot break on it. I tried it with add_tree_backref instead, maybe that's already helpful for you until you give me further instructions on what to debug: Breakpoint 5 at 0x42d84a: file cmds-check.c, line 4624. (gdb) continue=20 Continuing. Breakpoint 5, add_tree_backref (extent_cache=3D0x7fffffffdf30, bytenr=3D306= 7669348352, parent=3D0, root=3D2, found_ref=3D0) at cmds-check.c:4624 4624 check_extent_type(rec); (gdb) bt #0=C2=A0=C2=A0add_tree_backref (extent_cache=3D0x7fffffffdf30, bytenr=3D306= 7669348352, parent=3D0, root=3D2, found_ref=3D0) at cmds-check.c:4624 #1=C2=A0=C2=A00x000000000042edb8 in process_extent_item (root=3D0x919d20, e= xtent_cache=3D0x7fffffffdf30, eb=3D0x1a0edb0, slot=3D96) at cmds-check.c:51= 57 #2=C2=A0=C2=A00x0000000000430aea in run_next_block (root=3D0x919d20, bits= =3D0x91e220, bits_nr=3D1024, last=3D0x7fffffffdb78, pending=3D0x7fffffffdf1= 0, seen=3D0x7fffffffdf20, reada=3D0x7fffffffdf00,=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0nodes=3D0x7fffffffdef0, extent_cache=3D0x7fffffffdf= 30, chunk_cache=3D0x7fffffffdf90, dev_cache=3D0x7fffffffdfa0, block_group_c= ache=3D0x7fffffffdf70, dev_extent_cache=3D0x7fffffffdf40, ri=3D0x6cef30) =C2=A0=C2=A0=C2=A0=C2=A0at cmds-check.c:5960 #3=C2=A0=C2=A00x00000000004356c4 in deal_root_from_list (list=3D0x7fffffffd= c00, root=3D0x919d20, bits=3D0x91e220, bits_nr=3D1024, pending=3D0x7fffffff= df10, seen=3D0x7fffffffdf20, reada=3D0x7fffffffdf00,=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0nodes=3D0x7fffffffdef0, extent_cache=3D0x7fffffffdf= 30, chunk_cache=3D0x7fffffffdf90, dev_cache=3D0x7fffffffdfa0, block_group_c= ache=3D0x7fffffffdf70, dev_extent_cache=3D0x7fffffffdf40) =C2=A0=C2=A0=C2=A0=C2=A0at cmds-check.c:8014 #4=C2=A0=C2=A00x0000000000435d91 in check_chunks_and_extents (root=3D0x919d= 20) at cmds-check.c:8181 #5=C2=A0=C2=A00x0000000000438e2b in cmd_check (argc=3D1, argv=3D0x7fffffffe= 220) at cmds-check.c:9627 #6=C2=A0=C2=A00x0000000000409d49 in main (argc=3D2, argv=3D0x7fffffffe220) = at btrfs.c:252 (btw: all lines are 4.3 including your patch) breakpoint 5 would be reached many times: Breakpoint 5, add_tree_backref (extent_cache=3D0x7fffffffdf30, bytenr=3D306= 7669348352, parent=3D0, root=3D2, found_ref=3D0) at cmds-check.c:4624 4624 check_extent_type(rec); (gdb) continue=20 Continuing. Breakpoint 5, add_tree_backref (extent_cache=3D0x7fffffffdf30, bytenr=3D306= 7669348352, parent=3D0, root=3D7, found_ref=3D0) at cmds-check.c:4624 4624 check_extent_type(rec); (gdb) continue=20 Continuing. Breakpoint 5, add_tree_backref (extent_cache=3D0x7fffffffdf30, bytenr=3D306= 7669348352, parent=3D0, root=3D7, found_ref=3D0) at cmds-check.c:4624 4624 check_extent_type(rec); (gdb) continue=20 Continuing. Cheers, Chris. --=-FRi7PlLSgneZ8z91UbAM Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Disposition: attachment; filename="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCCEZIw ggW/MIIDp6ADAgECAgMCOakwDQYJKoZIhvcNAQENBQAwVDEUMBIGA1UEChMLQ0FjZXJ0IEluYy4x HjAcBgNVBAsTFWh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZzEcMBoGA1UEAxMTQ0FjZXJ0IENsYXNzIDMg Um9vdDAeFw0xNDA2MTIxNjM2MThaFw0xNjA2MTExNjM2MThaMHwxITAfBgNVBAMTGENocmlzdG9w aCBBbnRvbiBNaXR0ZXJlcjEkMCIGCSqGSIb3DQEJARYVY2FsZXN0eW9Ac2NpZW50aWEubmV0MTEw LwYJKoZIhvcNAQkBFiJtYWlsQGNocmlzdG9waC5hbnRvbi5taXR0ZXJlci5uYW1lMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4phP/j9vT9dZT+k3ffHxvRWMOuzBnu5O3Fl4y2+WL7pL rfLiEhWzGXhHvjSqpt4vCNSdqy43453nnu8+hMb+uEtqSIL1AHU5eLhuDNVN9S4bt9E7nA2WKYBU LCUi/xCD/GL7ToyJNwhrhzcCZ7pXSc3xVqFoC4f6weU9ExhoEZQNRpTM0BFCOi4fRxvKFNnUYgjK hqy0Ta5H0Xx86mAp0Q4dxoD7mhI5iTF6TRkUheELxF24JCuAf04M89Cwft6DRH1FpJ3yvgW2B5U5 aFSL4ZnF4N/wyCB7Dkm1rQ7RCAvw5btkf0VdPnU7ccDCx8HEc2nxK/lbCjrznvh3sa1CCwIDAQAB o4IBcDCCAWwwDAYDVR0TAQH/BAIwADBWBglghkgBhvhCAQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNl cnRpZmljYXRlIGZvciBGUkVFIGhlYWQgb3ZlciB0byBodHRwOi8vd3d3LkNBY2VydC5vcmcwDgYD VR0PAQH/BAQDAgOoMEAGA1UdJQQ5MDcGCCsGAQUFBwMEBggrBgEFBQcDAgYKKwYBBAGCNwoDBAYK KwYBBAGCNwoDAwYJYIZIAYb4QgQBMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDov L29jc3AuY2FjZXJ0Lm9yZzA4BgNVHR8EMTAvMC2gK6AphidodHRwOi8vY3JsLmNhY2VydC5vcmcv Y2xhc3MzLXJldm9rZS5jcmwwRAYDVR0RBD0wO4EVY2FsZXN0eW9Ac2NpZW50aWEubmV0gSJtYWls QGNocmlzdG9waC5hbnRvbi5taXR0ZXJlci5uYW1lMA0GCSqGSIb3DQEBDQUAA4ICAQBefctiLgGl e5baspuozyA4k7Up7SVhGHbif6pQfoFc/9Thx9GXnYpX+U64PMyWBfWwHZIy52Vg0RVkvPi1t6mi GyBfoSpC6ooR0bKWtUIogw/ymqKWlTLVR8kbLqRmRk4juMtCXG2K3yMygX/rjkuUSuFj2Bjpkmzg CtMojbUMYbszePmhQ7DJ62YEdtKpcjN94QAsI5GWlIAbs3KJazAcaNCRJeXCLcUMchyKHJA+NXH5 az/ekBxBMBzJP2An20PP88UI4JW18z31KiG9UVGa2uO4l4aWgVe2GnhNEdCD/o48msJEWKAt5vl2 yMqr7ihmNPocU2+/FW0xPe/vftdOTD9pgXdSGf4prdD+23q2YvpalOCzr2p8yCJZNVBPMxAP4mL0 3OEktXza4wohqAmceXKfGUNwRGBaPvtIGnPrpLhCQ+2YJDg8g1UEsk23bKyZlJWeKJyVqOBsDJmj aBsN/qKhQFnav+zQdqGhMeaSisF/53mD3gyVYg2JRl18apgGbg32kyLmomqa0JbhnY3Dc3FVtZfe +P+s2Cyep3pVKvFer2llRoGm8TwraG5Yhyx8Oq/1qETpstjbURJOVBLDCV4AjOEUj0ZnE/tEo/DK yexgGaViNvjp+IZdFdJhYmsVjw4Q3vG7O0pfsLiYEyQjeDgjNEWDfa5/MufPywIfxzCCBb8wggOn oAMCAQICAwI5qTANBgkqhkiG9w0BAQ0FADBUMRQwEgYDVQQKEwtDQWNlcnQgSW5jLjEeMBwGA1UE CxMVaHR0cDovL3d3dy5DQWNlcnQub3JnMRwwGgYDVQQDExNDQWNlcnQgQ2xhc3MgMyBSb290MB4X DTE0MDYxMjE2MzYxOFoXDTE2MDYxMTE2MzYxOFowfDEhMB8GA1UEAxMYQ2hyaXN0b3BoIEFudG9u IE1pdHRlcmVyMSQwIgYJKoZIhvcNAQkBFhVjYWxlc3R5b0BzY2llbnRpYS5uZXQxMTAvBgkqhkiG 9w0BCQEWIm1haWxAY2hyaXN0b3BoLmFudG9uLm1pdHRlcmVyLm5hbWUwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQDimE/+P29P11lP6Td98fG9FYw67MGe7k7cWXjLb5Yvukut8uISFbMZ eEe+NKqm3i8I1J2rLjfjneee7z6Exv64S2pIgvUAdTl4uG4M1U31Lhu30TucDZYpgFQsJSL/EIP8 YvtOjIk3CGuHNwJnuldJzfFWoWgLh/rB5T0TGGgRlA1GlMzQEUI6Lh9HG8oU2dRiCMqGrLRNrkfR fHzqYCnRDh3GgPuaEjmJMXpNGRSF4QvEXbgkK4B/Tgzz0LB+3oNEfUWknfK+BbYHlTloVIvhmcXg 3/DIIHsOSbWtDtEIC/Dlu2R/RV0+dTtxwMLHwcRzafEr+VsKOvOe+HexrUILAgMBAAGjggFwMIIB bDAMBgNVHRMBAf8EAjAAMFYGCWCGSAGG+EIBDQRJFkdUbyBnZXQgeW91ciBvd24gY2VydGlmaWNh dGUgZm9yIEZSRUUgaGVhZCBvdmVyIHRvIGh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZzAOBgNVHQ8BAf8E BAMCA6gwQAYDVR0lBDkwNwYIKwYBBQUHAwQGCCsGAQUFBwMCBgorBgEEAYI3CgMEBgorBgEEAYI3 CgMDBglghkgBhvhCBAEwMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzABhhZodHRwOi8vb2NzcC5j YWNlcnQub3JnMDgGA1UdHwQxMC8wLaAroCmGJ2h0dHA6Ly9jcmwuY2FjZXJ0Lm9yZy9jbGFzczMt cmV2b2tlLmNybDBEBgNVHREEPTA7gRVjYWxlc3R5b0BzY2llbnRpYS5uZXSBIm1haWxAY2hyaXN0 b3BoLmFudG9uLm1pdHRlcmVyLm5hbWUwDQYJKoZIhvcNAQENBQADggIBAF59y2IuAaV7ltqym6jP IDiTtSntJWEYduJ/qlB+gVz/1OHH0Zedilf5Trg8zJYF9bAdkjLnZWDRFWS8+LW3qaIbIF+hKkLq ihHRspa1QiiDD/KaopaVMtVHyRsupGZGTiO4y0JcbYrfIzKBf+uOS5RK4WPYGOmSbOAK0yiNtQxh uzN4+aFDsMnrZgR20qlyM33hACwjkZaUgBuzcolrMBxo0JEl5cItxQxyHIockD41cflrP96QHEEw HMk/YCfbQ8/zxQjglbXzPfUqIb1RUZra47iXhpaBV7YaeE0R0IP+jjyawkRYoC3m+XbIyqvuKGY0 +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 AukCAQEwWzBUMRQwEgYDVQQKEwtDQWNlcnQgSW5jLjEeMBwGA1UECxMVaHR0cDovL3d3dy5DQWNl cnQub3JnMRwwGgYDVQQDExNDQWNlcnQgQ2xhc3MgMyBSb290AgMCOakwDQYJYIZIAWUDBAIDBQCg ggFjMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE1MTEyNTA0MTY1 NVowTwYJKoZIhvcNAQkEMUIEQPSBQhsKt2e1Oo22rnQbBaVdPU7PyJUyyOukfknYOWmzxsEFgUL4 8emosds9GPpuXVA4YW0ozFhE96nO2nNJx3IwagYJKwYBBAGCNxAEMV0wWzBUMRQwEgYDVQQKEwtD QWNlcnQgSW5jLjEeMBwGA1UECxMVaHR0cDovL3d3dy5DQWNlcnQub3JnMRwwGgYDVQQDExNDQWNl cnQgQ2xhc3MgMyBSb290AgMCOakwbAYLKoZIhvcNAQkQAgsxXaBbMFQxFDASBgNVBAoTC0NBY2Vy dCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5vcmcxHDAaBgNVBAMTE0NBY2VydCBD bGFzcyAzIFJvb3QCAwI5qTANBgkqhkiG9w0BAQEFAASCAQCvyzvt9OjnnsP56q4AQGnCdK38eKaT ku5lPZmSlcLXwQCKMNCp4Ec88nIRx6HhiiLck2QE7+PCyrhy2AjqEpO4IrSkVv+ylVu5BdrVRMLF 4CY9zaErutQAZcrwSzgRW2Z2YCVm9mqFDYOCwSp+VSzXh/aN1ooDfkpPJvXOSILU3Pi6fSjsniZx +v5P4ddfBDN1w3A/sByqMp5FLPpe9lm4s2CCNyuZeQpBQKMIGxNvW3gywCvPrwq25tTN5VTlyzKe 9F6VOhXVg4XoDYTV21GqovFxT+kXusWy6pmNPV3GjWOmZeFJWDI73icFFSCw4X5WrkT5P+W+NEwU vbQM2cCLAAAAAAAA --=-FRi7PlLSgneZ8z91UbAM--