Re: Error messages

"Eric L." <[email protected]> Mon, 2 Mar 2026 07:15:11 +0100
Newsgroups gmane.comp.sysutils.backup.rdiff-backup.general
Organization Rdiff-Backup
Message-ID <[email protected]>
Hi,

couldn't a temporary directory be full (_patch_to_temp)?

Alternatively, I could imagine a too big extended attribute (EA/xattr).

[1] seems rather old but it states "If the disk block fills up, the 
filesystem returns -ENOSPC". Using the the debug mode of rdiff-backup 
you should be able to identify the culprit file. With `getfattr` you 
might be able to confirm or infirm my theory. I'd be interested to get 
an issue with more information if it's the case, rdiff-backup should 
handle more gracefully such errors.

As a workaround, `--no-eas` should be able to help.

KR, Eric

[1] https://www.kernel.org/doc/html/latest/filesystems/ext4/attributes.html

On 02/03/2026 03:15, Yves Bellefeuille wrote:
> Hello,
> 
> I'm getting the following error messages when doing a backup. In spite
> of the error about "No space left on device", there's plenty of free
> space, and also free inodes.
> 
> rdiff-backup 2.2.6 on Debian 13. The command line is:
> 
> /usr/bin/rdiff-backup backup --exclude /vers-sauvegarde/pagefile.sys --
> exclude /vers-sauvegarde/hiberfil.sys --exclude /vers-sauvegarde/
> swapfile.sys --exclude /vers-sauvegarde/System\ Volume\ Information --
> exclude /vers-sauvegarde/\$Recycle.Bin --exclude /vers-sauvegarde/
> Windows/servicing/LCU /vers-sauvegarde /sauvegarde/Windows10
> 
> I've used this command line many times in the past with no problem. The
> source directory is NTFS; the backup directory is ext4.
> 
> - - -
> 
> Traceback (most recent call last):
>    File "/usr/bin/rdiff-backup", line 33, in <module>
>      sys.exit(load_entry_point('rdiff-backup==2.2.6', 'console_scripts',
> 'rdiff-backup')())
>               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
>    File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 35, in
> main
>      sys.exit(main_run(sys.argv[1:]))
>               ~~~~~~~~^^^^^^^^^^^^^^
>    File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 108, 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(
>      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
>          self.dir.base_dir, self.repo.base_dir,
>          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>          self.repo.incs_dir)
>          ^^^^^^^^^^^^^^^^^^^
>    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
> 679, in _patch_to_temp
>      rpath.copy_attribs(diff_rorp, new)
>      ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
>    File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line
> 1682, in copy_attribs
>      rpout.write_ea(rpin.get_ea())
>      ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
>    File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line
> 1342, in write_ea
>      ea_meta.write_to_rp(self)
>      ~~~~~~~~~~~~~~~~~~~^^^^^^
>    File "/usr/lib/python3/dist-packages/rdiffbackup/meta/ea.py", line
> 114, in write_to_rp
>      xattr.set(rp.path, name, value, 0, rp.issym())
>      ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> OSError: [Errno 28] No space left on device
> Exception ignored in: <gzip on 0x7fe7410eb460>
> Traceback (most recent call last):
>    File "/usr/lib/python3.13/gzip.py", line 372, in close
>    File "/usr/lib/python3.13/gzip.py", line 137, in write
> RuntimeError: lost gzip_file
> Exception ignored in: <_io.BufferedWriter>
> Traceback (most recent call last):
>    File "/usr/lib/python3.13/gzip.py", line 137, in write
> RuntimeError: lost gzip_file
> Exception ignored in: <gzip on 0x7fe73fe08160>
> Traceback (most recent call last):
>    File "/usr/lib/python3.13/gzip.py", line 372, in close
>    File "/usr/lib/python3.13/gzip.py", line 137, in write
> RuntimeError: lost gzip_file
> Exception ignored in: <_io.BufferedWriter>
> Traceback (most recent call last):
>    File "/usr/lib/python3.13/gzip.py", line 137, in write
> RuntimeError: lost gzip_file
>