Bug#310442: rdiff-backup: no way to recover from full filesystem
Hi, I can't remember having seen this issue reported upstream, so, of course, it didn't get fixed. I didn't notice because I keep an eye on disk space, but I understand that it doesn't help if you've just stepped into the issue, so I'd very much like to address it fast. An enhancement request now exists for this issue at https://github.com/rdiff-backup/rdiff-backup/issues/838 I marked the issue as beginner because I don't think that it will require much changes to the code. This said, I'd like to have it fixed for 2.2.3 so pretty quickly, hence volunteers should stand up fast. I'll help where I can or I'll implement it anyway. KR, Eric On 04/02/2023 00:15, Otto Kekäläinen wrote: Thanks Alexis, Tommi, Paul and many others for using rdiff-backup and contributing to the bug report https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=310442! The latest version of rdiff-backup 2.2.2-1 is now available in Debian Sid and Bookworm: https://tracker.debian.org/pkg/rdiff-backup If you can still reproduce this issue or find other issues in how rdiff-backup itself works, please report it to upstream at https://github.com/rdiff-backup/rdiff-backup. The program behaviour on full disk is probably not something we will patch in Debian packaging, but it should be fixed upstream. The project was dormant for years, but current maintainer Eric Lavarde is active and has done a great job in resurrecting the main code base.
Bug#310442: rdiff-backup: no way to recover from full filesystem
Control: found -1 2.2.2-1 On Fri, 2023-02-03 at 15:15 -0800, Otto Kekäläinen wrote: > If you can still reproduce this issue or find other issues in how > rdiff-backup itself works, please report it to upstream at > https://github.com/rdiff-backup/rdiff-backup. I no longer use rdiff-backup so I won't be forwarding this upstream, but I can still reproduce the problem with the latest version. I used GNOME Disks to create an 100MB disk image, loopback attached it, created an ext4 filesystem, mounted it and then backed up to it. The errors are different to initially reported but some still occur: $ rdiff-backup backup test-source-data1/ /media/pabs/test/rdiff-backup/ $ rdiff-backup backup test-source-data2/ /media/pabs/test/rdiff-backup/ NOTE: Starting increment operation from source path tmp-liferea-recovery to destination path /media/pabs/3f8f3006-2e39-40b7-8cad-6de36641ae8d/rdiff-backup WARNING: Exception '[Errno 28] No space left on device' raised of class '': File "/usr/lib/python3/dist-packages/rdiff_backup/robust.py", line 94, in check_common_error return function(*args) ^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1583, in copy return copy_reg_file(rpin, rpout, compress) File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1617, in copy_reg_file return rpout.write_from_fileobj(rpin.open("rb"), compress=compress) File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1160, in write_from_fileobj copyfileobj(fp, outfp) File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1545, in copyfileobj outputfp.write(inbuf) Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 33, in sys.exit(load_entry_point('rdiff-backup==2.2.2', 'console_scripts', 'rdiff-backup')()) File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 37, in main sys.exit(main_run(sys.argv[1:])) ^^ File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 105, in main_run ret_val |= conn_act.run() ^^ File "/usr/lib/python3/dist-packages/rdiffbackup/actions/backup.py", line 154, in run backup.mirror_and_increment_compat200( File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 53, in mirror_and_increment_compat200 DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath) File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 210, in patch_and_increment ITR(diff.index, diff) File "/usr/lib/python3/dist-packages/rdiff_backup/rorpiter.py", line 146, in __call__ last_branch.fast_process_file(*args) File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 802, in fast_process_file if self._patch_to_temp(mirror_rp, diff_rorp, tf): ^ File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 655, in _patch_to_temp result = self._patch_snapshot_to_temp(diff_rorp, new) File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 701, in _patch_snapshot_to_temp report = robust.check_common_error(self.error_handler, rpath.copy, ^ File "/usr/lib/python3/dist-packages/rdiff_backup/robust.py", line 94, in check_common_error return function(*args) ^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1583, in copy return copy_reg_file(rpin, rpout, compress) File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1617, in copy_reg_file return rpout.write_from_fileobj(rpin.open("rb"), compress=compress) File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1160, in write_from_fileobj copyfileobj(fp, outfp) File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1545, in copyfileobj outputfp.write(inbuf) OSError: [Errno 28] No space left on device $ rdiff-backup backup test-source-data2/ /media/pabs/test/rdiff-backup/ Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 33, in sys.exit(load_entry_point('rdiff-backup==2.2.2', 'console_scripts', 'rdiff-backup')()) File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 37, in main sys.exit(main_run(sys.argv[1:])) ^^ File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 99, in main_run ret_val |= conn_
Bug#310442: rdiff-backup: no way to recover from full filesystem
Thanks Alexis, Tommi, Paul and many others for using rdiff-backup and contributing to the bug report https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=310442! The latest version of rdiff-backup 2.2.2-1 is now available in Debian Sid and Bookworm: https://tracker.debian.org/pkg/rdiff-backup If you can still reproduce this issue or find other issues in how rdiff-backup itself works, please report it to upstream at https://github.com/rdiff-backup/rdiff-backup. The program behaviour on full disk is probably not something we will patch in Debian packaging, but it should be fixed upstream. The project was dormant for years, but current maintainer Eric Lavarde is active and has done a great job in resurrecting the main code base.
Bug#310442: rdiff-backup: no way to recover from full filesystem
On Thu, 2023-01-19 at 15:28 -0300, Pablo Mestre wrote: > I'm going to look deeper into this issue and try to reproduce the bug. FTR I managed to reproduce it by using GNOME Disks to create a small disk image in a file, format it with ext4, mount it and repeatedly backup a small dataset into it until the mount filled up. -- bye, pabs https://wiki.debian.org/PaulWise signature.asc Description: This is a digitally signed message part
Bug#310442: rdiff-backup: no way to recover from full filesystem
Hi Paul I'm going to look deeper into this issue and try to reproduce the bug. Also I will contact the upstream. Thanks for your reply El 4/1/23 a las 00:33, Paul Wise escribió: On Tue, 2023-01-03 at 17:56 -0300, Pablo Mestre wrote: Several months have passed since the last check regarding the bug and no response has been issued. Looks like you didn't CC any of the people who were affected, the Debian bug tracker does not subscribe anyone by default. We will proceed to close this bug and then archived if any discrepancy arises. I no longer use rdiff-backup, but the issue seems trivial to test, so I tested rdiff-backup 2.0.5-4 for this issue and saw it is unfixed. -- ⢀⣴⠾⠻⢶⣦⠀ Pablo Mestre Drake ⣾⠁⢠⠒⠀⣿⡁ -- ⢿⡄⠘⠷⠚⠋ https://debian.org ⠈⠳⣄ Debian, the universal operating system.
Bug#310442: rdiff-backup: no way to recover from full filesystem
Control: reopen -1 On Tue, 2023-01-03 at 17:56 -0300, Pablo Mestre wrote: > Several months have passed since the last check regarding the bug and no > response has been issued. Looks like you didn't CC any of the people who were affected, the Debian bug tracker does not subscribe anyone by default. > We will proceed to close this bug and then archived if any discrepancy > arises. I no longer use rdiff-backup, but the issue seems trivial to test, so I tested rdiff-backup 2.0.5-4 for this issue and saw it is unfixed. -- bye, pabs https://wiki.debian.org/PaulWise signature.asc Description: This is a digitally signed message part
Bug#310442: rdiff-backup: no way to recover from full filesystem
Hi Thank you very much for reporting this error. I would like to ask you if this error is still present in the most recent versions of rdiff-backup. Currently after a series of improvements and bug fixes, rdiff-backup is at version 2.0.5 [1] It would be very helpful if you checked again if this bug is still present. Otherwise we can agree to close the bug, [1] https://github.com/rdiff-backup/rdiff-backup/releases/tag/v2.0.5 -- ⢀⣴⠾⠻⢶⣦⠀ Pablo Mestre Drake ⣾⠁⢠⠒⠀⣿⡁ -- ⢿⡄⠘⠷⠚⠋ https://debian.org ⠈⠳⣄ Debian, the universal operating system.
Bug#310442: rdiff-backup: no way to recover from full filesystem
Another way to work-around this problem is to add a large (empty) file on the backup volume (dd if=/dev/zero of=/backup/blob count=1000 bs=1M). Then, whenever rdiff-backup fails when the device becomes full, remove that file and you can run --check-destination-dir to fix up the repository. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#310442: rdiff-backup: no way to recover from full filesystem
Package: rdiff-backup Version: 0.13.4-3 If the backup target fills up, there's no way to recover. --check-destination-dir and --remove-older-than both just complain about lack of space. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]