summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/rpath.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/rdiff_backup/rpath.py')
-rw-r--r--rdiff-backup/rdiff_backup/rpath.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py
index 7b71ff1..dbb49f6 100644
--- a/rdiff-backup/rdiff_backup/rpath.py
+++ b/rdiff-backup/rdiff_backup/rpath.py
@@ -125,7 +125,17 @@ def copy_reg_file(rpin, rpout, compress = 0):
rpout.setdata()
return v
except AttributeError: pass
- return rpout.write_from_fileobj(rpin.open("rb"), compress = compress)
+ try:
+ return rpout.write_from_fileobj(rpin.open("rb"), compress = compress)
+ except IOError, e:
+ if (e.errno == errno.ERANGE):
+ log.Log.FatalError("'IOError - Result too large' while reading %s. "
+ "If you are using a Mac, this is probably "
+ "the result of HFS+ filesystem corruption. "
+ "Please exclude this file from your backup "
+ "before proceeding." % rpin.path)
+ else:
+ raise
def cmp(rpin, rpout):
"""True if rpin has the same data as rpout