Why is it necessary to use delete-delay explicitly? Conversely, why does rsync makes two scans of the local disk, one for the transfers and *another* for deletions with delete-after? Why doesn't it simply keep files that are not present in the source list in memory when it does the first scan and removes them after? Making a second disk scan can be pretty expensive. I also don't understand why it always writes the names of deleted files on disk (after a certain size) with delete-delay. I've been using it since going to version 3, and noticed that it writes a constant flux of about 100KB/s for 10 min during a large scan! That's really much more than I'd expect... Why can't we tell it to just hold the names in memory like is done with the sender list? This is related to a feature request: I'd like to have a way to make rsync just list the files that should be removed, instead of effectively deleting them. I need the list to remove them later however. This could be another option; maybe the implementation could be similar to what delete-delay already does?