bugrdiff-backup - Bugs: bug #27961, Fails on long filenames with encfs...

 
 

bug #27961: Fails on long filenames with encfs over sshfs

Submitted by:  None
Submitted on:  Fri 06 Nov 2009 04:37:44 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Item Group: NoneStatus: None
Privacy: PublicAssigned to: None
Open/Closed: Open

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Tue 12 Jan 2010 10:15:14 AM UTC, comment #3:

Hi,

Just to confirm that I am having the same problem. Funny thing that I am using exactly same setup - rdiff over encfs over sshfs.

Iam getting the following message:

Bad message: '/home/backups0/mnt/backups0_raw/rdiff-backup-data/increments/backup/diskstation/DiskStation_00113203E642/SHARE/System Admin/Microsoft/14 Dell Licenses Office Small Business/SW_CD_Office_Small_Business_2007_W32_English_1_PA_BP_MLF_X12-19200.EXE, SW_CD_Office_Small_Business_2007_W32_English_1_PA_BP_MLF_X12-19200.EXEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'

Please fix ASAP, many thanks! :)

utis <andriusk>
Fri 06 Nov 2009 08:40:23 PM UTC, comment #2:

I should have added that this only fails when using encfs over sshfs, either one on their own seems to be fine. The minimum filename length required for this to fail on my machine is 126.

Philipp Weis <pweis>
Fri 06 Nov 2009 04:45:19 PM UTC, comment #1:

Sorry for submitting this anonymously, now I'm logged in. I'm also including the transcript here again, since the attachment ended up getting an annoying mime type.

Philipp

$ mkdir orig remote remote-crypt
$ touch orig/ChandraRaghavanRuzzoSmolenskyTiwari_1997_ComputationalComplexity_TheElectricalResistanceOfAGraphCapturesItsCommuteAndCoverTimes.pdf
$ sshfs -o workaround=rename marvin:nobackup/tmp/rdiff-enc-test remote-crypt
$ encfs "$(pwd)"/remote "$(pwd)"/remote-crypt
Creating new encrypted volume.
Please choose from one of the following options:
enter "x" for expert configuration mode,
enter "p" for pre-configured paranoia mode,
anything else, or an empty line will select standard mode.
?>

Standard configuration selected.

Configuration finished. The filesystem to be created has
the following properties:
Filesystem cipher: "ssl/aes", version 2:2:1
Filename encoding: "nameio/block", version 3:0:1
Key Size: 192 bits
Block Size: 1024 bytes
Each file contains 8 byte header with unique IV data.
Filenames encoded using IV chaining mode.
File holes passed through to ciphertext.

Now you will need to enter a password for your filesystem.
You will need to remember this password, as there is absolutely
no recovery mechanism. However, the password can be changed
later using encfsctl.

New Encfs Password:
Verify Encfs Password:
$ rdiff-backup --terminal-verbosity 5 orig remote-crypt
Using rdiff-backup version 1.2.8
Unable to import win32security module. Windows ACLs
not supported by filesystem at orig
escape_dos_devices not required by filesystem at orig
-----------------------------------------------------------------
Detected abilities for source (read only) file system:
Access control lists On
Extended attributes On
Windows access control lists Off
Case sensitivity On
Escape DOS devices Off
Escape trailing spaces Off
Mac OS X style resource forks Off
Mac OS X Finder information Off
-----------------------------------------------------------------
Warning: hard linking not supported by filesystem at remote-crypt/rdiff-backup-data
Extended attributes not supported by filesystem at remote-crypt/rdiff-backup-data/rdiff-backup.tmp.0
POSIX ACLs not supported by filesystem at remote-crypt/rdiff-backup-data/rdiff-backup.tmp.0
Unable to import win32security module. Windows ACLs
not supported by filesystem at remote-crypt/rdiff-backup-data/rdiff-backup.tmp.0
escape_dos_devices not required by filesystem at remote-crypt/rdiff-backup-data/rdiff-backup.tmp.0
-----------------------------------------------------------------
Detected abilities for destination (read/write) file system:
Ownership changing Off
Hard linking N/A
fsync() directories On
Directory inc permissions On
High-bit permissions On
Symlink permissions Off
Extended filenames On
Windows reserved filenames Off
Access control lists Off
Extended attributes Off
Windows access control lists Off
Case sensitivity On
Escape DOS devices Off
Escape trailing spaces Off
Mac OS X style resource forks Off
Mac OS X Finder information Off
-----------------------------------------------------------------
Backup: must_escape_dos_devices = 0
Starting mirror orig to remote-crypt
Processing changed file .
Processing changed file ChandraRaghavanRuzzoSmolenskyTiwari_1997_ComputationalComplexity_TheElectricalResistanceOfAGraphCapturesItsCommuteAndCoverTimes.pdf
Exception '[Errno 74] Bad message: 'remote-crypt/rdiff-backup-data/increments/ChandraRaghavanRuzzoSmolenskyTiwari_1997_ComputationalComplexity_TheElectricalResistanceOfAGraphCapturesItsCommuteAndCoverTimes.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'' raised of class '<type 'exceptions.OSError'>':
File "/usr/lib/pymodules/python2.5/rdiff_backup/Main.py", line 304, in error_check_Main
try: Main(arglist)
File "/usr/lib/pymodules/python2.5/rdiff_backup/Main.py", line 324, in Main
take_action(rps)
File "/usr/lib/pymodules/python2.5/rdiff_backup/Main.py", line 280, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/lib/pymodules/python2.5/rdiff_backup/Main.py", line 346, in Backup
backup.Mirror(rpin, rpout)
File "/usr/lib/pymodules/python2.5/rdiff_backup/backup.py", line 38, in Mirror
DestS.patch(dest_rpath, source_diffiter)
File "/usr/lib/pymodules/python2.5/rdiff_backup/backup.py", line 232, in patch
ITR(diff.index, diff)
File "/usr/lib/pymodules/python2.5/rdiff_backup/rorpiter.py", line 281, in _call_
last_branch.fast_process(*args)
File "/usr/lib/pymodules/python2.5/rdiff_backup/backup.py", line 526, in fast_process
self.CCPP.get_rorps(index), self.basis_root_rp)
File "/usr/lib/pymodules/python2.5/rdiff_backup/longname.py", line 205, in get_mirror_inc_rps
alt_inc, inc_rp = find_inc_pair(index, mirror_rp, alt_mirror, alt_inc)
File "/usr/lib/pymodules/python2.5/rdiff_backup/longname.py", line 191, in find_inc_pair
if check_new_index(inc_root, trial_inc_index, make_dirs = 1):
File "/usr/lib/pymodules/python2.5/rdiff_backup/longname.py", line 127, in check_new_index
rp = wrap_call(base.new_index, index)
File "/usr/lib/pymodules/python2.5/rdiff_backup/longname.py", line 111, in wrap_call
try: result = func(*args)
File "/usr/lib/pymodules/python2.5/rdiff_backup/rpath.py", line 1157, in new_index
return self.__class__(self.conn, self.base, index)
File "/usr/lib/pymodules/python2.5/rdiff_backup/rpath.py", line 884, in _init_
else: self.setdata()
File "/usr/lib/pymodules/python2.5/rdiff_backup/rpath.py", line 908, in setdata
self.data = self.conn.rpath.make_file_dict(self.path)
File "/usr/lib/pymodules/python2.5/rdiff_backup/rpath.py", line 287, in make_file_dict
return C.make_file_dict(filename)

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/pymodules/python2.5/rdiff_backup/Main.py", line 304, in error_check_Main
try: Main(arglist)
File "/usr/lib/pymodules/python2.5/rdiff_backup/Main.py", line 324, in Main
take_action(rps)
File "/usr/lib/pymodules/python2.5/rdiff_backup/Main.py", line 280, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/lib/pymodules/python2.5/rdiff_backup/Main.py", line 346, in Backup
backup.Mirror(rpin, rpout)
File "/usr/lib/pymodules/python2.5/rdiff_backup/backup.py", line 38, in Mirror
DestS.patch(dest_rpath, source_diffiter)
File "/usr/lib/pymodules/python2.5/rdiff_backup/backup.py", line 232, in patch
ITR(diff.index, diff)
File "/usr/lib/pymodules/python2.5/rdiff_backup/rorpiter.py", line 281, in _call_
last_branch.fast_process(*args)
File "/usr/lib/pymodules/python2.5/rdiff_backup/backup.py", line 526, in fast_process
self.CCPP.get_rorps(index), self.basis_root_rp)
File "/usr/lib/pymodules/python2.5/rdiff_backup/longname.py", line 205, in get_mirror_inc_rps
alt_inc, inc_rp = find_inc_pair(index, mirror_rp, alt_mirror, alt_inc)
File "/usr/lib/pymodules/python2.5/rdiff_backup/longname.py", line 191, in find_inc_pair
if check_new_index(inc_root, trial_inc_index, make_dirs = 1):
File "/usr/lib/pymodules/python2.5/rdiff_backup/longname.py", line 127, in check_new_index
rp = wrap_call(base.new_index, index)
File "/usr/lib/pymodules/python2.5/rdiff_backup/longname.py", line 111, in wrap_call
try: result = func(*args)
File "/usr/lib/pymodules/python2.5/rdiff_backup/rpath.py", line 1157, in new_index
return self.__class__(self.conn, self.base, index)
File "/usr/lib/pymodules/python2.5/rdiff_backup/rpath.py", line 884, in _init_
else: self.setdata()
File "/usr/lib/pymodules/python2.5/rdiff_backup/rpath.py", line 908, in setdata
self.data = self.conn.rpath.make_file_dict(self.path)
File "/usr/lib/pymodules/python2.5/rdiff_backup/rpath.py", line 287, in make_file_dict
return C.make_file_dict(filename)
OSError: [Errno 74] Bad message: 'remote-crypt/rdiff-backup-data/increments/ChandraRaghavanRuzzoSmolenskyTiwari_1997_ComputationalComplexity_TheElectricalResistanceOfAGraphCapturesItsCommuteAndCoverTimes.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
$ cp orig/ChandraRaghavanRuzzoSmolenskyTiwaari_1997_ComputationalComplexity_TheElectricalResistanceOfAGraphCapturesItsCommutteAndCoverTimes.pdf remote-crypt/
$ ll remote-crypt/
total 4.0K
-rw-r--r-- 1 pweis pweis 0 2009-11-06 11:26 ChandraRaghavanRuzzoSmolenskyTiwari_1997_ComputationalComplexity_TheElectricalResistanceOfAGraphCapturesItsCommuteAndCoverTimes.pdf
drwx------ 1 pweis pweis 4.0K 2009-11-06 11:25 rdiff-backup-data

Philipp Weis <pweis>
Fri 06 Nov 2009 04:37:44 PM UTC, original submission:

I've been trying to get rdiff-backup to run over encfs and sshfs on a remote host, and after some initial troubles it's working fine now except for really long filenames. This doesn't seem to be due do any limitations of encfs, sshfs or the underlying host filesystem, because I can copy a file with a long name just fine from the source to the backup target.

This is on a up-to-date Debian unstable machine, with rdiff-backup 1.2.8-5, encfs 1.5.2-1+b1 and sshfs 2.2-1.

A transcript of what exactly is happening is attached.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #19006:  rdiff.script added by None (9KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by andriusk (Posted a comment)
  • -unavailable- added by pweis (Posted a comment)
  • -unavailable- added by pweis
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 06 Nov 2009 04:45:19 PM UTCpweisCarbon-Copy-=>Added pweis
    Fri 06 Nov 2009 04:37:44 PM UTCNoneAttached File-=>Added rdiff.script, #19006

    Back to the top


    Powered by Savane 3.1-cleanup1