diff options
Diffstat (limited to 'rdiff-backup/rdiff_backup/eas_acls.py')
-rw-r--r-- | rdiff-backup/rdiff_backup/eas_acls.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/rdiff-backup/rdiff_backup/eas_acls.py b/rdiff-backup/rdiff_backup/eas_acls.py index abb8ece..aa87606 100644 --- a/rdiff-backup/rdiff_backup/eas_acls.py +++ b/rdiff-backup/rdiff_backup/eas_acls.py @@ -74,7 +74,16 @@ class ExtendedAttributes: def clear_rp(self, rp): """Delete all the extended attributes in rpath""" for name in rp.conn.xattr.listxattr(rp.path): - rp.conn.xattr.removexattr(rp.path, name) + try: + rp.conn.xattr.removexattr(rp.path, name) + except IOError, exc: + # SELinux attributes cannot be removed, and we don't want + # to bail out or be too noisy at low log levels. + if exc[0] == errno.EACCES: + log.Log("Warning: unable to remove xattr %s from %s" + % (name, rp.path), 7) + continue + else: raise def write_to_rp(self, rp): """Write extended attributes to rpath rp""" |