Bug 13920 - --max-delete and dirs being replaced by symlinks on source
Summary: --max-delete and dirs being replaced by symlinks on source
Status: RESOLVED WONTFIX
Alias: None
Product: rsync
Classification: Unclassified
Component: core (show other bugs)
Version: 3.1.2
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Wayne Davison
QA Contact: Rsync QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-30 11:15 UTC by Ulrich Sibilller
Modified: 2020-04-05 16:51 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ulrich Sibilller 2019-04-30 11:15:57 UTC
We have a rsync setup that sync a huge tree on a daily basis. We run rsync like this:

rsync -av <src> <dest> --exclude=.. --delete-excluded --delete --max-delete 300000

This normally works fine, but recently a user removed a directory on the src and replaced it by a symlink. Rsync detects this, but fails to the update because:

[...]
2019/04/30 09:06:49 [20333] cannot delete non-empty directory: affected_dir
2019/04/30 09:06:49 [20333] could not make way for new symlink: affected_dir
[...]
2019/04/30 09:14:07 [20333] Deletions stopped due to --max-delete limit (310815 skipped)
2019/04/30 09:14:07 [20333] sent 581,286,513,565 bytes  received 44,091,121 bytes  31,142,989.03 bytes/sec
2019/04/30 09:14:07 [20333] total size is 212,543,263,427,406  speedup is 365.62
2019/04/30 09:14:07 [20333] rsync error: the --max-delete limit stopped deletions (code 25) at main.c(1178) [sender=3.1.2]

I think deleting these dirs should not be counted/limited for --max-delete.
Comment 1 Wayne Davison 2020-04-05 16:51:00 UTC
That's the whole purpose of the max-deletions code is to stop deleting if a lot of deletions are happening.