FWIW, it looks like btrfs-convert is being dropped upstream. I just compiled mine from source, and it crashed after some heavy churning. The package description should be changed though (it explicitly mentions btrfs-convert). Here's a relevant thread:
“Warning: As of 4.0 kernels this feature is not often used or well tested anymore, and there have been some reports that the conversion doesn't work reliably. Feel free to try it out, but make sure you have backups.”
My backtrace was different, but also related to btrfs_reserve_extent(). I also attempted ext4 -> btrfs. I'll post the BT but it's hardly helpful:
# btrfs-convert /dev/sdc1
create btrfs filesystem:
blocksize: 4096
nodesize: 16384
features: extref, skinny-metadata (default)
creating ext2 image file
Unable to find block group for 0
Unable to find block group for 0
Unable to find block group for 0
extent-tree.c:2764: alloc_tree_block: BUG_ON `ret` triggered, value -28
btrfs-convert(+0x1c4f6)[0x558cfb6c54f6]
btrfs-convert(btrfs_alloc_free_block+0x1ff)[0x558cfb6cabaf]
btrfs-convert(+0x14d63)[0x558cfb6bdd63]
btrfs-convert(btrfs_search_slot+0x2af)[0x558cfb6bec8f]
btrfs-convert(btrfs_csum_file_block+0x48f)[0x558cfb6d0c1f]
btrfs-convert(+0xd944)[0x558cfb6b6944]
btrfs-convert(main+0x19d1)[0x558cfb6b5df1]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7f75d48fcb97]
btrfs-convert(_start+0x2a)[0x558cfb6b64da]
Aborted
FWIW, it looks like btrfs-convert is being dropped upstream. I just compiled mine from source, and it crashed after some heavy churning. The package description should be changed though (it explicitly mentions btrfs-convert). Here's a relevant thread:
https:/ /bugs.debian. org/cgi- bin/bugreport. cgi?bug= 854489
referring to the note in https:/ /btrfs. wiki.kernel. org/index. php/Conversion_ from_Ext3:
“Warning: As of 4.0 kernels this feature is not often used or well tested anymore, and there have been some reports that the conversion doesn't work reliably. Feel free to try it out, but make sure you have backups.”
My backtrace was different, but also related to btrfs_reserve_ extent( ). I also attempted ext4 -> btrfs. I'll post the BT but it's hardly helpful:
# btrfs-convert /dev/sdc1 +0x1c4f6) [0x558cfb6c54f6 ] btrfs_alloc_ free_block+ 0x1ff)[ 0x558cfb6cabaf] +0x14d63) [0x558cfb6bdd63 ] btrfs_search_ slot+0x2af) [0x558cfb6bec8f ] btrfs_csum_ file_block+ 0x48f)[ 0x558cfb6d0c1f] +0xd944) [0x558cfb6b6944 ] main+0x19d1) [0x558cfb6b5df1 ] 64-linux- gnu/libc. so.6(__ libc_start_ main+0xe7) [0x7f75d48fcb97 ] _start+ 0x2a)[0x558cfb6 b64da]
create btrfs filesystem:
blocksize: 4096
nodesize: 16384
features: extref, skinny-metadata (default)
creating ext2 image file
Unable to find block group for 0
Unable to find block group for 0
Unable to find block group for 0
extent-tree.c:2764: alloc_tree_block: BUG_ON `ret` triggered, value -28
btrfs-convert(
btrfs-convert(
btrfs-convert(
btrfs-convert(
btrfs-convert(
btrfs-convert(
btrfs-convert(
/lib/x86_
btrfs-convert(
Aborted