fix from upstream for using --delete with acls/xattrs http://www.mail-archive.com/rsync@lists.samba.org/msg17506.html http://bugs.gentoo.org/158130 --- rsync/flist.c +++ rsync/flist.c @@ -998,7 +998,7 @@ file->mode = tweak_mode(file->mode, chmod_modes); #ifdef SUPPORT_ACLS - if (preserve_acls) { + if (preserve_acls && f >= 0) { sx.st.st_mode = file->mode; sx.acc_acl = sx.def_acl = NULL; if (get_acl(fname, &sx) < 0) @@ -1006,7 +1006,7 @@ } #endif #ifdef SUPPORT_XATTRS - if (preserve_xattrs) { + if (preserve_xattrs && f >= 0) { sx.xattr = NULL; if (get_xattr(fname, &sx) < 0) return NULL; @@ -1021,20 +1021,20 @@ flist->files[flist->count++] = file; send_file_entry(file, f); #ifdef SUPPORT_ACLS - if (preserve_acls) + if (preserve_acls && f >= 0) send_acl(&sx, f); #endif #ifdef SUPPORT_XATTRS - if (preserve_xattrs) + if (preserve_xattrs && f >= 0) send_xattr(&sx, f); #endif } else { #ifdef SUPPORT_ACLS - if (preserve_acls) + if (preserve_acls && f >= 0) free_acl(&sx); #endif #ifdef SUPPORT_XATTRS - if (preserve_xattrs) + if (preserve_xattrs && f >= 0) free_xattr(&sx); #endif }