Bug 10381 - --acls and --xattrs clash with --delete-missing-args
--acls and --xattrs clash with --delete-missing-args
Status: RESOLVED FIXED
Product: rsync
Classification: Unclassified
Component: core
3.1.0
All All
: P5 normal
: ---
Assigned To: Wayne Davison
Rsync QA Contact
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-01-15 11:07 UTC by Bo Lindbergh
Modified: 2014-01-19 20:25 UTC (History)
0 users

See Also:


Attachments
Don't try to get ACLs or xattrs for missing files when --delete-missing-args is in effect. (1.02 KB, patch)
2014-01-15 11:10 UTC, Bo Lindbergh
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bo Lindbergh 2014-01-15 11:07:43 UTC
When missing files are to be passed through to the receiver, the sender
tries to get the ACL and xattrs even for a missing file.  This obviously
fails, the file is skipped, and the deletion doesn't happen.

The attached patch fixes the problem minimally and protocol-compatibly
by lower-level tweaking; ideally, the knowledge that st_mode == 0
means a missing file ought to be restricted to flist.c
Comment 1 Bo Lindbergh 2014-01-15 11:10:04 UTC
Created attachment 9595 [details]
Don't try to get ACLs or xattrs for missing files when --delete-missing-args is in effect.
Comment 2 Wayne Davison 2014-01-19 20:25:38 UTC
Nice catch.  I've made the same fix as yours, just using a new IS_MISSING_FILE(statbuf) define to at least make the st_mode == 0 check a little clearer.  Thanks for both the bug-report and the patch!