summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup
diff options
context:
space:
mode:
authorowsla <owsla@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2008-07-04 15:00:38 +0000
committerowsla <owsla@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2008-07-04 15:00:38 +0000
commitcb67046728b09d2f9e36ce106f82524b10bf3e3a (patch)
treec80b254e683571561dee75d92d53eac697db9b0f /rdiff-backup/rdiff_backup
parenta82f975652fdecb212806af58974823d8566107f (diff)
downloadrdiff-backup-cb67046728b09d2f9e36ce106f82524b10bf3e3a.tar.gz
Properly handle hardlink comparison when the metadata about a destination
hardlink has become corrupt. Closes Debian bug #486653. git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@908 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/rdiff_backup')
-rw-r--r--rdiff-backup/rdiff_backup/Hardlink.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/rdiff-backup/rdiff_backup/Hardlink.py b/rdiff-backup/rdiff_backup/Hardlink.py
index 1dddbbb..d0cb19f 100644
--- a/rdiff-backup/rdiff_backup/Hardlink.py
+++ b/rdiff-backup/rdiff_backup/Hardlink.py
@@ -103,7 +103,10 @@ def rorp_eq(src_rorp, dest_rorp):
# subsequent ones
_inode_index[src_key] = (index, remaining, None, None)
return 1
- return dest_key == get_inode_key(dest_rorp)
+ try:
+ return dest_key == get_inode_key(dest_rorp)
+ except KeyError:
+ return 0 # Inode key might be missing if the metadata file is corrupt
def islinked(rorp):
"""True if rorp's index is already linked to something on src side"""