Некогда товарищ t184256 утверждал, что это возможно. Но вот, наконец я провел эксперимент, вы можете повторить копипастом (от рута):
dd if=/dev/zero of=1.img bs=1M count=2048
dd if=/dev/zero of=2.img bs=1M count=4096
mkfs.btrfs --data raid0 1.img 2.img
losetup /dev/loop101 1.img
losetup /dev/loop102 2.img
mkdir /mnt/tmp
mount -t btrfs -o device=/dev/loop102 /dev/loop101 /mnt/tmp
cd /mnt/tmp
btrfs filesystem usage /mnt/tmp
Показывает «Free (estimated): 5.48GiB» – как и должно быть. Но стоит попробовать dd if=/dev/urandom bs=1M of=/mnt/tmp/rand
– и обана! пишется только 3.5 GiB. И записать туда больше ничего нельзя, вывод btrfs filesystem usage /mnt/tmp
показывает, что оставшиеся 2 GiB не аллоцированы:
Overall:
Device size: 6.00GiB
Device allocated: 4.00GiB
Device unallocated: 2.00GiB
Device missing: 0.00B
Used: 3.49GiB
Free (estimated): 2.00GiB (min: 1.00GiB)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 16.00MiB (used: 0.00B)
Data,RAID0: Size:3.48GiB, Used:3.48GiB
/dev/loop101 1.74GiB
/dev/loop102 1.74GiB
Metadata,RAID1: Size:256.00MiB, Used:4.12MiB
/dev/loop101 256.00MiB
/dev/loop102 256.00MiB
System,RAID1: Size:8.00MiB, Used:16.00KiB
/dev/loop101 8.00MiB
/dev/loop102 8.00MiB
Unallocated:
/dev/loop101 1.00MiB
/dev/loop102 2.00GiB
Это баг или фича?