On Wed 18 Dec 2013, Kevin Korb wrote: > Also, rsync's -c is rather dumb as it computes checksums for files > that have different sizes so they can't possibly be the same and it > computes checksums for files that only exist on one end and therefore > has nothing to compare them to.
The list of files on the source is generated and transferred to the destination before rsync knows that the destination file is different. To make rsync checksum only the files with same size would mean changing the filesystem scan to a two-pass thing (send the list of filenames plus their sizes, wait for the destination to tell you what files need checksumming, do that and send the filenames again, now with checksum data), and retransferring file metadata again. Remember that rsync is basically a tool optimized for very fast local IO and much lower network bandwidth, so such a two-pass feature could possibly greatly increase the network traffic overhead (i.e. traffic not related to file data itself). That said, I'm sure that if someone builds a patch to implement something like that via yet another commandline option, no one would complain :-) Note that transferred files are always checksummed anyway, as described at the end of the -c option manpage description. Paul -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html