+ union file_extras {
+--- old/rsync.yo
++++ new/rsync.yo
+@@ -334,6 +334,7 @@ to the detailed description below for a
+ -O, --omit-dir-times omit directories when preserving times
+ --super receiver attempts super-user activities
+ -S, --sparse handle sparse files efficiently
++ --preallocate posix_fallocate dest files before writing
+ -n, --dry-run show what would have been transferred
+ -W, --whole-file copy files whole (without rsync algorithm)
+ -x, --one-file-system don't cross filesystem boundaries
+@@ -926,6 +927,19 @@ NOTE: Don't use this option when the des
+ filesystem. It doesn't seem to handle seeks over null regions
+ correctly and ends up corrupting the files.
+
++dit(bf(--preallocate)) This tells the receiver to allocate each destination
++file to its eventual size using bf(posix_fallocate)(3) before writing data
++to the file. If the receiver is remote, this nonstandard option only works
++if the receiver also has the preallocation patch. Furthermore, this option
++only works if the receiver found the bf(posix_fallocate)(3) call at
++configure time.
++
++Without this option on MS Windows, very large destination files tend to be
++broken into thousands of fragments; advising Windows ahead of time of the
++eventual file size using this option usually reduces the number of
++fragments to one. However, on Linux, this option appears to just waste
++disk I/O.
++
+ dit(bf(-n, --dry-run)) This tells rsync to not do any file transfers,
+ instead it will just report the actions it would have taken.
+