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,
mirror-admin@lists.fedoraproject.org