after upgrading from coreutils 8.9 to 8.10, the sparse handling in cp is silently breaking on btrfs filesystems with the compressed option enabled. using --sparse=never works fine, but "auto" or "always" tend to fail. the cp/fiemap-2 test catches the issue nicely. to reproduce (i'm using linux-2.6.37): file=btrfs.img mntp=/mnt/tmp/ dd if=/dev/zero of=$file bs=1M count=0 seek=1024 mkfs.btrfs $file mount -t btrfs -o compress $file $mntp cd $mntp tar xf ~/coreutils-8.10.tar.xz cd coreutils-8.10/tests ./cp/fiemap-2 and this last test shows: Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/loop0 btrfs 1048576 20420 377028 6% /mnt/tmp 0+0 records in 0+0 records out 0 bytes (0 B) copied, 2.7598e-05 s, 0.0 kB/s k k2 differ: byte 1, line 1 255+0 records in 255+0 records out 261120 bytes (261 kB) copied, 0.00310926 s, 84.0 MB/s -mike