rdiff-backup-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/eas_acls.py


From: Andrew Ferguson
Subject: [Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/eas_acls.py
Date: Sun, 09 Nov 2008 16:03:45 +0000

CVSROOT:        /sources/rdiff-backup
Module name:    rdiff-backup
Changes by:     Andrew Ferguson <owsla> 08/11/09 16:03:45

Modified files:
        .              : CHANGELOG 
        rdiff_backup   : eas_acls.py 

Log message:
        Handle ELOOP ("Too many levels of symbolic links") error when reading 
extended
        attributes from symlinks.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/CHANGELOG?cvsroot=rdiff-backup&r1=1.315&r2=1.316
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/eas_acls.py?cvsroot=rdiff-backup&r1=1.37&r2=1.38

Patches:
Index: CHANGELOG
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/CHANGELOG,v
retrieving revision 1.315
retrieving revision 1.316
diff -u -b -r1.315 -r1.316
--- CHANGELOG   23 Oct 2008 16:31:09 -0000      1.315
+++ CHANGELOG   9 Nov 2008 16:03:44 -0000       1.316
@@ -1,6 +1,9 @@
 New in v1.2.3 (????/??/??)
 ---------------------------
 
+Handle ELOOP ("Too many levels of symbolic links") error when reading extended
+attributes from symlinks. Closes Savannah bug #24790. (Andrew Ferguson)
+
 Inform the user of which file has failed if an exception occurs during a
 rename operation. (Andrew Ferguson)
 

Index: rdiff_backup/eas_acls.py
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff_backup/eas_acls.py,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- rdiff_backup/eas_acls.py    27 Sep 2008 00:08:31 -0000      1.37
+++ rdiff_backup/eas_acls.py    9 Nov 2008 16:03:45 -0000       1.38
@@ -56,11 +56,12 @@
 
        def read_from_rp(self, rp):
                """Set the extended attributes from an rpath"""
-               try: attr_list = rp.conn.xattr.listxattr(rp.path, rp.issym())
+               try:
+                       attr_list = rp.conn.xattr.listxattr(rp.path, rp.issym())
                except IOError, exc:
                        if exc[0] in (errno.EOPNOTSUPP, errno.EPERM, 
errno.ETXTBSY):
                                return # if not supported, consider empty
-                       if exc[0] == errno.EACCES or exc[0] == errno.ENOENT:
+                       if exc[0] in (errno.EACCES, errno.ENOENT, errno.ELOOP):
                                log.Log("Warning: listattr(%s): %s" % 
(repr(rp.path), exc), 3)
                                return
                        raise
@@ -71,7 +72,9 @@
                        if not rp.isdir() and attr == 'com.apple.ResourceFork':
                                # Resource Fork handled elsewhere, except for 
directories
                                continue
-                       try: self.attr_dict[attr] = 
rp.conn.xattr.getxattr(rp.path, attr, rp.issym())
+                       try:
+                               self.attr_dict[attr] = \
+                                       rp.conn.xattr.getxattr(rp.path, attr, 
rp.issym())
                        except IOError, exc:
                                # File probably modified while reading, just 
continue
                                if exc[0] == errno.ENODATA: continue




reply via email to

[Prev in Thread] Current Thread [Next in Thread]