Hello, In evaluating btrfs for my use case, I stumbled on what appears to be a bug. Originally, I created two lvm logical volumes on the same physical device each with a btrfs file system. I then cloned the linux kernel into the first one, then attempted to do a btrfs send/receive to "backup" the first filesystem. It was my intent to continue on and experiment with incremental backups using btrfs. However, the first time I ran the 'receive' command it failed with the following error:
mkfile o25030-9-0 rename o25030-9-0 -> linux/drivers/clk/clk-axi-clkgen.c ERROR: rename o25030-9-0 -> linux/drivers/clk/clk-axi-clkgen.c failed: No space left on device If I manually delete the subvolume create above, and re-run the transfer, things seem fine. Further, this doesn't happen every time, but it does happen frequently. I created the filesystems with these commands: # lvcreate -n test-btrfs2 -L50G storage /dev/sdc1 # mkfs.btrfs -f /dev/storage/test-btrfs2 # pvs PV VG Fmt Attr PSize PFree /dev/sda3 storage lvm2 a-- 463.52g 147.52g /dev/sdb1 storage lvm2 a-- 465.76g 0 /dev/sdc1 storage lvm2 a-- 476.94g 99.99g # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert btrfs storage -wi-ao---- 742.70g slow storage -wi-ao---- 300.00g swap storage -wi-ao---- 16.00g test-btrfs storage -wi-a----- 50.00g test-btrfs2 storage -wi-ao---- 50.00g # mount /dev/storage/test-btrfs2 btrfs2 which results in mount options on my system: /dev/mapper/storage-test--btrfs2 on /home/sconnor/tmp/btrfs2 type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/) # btrfs --version btrfs-progs v4.9 # uname -a Linux pylon 4.8.13-1-ARCH #1 SMP PREEMPT Fri Dec 9 07:24:34 CET 2016 x86_64 GNU/Linux Attached is a script which reproduces this issue within 30-60 seconds on my system. I found that it was unnecessary to re-do the send step, so I am only testing on one FS as below. If it isn't obvious, the script attached is not very good, and requires things to be setup manually before execution. I can share snap_1.bs.gz, and the btrfs receive log file file upon request. Thanks, Seamus
test.sh
Description: Bourne shell script