Bei einem Hardware-Upgrade meines Heim-Servers wollte ich direkt das Root-Dateisystem von ext4 auf btrfs konvertieren. Dazu habe ich mit der Grml-Live-CD via Ventoy (sehr empfehlenswert!) gebootet und btrfs-convert gestartet.

Leider verlief die Konvertierung nicht erfolgreich und btrfs-convert gab nur folgenden, wenig aussagekräftigen, Output:

root@grml ~ # btrfs-convert /dev/nvme0n1p2 
create btrfs filesystem:
	blocksize: 4096
	nodesize:  16384
	features:  extref, skinny-metadata (default)
	checksum:  crc32c
creating ext2 image file
creating btrfs metadata
Unable to find block group for 0459930]
Unable to find block group for 0
Unable to find block group for 0
ctree.c:2272: split_leaf: BUG_ON `1` triggered, value 1
btrfs-convert(+0x220ae)[0x560375f0b0ae]
btrfs-convert(+0x22149)[0x560375f0b149]
btrfs-convert(+0x24984)[0x560375f0d984]
btrfs-convert(btrfs_search_slot+0xe9a)[0x560375f0eedb]
btrfs-convert(btrfs_insert_empty_items+0x8a)[0x560375f0f2ad]
btrfs-convert(+0x11ed6)[0x560375efaed6]
btrfs-convert(btrfs_insert_dir_item+0x96)[0x560375efb261]
btrfs-convert(convert_insert_dirent+0x66)[0x560375ef94a4]
btrfs-convert(+0x11376)[0x560375efa376]
/lib/x86_64-linux-gnu/libext2fs.so.2(ext2fs_process_dir_block+0x1a3)[0x7f705162bdd3]
/lib/x86_64-linux-gnu/libext2fs.so.2(+0x18fb0)[0x7f7051626fb0]
/lib/x86_64-linux-gnu/libext2fs.so.2(ext2fs_dir_iterate2+0x126)[0x7f705162c1f6]
btrfs-convert(+0x1172e)[0x560375efa72e]
btrfs-convert(main+0x19a3)[0x560375ef7273]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb)[0x7f70513f0e0b]
btrfs-convert(_start+0x2a)[0x560375ef761a]
[1]    5073 abort      btrfs-convert /dev/nvme0n1p2

Ich hatte daraufhin versucht btrfs-progs zu updaten (auf 5.10 und dann 5.15), aber das brachte leider auch keine Besserung.

Schlussendlich lag es einfach daran, dass nicht genügend freier Speicher auf der entsprechenden Partition verfügbar war (etwa 12 von 80 GB). Nach einer Vergrößerung der Partition (bei mir auf 1 TB) lief dann aber alles problemlos:

root@grml ~ # btrfs-convert /dev/nvme0n1p2 
create btrfs filesystem:
	blocksize: 4096
	nodesize:  16384
	features:  extref, skinny-metadata (default)
	checksum:  crc32c
creating ext2 image file
creating btrfs metadata
copy inodes [O] [   1728526/   1459930]
conversion complete

Grundsätzlich muss ich mich wohl an die Handhabung von btrfs noch ein wenig gewöhnen, gerade weil ich in letzter Zeit eher mit ZFS arbeite. btrfs bietet eben den Vorteil direkt im Kernel integriert zu sein.

Categories:

Noch keine Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert