I've got a script that tries to rsync a file to an external harddisk.
-rw------- 1 libvirt-qemu libvirt-qemu 107390828544 15. Apr 15:07
vm.qcow2
In essence,
/usr/bin/time rsync -va --inplace --no-whole-file --block-size=65536
--progress --stats \
/var/lib/libvirt/images/vm.qcow2 /mnt/tmp3/vm.qcow2
That command takes quite a while (I guess checksumming the source file),
then starts transmitting;
sending incremental file list
vm.qcow2
5,477,040,128 5% 237.65MB/s 0:06:58
At that position rsync reproducible stops to transfer data; there's
no error message, the first rsync process just hangs with 100% CPU.
strace of the 3 processes only shows that the other two are waiting
for data on their socket; the "hanging" one is simply user-bound,
/proc/<pid>/stack is empty.
That happens with both 3.1.3-6 and 3.2.3-4.
Next time I'll try to have debug symbols installed and look at the
process via gdb - right now the file is identical, I copied it via
"cp -a".