summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorowsla <owsla@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2007-07-26 14:12:11 +0000
committerowsla <owsla@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2007-07-26 14:12:11 +0000
commit0e5deee4c3529fdbaf54e928247a4fd6f9c34a83 (patch)
tree08599c55bdaccedbf0640334d76257bd3fa57aeb
parent14408efd19efe0a9b5daeccce6961b548710f040 (diff)
downloadrdiff-backup-0e5deee4c3529fdbaf54e928247a4fd6f9c34a83.tar.gz
Fix "too many open files" bug when handling large directories.
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@832 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
-rw-r--r--rdiff-backup/CHANGELOG3
-rw-r--r--rdiff-backup/rdiff_backup/compare.py2
2 files changed, 4 insertions, 1 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG
index 8a5a6d2..5ed90d4 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -1,6 +1,9 @@
New in v1.1.13 (????/??/??)
---------------------------
+Fix "too many open files" bug when handling large directories. Patch
+from Anonymous in Savannah bug #20528.
+
New options: --tempdir and --remote-tempdir. The first one sets the
directory that rdiff-backup uses for temporary files on the local system.
The second adds the --tempdir option with the given path when invoking
diff --git a/rdiff-backup/rdiff_backup/compare.py b/rdiff-backup/rdiff_backup/compare.py
index e9884ed..e4897cf 100644
--- a/rdiff-backup/rdiff_backup/compare.py
+++ b/rdiff-backup/rdiff_backup/compare.py
@@ -224,7 +224,7 @@ class DataSide(backup.SourceStruct):
"""Return 0 if full compare of data matches, 1 otherwise"""
if src_rp.getsize() != repo_rorp.getsize(): return 1
return not robust.check_common_error(error_handler,
- rpath.cmpfileobj, (src_rp.open("rb"), repo_rorp.open("rb")))
+ rpath.cmp, (src_rp, repo_rorp))
for repo_rorp in repo_iter:
src_rp = src_root.new_index(repo_rorp.index)