Hallo, linux-btrfs, I''ve tried to convert a 12 GByte ext2 partition (nearly full, 280 MByte free) with btrfs-convert. After about 15 minutes (700-MHz-CPU) the system tells ... creating ext2fs image file cleaning up system chunk btrfs-convert: extent-tree.c:2529: btrfs_reserve_extent: Assertion `!(ret)'' failed Abgebrochen "syslogd" tells Oct 31 17:43:16 ElNath kernel: ------------[ cut here ]------------ Oct 31 17:43:17 ElNath kernel: kernel BUG at fs/btrfs/volumes.c:2831! Oct 31 17:43:17 ElNath kernel: invalid opcode: 0000 [#1] Oct 31 17:43:17 ElNath kernel: last sysfs file: /sys/devices/pci0000:00/0000:00:04.0/0000:08:02.0/0000:09:00.0/class Oct 31 17:43:17 ElNath kernel: Modules linked in: sg nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat xt_DSCP xt_multiport xt_recent nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_tcpudp ipt_REJECT iptable_filter iptable_mangle ip_tables xt_iprange x_tables nfsd exportfs ipv6 8139too 8139cp r8169 savagefb fb_ddc vgastate i2c_piix4 piix e100 mii intel_agp agpgart cmd64x video thermal_sys output ac battery yenta_socket pcmcia_rsrc pcmcia pcmcia_core thinkpad_acpi hwmon led_class nvram fuse Oct 31 17:43:17 ElNath kernel: Oct 31 17:43:17 ElNath kernel: Pid: 6396, comm: mount Not tainted 2.6.35.8-h1 #1 26478EG/26478EG Oct 31 17:43:17 ElNath kernel: EIP: 0060:[<c1231d1a>] EFLAGS: 00010206 CPU: 0 Oct 31 17:43:17 ElNath kernel: EIP is at btrfs_rmap_block+0x3ba/0x3f0 Oct 31 17:43:17 ElNath kernel: EAX: 00000000 EBX: 3df00000 ECX: 00000000 EDX: 00000000 Oct 31 17:43:17 ElNath kernel: ESI: 3df00000 EDI: d7bf76c0 EBP: d1befca8 ESP: d1befc24 Oct 31 17:43:17 ElNath kernel: DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 Oct 31 17:43:17 ElNath kernel: Process mount (pid: 6396, ti=d1bee000 task=c23767a0 task.ti=d1bee000) Oct 31 17:43:17 ElNath kernel: Stack: Oct 31 17:43:17 ElNath kernel: 00000001 00000000 c10252f8 00000000 00000004 000003fa 00000000 d1befc48 Oct 31 17:43:17 ElNath kernel: <0> c1025383 d1befc80 c1228f3d 00001000 c1b90100 d75bd7e0 00000003 d1befc78 Oct 31 17:43:17 ElNath kernel: <0> 00001000 00000000 00000000 00000000 00000000 00000004 d75bdca8 d1befcb0 Oct 31 17:43:17 ElNath kernel: Call Trace: Oct 31 17:43:17 ElNath kernel: [<c10252f8>] ? kmap_atomic_prot+0x48/0xc0 Oct 31 17:43:17 ElNath kernel: [<c1025383>] ? kmap_atomic+0x13/0x20 Oct 31 17:43:17 ElNath kernel: [<c1228f3d>] ? map_private_extent_buffer+0x8d/0x120 Oct 31 17:43:17 ElNath kernel: [<c1229091>] ? map_extent_buffer+0xc1/0xd0 Oct 31 17:43:17 ElNath kernel: [<c11f13ac>] ? exclude_super_stripes+0xac/0x140 Oct 31 17:43:17 ElNath kernel: [<c11fa78a>] ? btrfs_read_block_groups+0x4aa/0x700 Oct 31 17:43:17 ElNath kernel: [<c1205ae5>] ? open_ctree+0xfe5/0x1430 Oct 31 17:43:17 ElNath kernel: [<c12a0577>] ? strlcpy+0x37/0x60 Oct 31 17:43:17 ElNath kernel: [<c11e728a>] ? btrfs_get_sb+0x5ca/0x790 Oct 31 17:43:17 ElNath kernel: [<c10c70e1>] ? dput+0x91/0x120 Oct 31 17:43:17 ElNath kernel: [<c10bde6e>] ? path_to_nameidata+0x1e/0x50 Oct 31 17:43:17 ElNath kernel: [<c10cc23d>] ? alloc_vfsmnt+0x6d/0x110 Oct 31 17:43:17 ElNath kernel: [<c109a093>] ? kstrdup+0x43/0x60 Oct 31 17:43:17 ElNath kernel: [<c10b7942>] ? vfs_kern_mount+0x72/0x1c0 Oct 31 17:43:17 ElNath kernel: [<c10ca745>] ? get_fs_type+0x35/0xc0 Oct 31 17:43:17 ElNath kernel: [<c10b7aee>] ? do_kern_mount+0x3e/0xe0 Oct 31 17:43:17 ElNath kernel: [<c10cd2a8>] ? do_mount+0x488/0x6d0 Oct 31 17:43:17 ElNath kernel: [<c1099e72>] ? strndup_user+0x62/0xa0 Oct 31 17:43:17 ElNath kernel: [<c10cd57c>] ? sys_mount+0x8c/0xb0 Oct 31 17:43:17 ElNath kernel: [<c17495cc>] ? syscall_call+0x7/0xb Oct 31 17:43:17 ElNath kernel: Code: 44 8b 55 dc 89 34 da 89 7c da 04 8b 4d d8 83 c3 01 89 5d ec 8b 49 18 89 4d bc e9 70 fd ff ff 89 d0 31 d2 f7 f7 89 d1 89 c6 eb 80 <0f> 0b eb fe 66 90 ba 2c 0b 00 00 b8 a6 a4 87 c1 e8 21 e5 df ff Oct 31 17:43:17 ElNath kernel: EIP: [<c1231d1a>] btrfs_rmap_block+0x3ba/0x3f0 SS:ESP 0068:d1befc24 Oct 31 17:43:17 ElNath kernel: ---[ end trace f68618b8246ff4aa ]--- What goes wrong? How much free place needs "btrfs-convert"? Viele Gruesse! Helmut -- 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 vger.kernel.org/majordomo-info.html
Hallo, I wrote am 31.10.10 zum Thema btrfs-convert fails:> I''ve tried to convert a 12 GByte ext2 partition (nearly full, 280 > MByte free) with btrfs-convert.> After about 15 minutes (700-MHz-CPU) the system tells> ... > creating ext2fs image file > cleaning up system chunk > btrfs-convert: extent-tree.c:2529: btrfs_reserve_extent: Assertion > `!(ret)'' failed > AbgebrochenNext try: about 11 GByte data, about 690 MByte free: same crash.> "syslogd" tells> Oct 31 17:43:16 ElNath kernel: ------------[ cut here ]------------ > Oct 31 17:43:17 ElNath kernel: kernel BUG at fs/btrfs/volumes.c:2831! > Oct 31 17:43:17 ElNath kernel: invalid opcode: 0000 [#1] > Oct 31 17:43:17 ElNath kernel: last sysfs file: > /sys/devices/pci0000:00/0000:00:04.0/0000:08:02.0/0000:09:00.0/class[etc.] These syslogd messages come when I try to mount the incompletely converted partition. And then the system needs to be restarted ... mounting doesn''t work, "halt" or "reboot" doesn''t work. ------------------------------------------------ Another experiment: when the partition (about 11.7 GByte) is filled with about 9 GByte data, converting works fine. How much free space needs "btrfs-convert"? Does it need xx GByte, or does it need yy percent? Depends this free space on the number of files? I have filled my testing partition with *.iso images, 2 to 4 files. Viele Gruesse! Helmut -- 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 vger.kernel.org/majordomo-info.html
On Sun, Oct 31, 2010 at 11:55 PM, Helmut Hullen <Hullen@t-online.de> wrote:> Hallo, linux-btrfs, > > I''ve tried to convert a 12 GByte ext2 partition (nearly full, 280 MByte > free) with btrfs-convert. > > After about 15 minutes (700-MHz-CPU) the system tells > > ... > creating ext2fs image file > cleaning up system chunk > btrfs-convert: extent-tree.c:2529: btrfs_reserve_extent: Assertion > `!(ret)'' failed > AbgebrochenTry btrfs-convert -r /dev/xxx, hopefully it will recover your ext2. Yan, Zheng -- 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 vger.kernel.org/majordomo-info.html
Hallo, Yan, Du meintest am 01.11.10:>> I''ve tried to convert a 12 GByte ext2 partition (nearly full, 280 >> MByte free) with btrfs-convert. >> >> After about 15 minutes (700-MHz-CPU) the system tells >> >> ... >> creating ext2fs image file >> cleaning up system chunk >> btrfs-convert: extent-tree.c:2529: btrfs_reserve_extent: Assertion >> `!(ret)'' failed >> Abgebrochen> Try btrfs-convert -r /dev/xxx, hopefully it will recover your ext2.Restoring is (now) no problem, I''m still testing. But in some days (or weeks) I want to convert a partition with 1,5 TByte (which has no backup) ... Viele Gruesse! Helmut -- 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 vger.kernel.org/majordomo-info.html
Hi Helmut, don''t use btrfs for important files if you got no backup yet. It''s quite stable and a lot of ppl don''t have problem with it, but there are some cases where it could be very ugly, like a powerloss while writing etc. Regards, Felix Am 01 Nov 2010 09:02:00 +0100 schrieb "Helmut Hullen" <Hullen@t-online.de>:> Hallo, Yan, > > Du meintest am 01.11.10: > > >> I''ve tried to convert a 12 GByte ext2 partition (nearly full, 280 > >> MByte free) with btrfs-convert. > >> > >> After about 15 minutes (700-MHz-CPU) the system tells > >> > >> ... > >> creating ext2fs image file > >> cleaning up system chunk > >> btrfs-convert: extent-tree.c:2529: btrfs_reserve_extent: Assertion > >> `!(ret)'' failed > >> Abgebrochen > > > Try btrfs-convert -r /dev/xxx, hopefully it will recover your ext2. > > Restoring is (now) no problem, I''m still testing. But in some days > (or weeks) I want to convert a partition with 1,5 TByte (which has > no backup) ... > > Viele Gruesse! > Helmut > -- > 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 vger.kernel.org/majordomo-info.html-- 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 vger.kernel.org/majordomo-info.html
Hallo, Felix, Du meintest am 01.11.10:>>>> btrfs-convert: extent-tree.c:2529: btrfs_reserve_extent: >>>> Assertion `!(ret)'' failed >>>> Abgebrochen>>> Try btrfs-convert -r /dev/xxx, hopefully it will recover your ext2.>> Restoring is (now) no problem, I''m still testing. But in some days >> (or weeks) I want to convert a partition with 1,5 TByte (which has >> no backup) ...> don''t use btrfs for important files if you got no backup yet. It''s > quite stable and a lot of ppl don''t have problem with it, but there > are some cases where it could be very ugly, like a powerloss while > writing etc.In these special cases: no big problem. The 1.5 TByte partition contains my videos (at least most of them), and there is a kind of backup on another machine in the family (some kilometers away). And my machine works behind an UPS. But what about a shutdown initiated by this UPS after (p.e.) 3 minutes powerloss? Viele Gruesse! Helmut -- 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 vger.kernel.org/majordomo-info.html
On Mon, Nov 1, 2010 at 5:55 AM, Helmut Hullen <Hullen@t-online.de> wrote:> Hallo, Felix, > > Du meintest am 01.11.10: > >>>>> btrfs-convert: extent-tree.c:2529: btrfs_reserve_extent: >>>>> Assertion `!(ret)'' failed >>>>> Abgebrochen > >>>> Try btrfs-convert -r /dev/xxx, hopefully it will recover your ext2. > >>> Restoring is (now) no problem, I''m still testing. But in some days >>> (or weeks) I want to convert a partition with 1,5 TByte (which has >>> no backup) ... > >> don''t use btrfs for important files if you got no backup yet. It''s >> quite stable and a lot of ppl don''t have problem with it, but there >> are some cases where it could be very ugly, like a powerloss while >> writing etc. > > In these special cases: no big problem. The 1.5 TByte partition contains > my videos (at least most of them), and there is a kind of backup on > another machine in the family (some kilometers away). > > And my machine works behind an UPS. But what about a shutdown initiated > by this UPS after (p.e.) 3 minutes powerloss?Problems resulting from powerloss should be limited to faulty hardware (in which case you''re screwed regardless of the filesystem) and lack of barrier support (which should show up in dmesg soon after the first write goes to disk). I''m told that the devs do quite a bit of crash testing, and I have yet to lose a btrfs filesystem to a powerloss on a variety of crappy hardware. -- 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 vger.kernel.org/majordomo-info.html
On 01/11/10 23:20, cwillu wrote:> Problems resulting from powerloss should be limited to faulty hardware > (in which case you''re screwed regardless of the filesystem) and lack > of barrier support (which should show up in dmesg soon after the first > write goes to disk).Note that for until 2.6.31 the DM layer didn''t support barrier operations fully, according to this email: spinics.net/lists/linux-ext4/msg15789.html # Barrier infrastructure started to get added to the DM # core in 2.6.30, see: git.kernel.org/linus/af7e466a1ace # # But barriers were not enabled for all DM targets (_except_ # dm-multipath) until 2.6.31. So 2.6.31''s dm-crypt does support # barriers, see: git.kernel.org/linus/647c7db14ef9 # # If the underlying device(s) support barriers DM should # faithfully pass them on (again except for dm-multipath). # Also, requests with barriers that result in -EOPNOTSUPP # are retried without the barrier, see: # git.kernel.org/linus/51aa32284958 cheers, Chris -- Chris Samuel : csamuel.org : Melbourne, VIC -- 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 vger.kernel.org/majordomo-info.html