New answers tagged sparse-files
Looks like my manpage of fallocate(1) command line tool is out of date. There is the appropriate option --punch-hole (-p): fallocate -p -o 10G -l 1G qqq
This tool written in C may be helpful for you. It is not a standard tool, but it is very simple and easy to compile. You are right that cp doesn't support sparse output to block devices (confirmed in man page).
Top 50 recent answers are included