To all fellow mirror maintainers,
I recently upgraded from fedora 30 to 32 and the past few weeks I
had qfm fail on me due to rsync 3.1.3 with the following error
"rsync: write failed on" [...] "Success (0)"
[...] "error in file IO (code 11)"
The behavior I experienced is rsync doing its job and then
outputting the error, always on the same file, and stayed in a zombie state
for hours doing nothing thus preventing next schedule to run and leaving the
mirror with outdated data.
fedora/linux/development/rawhide/Everything/aarch64/debug/tree/repodata/3d3b
effb8a292897a20c08a2a5b39ff820b9a48d14399d28240cd5c917813d54-filelists.xml.z
ck
My qfm conf has the option RSYNCOPTS enabled to specify a password
file.
After many hours of investigation I found that rsync is buggy when
combining the S and --preallocate parameters which happens with the default
values provided in the conf:
"# RSYNCOPTS=(-aSH -f 'R .~tmp~' --stats --preallocate
--delay-updates --out-format='@ %i %n%L')"
See:
https://bugzilla.samba.org/show_bug.cgi?id=13320 or search for
commit f3873b3d88b61167b106e7b9227a20147f8f6197
Removing the --preallocate from the rsync options resolved the
situation. I preferred to keep the efficient sparse to limit bandwidth
usage.
It may be a good thing for admins to double check their
configuration and review qfm logs to see if the mirror(s) they manage is/are
affected.
Regards,