Package: rsync Version: 3.1.2-2 Severity: important Tags: upstream If the destination of an rsync transfer is not writeable or runs out of free space, the transfer does not abort. Instead, even the next file is happily processed and errors are delayed until the very end:
% sudo lvcreate -L 512M -n rsynctest albatross_hdd
Logical volume "rsynctest" created.
% sudo mkfs.ext4 /dev/albatross_hdd/rsynctest
[…]
% sudo mount /dev/albatross_hdd/rsynctest /mnt
% cd /tmp; mkdir rsynctest; cd rsynctest
% dd if=/dev/urandom of=one bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 4,48301 s, 240 MB/s
% ln one two
% rsync -Pvr /tmp/rsynctest/ /mnt
sending incremental file list
one
1,073,741,824 100% 398.74MB/s 0:00:02 (xfr#1, to-chk=1/3)
two
1,073,741,824 100% 333.88MB/s 0:00:03 (xfr#2, to-chk=0/3)
rsync: mkstemp "/mnt/.one.REoYOa" failed: Permission denied (13)
rsync: mkstemp "/mnt/.two.t6Pwx8" failed: Permission denied (13)
sent 2,148,008,118 bytes received 257 bytes 390,546,977.27 bytes/sec
total size is 2,147,483,648 speedup is 1.00
rsync error: some files/attrs were not transferred (see previous errors)
(code 23) at main.c(1196) [sender=3.1.2]
There, 2G of data transferred pointlessly. Or this:
% rsync -Pvr /tmp/rsynctest/ /mnt
sending incremental file list
one
1,073,741,824 100% 251.77MB/s 0:00:04 (xfr#1, to-chk=1/3)
two
1,073,741,824 100% 328.21MB/s 0:00:03 (xfr#2, to-chk=0/3)
rsync: write failed on "/mnt/one": No space left on device (28)
rsync error: error in file IO (code 11) at receiver.c(393) [receiver=3.1.2]
And here, 1G of data transferred pointlessly.
This hasn't exactly caused data loss, but certainly a lot of time
was wasted.
-- System Information:
Debian Release: buster/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 4.12.0-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_NZ, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8), LANGUAGE=en_NZ:en
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages rsync depends on:
ii base-files 10
ii init-system-helpers 1.49
ii libacl1 2.2.52-3+b1
ii libattr1 1:2.4.47-2+b2
ii libc6 2.24-17
ii libpopt0 1.16-10+b2
ii lsb-base 9.20170808
rsync recommends no packages.
Versions of packages rsync suggests:
ii openssh-client 1:7.5p1-10
ii openssh-server 1:7.5p1-10
-- debconf-show failed
--
.''`. martin f. krafft <[email protected]> @martinkrafft
: :' : proud Debian developer
`. `'` http://people.debian.org/~madduck
`- Debian - when you have better things to do than fixing systems
digital_signature_gpg.asc
Description: Digital GPG signature (see http://martin-krafft.net/gpg/sig-policy/999bbcc4/current)

