From a76588281b1748937655aae6ad215cf3a08e0cb8 Mon Sep 17 00:00:00 2001 From: dgaudet Date: Tue, 28 Jun 2005 04:47:42 +0000 Subject: bug#13476: must always compare device numbers when we compare inode numbers -- fix a non-fatal problem with hardlinks when a filesystem is moved to another device (and the inodes don't change). git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@593 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109 --- rdiff-backup/CHANGELOG | 4 ++++ rdiff-backup/rdiff_backup/rpath.py | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG index 85542d5..e452c96 100644 --- a/rdiff-backup/CHANGELOG +++ b/rdiff-backup/CHANGELOG @@ -12,6 +12,10 @@ Fix from Paul P Komkoff Jr for uid typo in text_to_entrytuple. bug#12726: fix regressing of devices while running as non-root -- zero length files are created as placeholders. +bug#13476: must always compare device numbers when we compare inode +numbers -- fix a non-fatal problem with hardlinks when a filesystem is +moved to another device (and the inodes don't change). + New in v0.13.6 (2005/04/07) --------------------------- diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py index 6ac1c2c..b03543c 100644 --- a/rdiff-backup/rdiff_backup/rpath.py +++ b/rdiff-backup/rdiff_backup/rpath.py @@ -294,7 +294,7 @@ class RORPath: pass # Don't compare gid/uid for symlinks elif key == 'atime' and not Globals.preserve_atime: pass elif key == 'ctime': pass - elif key == 'devloc' or key == 'nlink': pass + elif key == 'nlink': pass elif key == 'size' and not self.isreg(): pass elif key == 'ea' and not Globals.eas_active: pass elif key == 'acl' and not Globals.acls_active: pass @@ -306,7 +306,7 @@ class RORPath: other_name = other.data.get(key, None) if (other_name and other_name != "None" and other_name != self.data[key]): return None - elif (key == 'inode' and + elif ((key == 'inode' or key == 'devloc') and (not self.isreg() or self.getnumlinks() == 1 or not Globals.compare_inode or not Globals.preserve_hardlinks)): -- cgit v1.2.1