[Python-apps-team] Bug#590600: rdiff-backup to an nfs

Denys Gavrysh deg at ciklum.com
Tue Oct 30 10:57:07 UTC 2012


I confirm this bug in version 1.2.8.
NFS share mounted on /backup. Output:


# rdiff-backup /bin/ /backup/
Exception '[Errno 116] Stale NFS file handle: 
'/backup/rdiff-backup-data/rdiff-backup.tmp.0/A'' raised of class '<type 
'exceptions.OSError'>':
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/Main.py", line 
304, in error_check_Main
     try: Main(arglist)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/Main.py", line 
324, in Main
     take_action(rps)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/Main.py", line 
280, in take_action
     elif action == "backup": Backup(rps[0], rps[1])
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/Main.py", line 
334, in Backup
     rpout.conn.fs_abilities.backup_set_globals(rpin, force)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/fs_abilities.py", 
line 922, in backup_set_globals
     dest_fsa = FSAbilities('destination').init_readwrite(Globals.rbdir)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/fs_abilities.py", 
line 156, in init_readwrite
     self.set_case_sensitive_readwrite(subdir)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/fs_abilities.py", 
line 303, in set_case_sensitive_readwrite
     upper_a.setdata()
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/rpath.py", line 
908, in setdata
     self.data = self.conn.rpath.make_file_dict(self.path)
   File "/usr/lib/python2.6/dist-packages/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/python2.6/dist-packages/rdiff_backup/Main.py", line 
304, in error_check_Main
     try: Main(arglist)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/Main.py", line 
324, in Main
     take_action(rps)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/Main.py", line 
280, in take_action
     elif action == "backup": Backup(rps[0], rps[1])
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/Main.py", line 
334, in Backup
     rpout.conn.fs_abilities.backup_set_globals(rpin, force)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/fs_abilities.py", 
line 922, in backup_set_globals
     dest_fsa = FSAbilities('destination').init_readwrite(Globals.rbdir)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/fs_abilities.py", 
line 156, in init_readwrite
     self.set_case_sensitive_readwrite(subdir)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/fs_abilities.py", 
line 303, in set_case_sensitive_readwrite
     upper_a.setdata()
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/rpath.py", line 
908, in setdata
     self.data = self.conn.rpath.make_file_dict(self.path)
   File "/usr/lib/python2.6/dist-packages/rdiff_backup/rpath.py", line 
287, in make_file_dict
     return C.make_file_dict(filename)
OSError: [Errno 116] Stale NFS file handle: 
'/backup/rdiff-backup-data/rdiff-backup.tmp.0/A'


I just commented this lines in rpath.py file and exception has disappeared:


         if os.name != 'nt':
                 try:
                         return C.make_file_dict(filename)
                 except OSError, error:
                         # Unicode filenames should be process by the 
Python version
                         if error.errno != errno.EILSEQ and error.errno 
!= errno.EINVAL:
                                 raise



More information about the Python-apps-team mailing list