Package: rdiff-backup Version: 1.2.8-7 Severity: normal Tags: upstream patch
Rdiff-backup crashes with IO error when trying to backup files from EncFS. Steps to reproduce: # mkdir /tmp/original /tmp/cryptraw # touch original/aa original/bbb # encfs --reverse /tmp/original /tmp/cryptraw ... fill out as you want .. # rdiff-backup cryptraw cryptbackup Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 30, in <module> rdiff_backup.Main.error_check_Main(sys.argv[1:]) File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 304, in error_check_Main try: Main(arglist) File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 324, in Main take_action(rps) File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 280, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 334, in Backup rpout.conn.fs_abilities.backup_set_globals(rpin, force) File "/usr/lib/python2.7/dist-packages/rdiff_backup/fs_abilities.py", line 920, in backup_set_globals src_fsa = rpin.conn.fs_abilities.get_readonly_fsa('source', rpin) File "/usr/lib/python2.7/dist-packages/rdiff_backup/fs_abilities.py", line 611, in get_readonly_fsa return FSAbilities(desc_string).init_readonly(rp) File "/usr/lib/python2.7/dist-packages/rdiff_backup/fs_abilities.py", line 132, in init_readonly self.set_case_sensitive_readonly(rp) File "/usr/lib/python2.7/dist-packages/rdiff_backup/fs_abilities.py", line 354, in set_case_sensitive_readonly self.case_sensitive = test_triple(*triple) File "/usr/lib/python2.7/dist-packages/rdiff_backup/fs_abilities.py", line 341, in test_triple swapped_rp = dir_rp.append(swapped) File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 1151, in append return self.__class__(self.conn, self.base, self.index + (ext,)) File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 884, in __init__ else: self.setdata() File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 909, in setdata self.data = self.conn.rpath.make_file_dict(self.path) File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 287, in make_file_dict return C.make_file_dict(filename) OSError: [Errno 5] Input/output error: 'cryptraw/8z8JbxxZM0Q1NGgMqN9iIdHG' -- System Information: Debian Release: 7.2 APT prefers stable-updates APT policy: (900, 'stable-updates'), (900, 'stable'), (800, 'proposed- updates'), (600, 'testing'), (300, 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.8-2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages rdiff-backup depends on: ii libc6 2.17-93 ii librsync1 0.9.7-9 ii python 2.7.3-4+deb7u1 ii python2.6 2.6.8-1.1 ii python2.7 2.7.3-6 Versions of packages rdiff-backup recommends: ii python-pylibacl 0.5.1-1.1 ii python-pyxattr 0.5.1-1.1 rdiff-backup suggests no packages. -- no debconf information
341,342c341,345 < swapped_rp = dir_rp.append(swapped) < if swapped_rp.lstat(): return 0 --- > try: > swapped_rp = dir_rp.append(swapped) > if swapped_rp.lstat(): return 0 > except OSError: > pass