Can rsync assume that the destination directory is empty ?

Arnaud Aujon Chevallier arnaud at
Thu Jun 9 10:35:21 UTC 2016

Thanks for your answer,

I ran some more test and it show that the lstat calls are only 
responsible for 3.7 % of the total time.

So we could avoid about a third of them (the errors numbers), which will 
be about 1%, not very interesting :)

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------

   3.74    1.792339           1   2088744    693051 lstat

Le 09/06/2016 à 12:29, Kevin Korb a écrit :
> Actually, don't do --ignore-times.  Even if it did prevent the stat
> calls it would also tell rsync to not care about matching files in the
> --link-dest dir which would be very bad.
> On 06/09/2016 06:27 AM, Kevin Korb wrote:
>> There isn't an option for that and it isn't actually required that the
>> target directory be empty (just a good idea).  Plus it has to do the
>> stat calls on the other end anyway so I doubt there would be much
>> performance benefit.
>> Maybe --ignore-times would cause it to not look but I kinda doubt it and
>> I am too tired to do an strace right now ;)
>> On 06/09/2016 05:32 AM, Arnaud Aujon Chevallier wrote:
>>> Hello,
>>> I'm currently using rsync to backup up to 1 TB of small files of
>>> relatively small files (hundreds of Ko mostly)
>>> My backup strategy is to use a full backup and then backup the diff
>>> every day using hardlink with the previous backup. This means that each
>>> time I use rsync, the destination directory is empty.
>>> Using strace, I can see that rsync call a 'lstat' command to try to see
>>> if the file already exists in my destination directory. Is there an
>>> option to tell rsync that the destination directory is empty ?
>>> Do you think that avoiding this call can improve rsync performances in
>>> this specific case ?
>>> I tried reading the source code, but I'm not exactly sure where this
>>> lstat call happens.
>>> Thanks a lot,
>>> Arnaud Aujon Chevallier

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the rsync mailing list