Hi, I need help tracking down this problem with rdiff-backup.
Today my weekly backups failed with IOError: [Errno 28] No space left on device, as have all following attempts to --check-destination-dir. There were 255 GB free on the backups drive and 14 GB on / (where /tmp resides), both more than enough. Additionaly, pointing --tempdir or the TMPDIR, TMP and TEMP variables to a different location made no difference. I'm quite convinced lack of disk space is not actually the problem. Since the last line in the traceback is "rp.conn.xattr.setxattr(rp.path, name, value, 0, rp.issym())", I believe the error is related to extended file attributes. I have found similar reports, like https://savannah.nongnu.org/bugs/?37415 , but in my case I am backing up an XFS volume over SSH to an EXT4 one, and needless to say had never encountered this problem. Both machines are running rdiff-backup 1.2.8-7 on Debian, and have been running the same version for at least a month withouth problems. I am completely at a loss as to what has caused this problem and how to fix it. What follows is the full error message as it was mailed to me by cron. The error took place when trying to back up my home directory, but as you can see afterwards rdiff-backup seems to have successfully listed and deleted and old increment from that same destination directory (the other three messages correspond to three other directories, which backup was skipped for and can still list increments just fine). Exception '[Errno 28] No space left on device' raised of class '<type 'exceptions.IOError'>': 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 343, in Backup backup.Mirror_and_increment(rpin, rpout, incdir) File "/usr/lib/python2.7/dist-packages/rdiff_backup/backup.py", line 51, in Mirror_and_increment DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath) File "/usr/lib/python2.7/dist-packages/rdiff_backup/backup.py", line 243, in patch_and_increment ITR(diff.index, diff) File "/usr/lib/python2.7/dist-packages/rdiff_backup/rorpiter.py", line 281, in __call__ last_branch.fast_process(*args) File "/usr/lib/python2.7/dist-packages/rdiff_backup/backup.py", line 692, in fast_process if self.patch_to_temp(mirror_rp, diff_rorp, tf): File "/usr/lib/python2.7/dist-packages/rdiff_backup/backup.py", line 559, in patch_to_temp rpath.copy_attribs(diff_rorp, new) File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 181, in copy_attribs if Globals.eas_write: rpout.write_ea(rpin.get_ea()) File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 1347, in write_ea ea.write_to_rp(self) File "/usr/lib/python2.7/dist-packages/rdiff_backup/eas_acls.py", line 114, in write_to_rp rp.conn.xattr.setxattr(rp.path, name, value, 0, rp.issym()) 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 343, in Backup backup.Mirror_and_increment(rpin, rpout, incdir) File "/usr/lib/python2.7/dist-packages/rdiff_backup/backup.py", line 51, in Mirror_and_increment DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath) File "/usr/lib/python2.7/dist-packages/rdiff_backup/backup.py", line 243, in patch_and_increment ITR(diff.index, diff) File "/usr/lib/python2.7/dist-packages/rdiff_backup/rorpiter.py", line 281, in __call__ last_branch.fast_process(*args) File "/usr/lib/python2.7/dist-packages/rdiff_backup/backup.py", line 692, in fast_process if self.patch_to_temp(mirror_rp, diff_rorp, tf): File "/usr/lib/python2.7/dist-packages/rdiff_backup/backup.py", line 559, in patch_to_temp rpath.copy_attribs(diff_rorp, new) File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 181, in copy_attribs if Globals.eas_write: rpout.write_ea(rpin.get_ea()) File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 1347, in write_ea ea.write_to_rp(self) File "/usr/lib/python2.7/dist-packages/rdiff_backup/eas_acls.py", line 114, in write_to_rp rp.conn.xattr.setxattr(rp.path, name, value, 0, rp.issym()) IOError: [Errno 28] No space left on device Fatal Error: Lost connection to the remote system Fatal Error: Previous backup to /backups/harvey-home seems to have failed. Rerun rdiff-backup with --check-destination-dir option to revert directory to state before unsuccessful session. Deleting increment at time: Sat Jul 25 04:03:43 2015 Deleting increment at time: Sun Sep 28 13:13:37 2014 Deleting increment at time: Sat Jul 25 04:14:37 2015 No increments older than Thu Jul 30 05:04:21 2015 found, exiting. _______________________________________________ rdiff-backup-users mailing list at rdiff-backup-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/rdiff-backup-users Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki