summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2014-01-19 12:24:01 -0800
committerWayne Davison <wayned@samba.org>2014-01-19 12:24:01 -0800
commitbba31ddf122c18ec88fe26a30c5ab9844d41ace7 (patch)
treec5610998051ba67ecb3f8796d7d8147e3a54cc9a
parent31825a94b3bd531bbe6cfc1203708ecec9484364 (diff)
downloadrsync-bba31ddf122c18ec88fe26a30c5ab9844d41ace7.tar.gz
Avoid ACL and/or xattr lookups on IS_MISSING_FILE() entries.
Fixes bug 10381.
-rw-r--r--acls.c3
-rw-r--r--xattrs.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/acls.c b/acls.c
index 23bdf86a..3f277b8e 100644
--- a/acls.c
+++ b/acls.c
@@ -560,7 +560,8 @@ int get_acl(const char *fname, stat_x *sxp)
if (!preserve_devices)
#endif
return 0;
- }
+ } else if (IS_MISSING_FILE(sxp->st))
+ return 0;
if (get_rsync_acl(fname, sxp->acc_acl, SMB_ACL_TYPE_ACCESS,
sxp->st.st_mode) < 0) {
diff --git a/xattrs.c b/xattrs.c
index 01d30e4b..7e31422c 100644
--- a/xattrs.c
+++ b/xattrs.c
@@ -308,7 +308,8 @@ int get_xattr(const char *fname, stat_x *sxp)
if (!preserve_devices)
#endif
return 0;
- }
+ } else if (IS_MISSING_FILE(sxp->st))
+ return 0;
if (rsync_xal_get(fname, sxp->xattr) < 0) {
free_xattr(sxp);