Re: Filesystem full errors when there is plenty of space? [SOLVED]

"Derek Atkins" <[email protected]> Wed, 6 May 2026 09:13:43 -0400
Newsgroups gmane.comp.sysutils.backup.rdiff-backup.general
Message-ID <[email protected]>
Hi,

Just to confirm -- I ran the backup manually yesterday with the --tempdir
option pointing to a space adjacent to the target (so it had lots of free
space) and it succeeded.  I've added that --tempdir option to this
specific run to protect it in the future, and will add it more generally
to my backup scripts if I see this error in the future.

Thank you so much for pointing me in the right direction!

-derek

On Tue, May 5, 2026 10:48 am, Derek Atkins wrote:
> Hi Patrik,
>
> Thank you for the inputs.
> More inline below..
>
> On Tue, May 5, 2026 10:00 am, Patrik Dufresne via Any discussion of
> rdiff-backup wrote:
>> Hello Derek,
>>
>> Hard to tell with the information you provided, but this error might be
>> caused by the following reasons:
>
> Alas, the information I provided is all the information rdiff-backup gave
> me!  I wish it provided more details!
>
>>
>>  1.
>>
>>     *Not enough disk space at destination* (this doesn't seem to be your
>>     case, as you have ~25TB free on /mnt/backup/)
>>
>>  2.
>>
>>     *Not enough inodes at destination*. You can check with:
>>
>>     |df -i /mnt/backup/ |
>>
>>     Note that encfs filesystems can sometimes have inode limitations
>>     inherited from the underlying filesystem, so also check:
>>
>>     |df -i / |
>>
>>     (or whatever filesystem underlies your encfs mount)
>
> I actually looked at the inodes after I sent the email and they all look
> like there is plenty of room:
>
> [backup@backup ~]$ df -i /mnt/backup/
> Filesystem          Inodes   IUsed       IFree IUse% Mounted on
> encfs          51847503204 9129350 51838373854    1% /mnt/backup
>
> [backup@backup ~]$ df -i .
> Filesystem                      Inodes  IUsed   IFree IUse% Mounted on
> /dev/mapper/fedora_backup-root 7864320 102189 7762131    2% /
>
> NB: I did not check the underlying FS, but I am sure it's pretty much what
> encfs shows.
>
>>
>>  3.
>>
>>     *Not enough disk space or inodes in your TEMP folder*. rdiff-backup
>>     may write temporary files to the system's temp directory (typically
>>     |/tmp|) during regression/restore operations. You can check with:
>>
>>     |df /tmp df -i /tmp |
>
> [backup@backup ~]$ df /tmp
> Filesystem     1K-blocks  Used Available Use% Mounted on
> tmpfs            3808324     4   3808320   1% /tmp
> [backup@backup ~]$ df -i /tmp
> Filesystem     Inodes IUsed  IFree IUse% Mounted on
> tmpfs          952081     8 952073    1% /tmp
>
>>
>>     With only ~8GB free on your |/| filesystem (which likely also hosts
>>     |/tmp|), this could very well be the culprit, especially during a
>>     regression pass which involves reconstructing files by applying
>>     rdiff patches.
>>
>> Given your traceback, the error is happening during a *regression*
>> (rolling back a previously failed backup), which involves reconstructing
>> and writing out full file contents as temporary files. This can require
>> significant temporary space depending on the size of the files being
>> reconstructed.
>>
>> My best guess given your numbers is *option 3* — the 8GB free on your
>> backup server's root filesystem may not be sufficient for the temporary
>> files being written during regression.
>
> Interesting observation.  My /tmp is on a tmpfs and only 3.7GB -- so even
> less space free!  Right now none of TMP, TEMP, nor TMPDIR are set to
> anything, so it's using /tmp -- and given your new information (to me)
> about it reconstructing full files, I bet it's running out of space in
> /tmp!
>
> As a test -- I'm re-running with "--tmpdir /mnt/backup/tmp" and we'll see
> if that fixes the problem.
>
> Thanks!
>
> -derek
>
>>
>>
>> On 5/5/26 08:52, Derek Atkins wrote:
>>> Hi
>>>
>>> I've suddenly, recently, starting getting "File System Full" errors
>>> from
>>> the backup of one of my servers. This particular server
>>> is still using 1.2.8. What I don't know is: what filesystem is full?
>>> There is plenty of space on the system being backed up: [root@ovirt-0
>>> ~]# df . Filesystem 1K-blocks Used Available Use% Mounted on
>>> /dev/mapper/centos--ovirt--0-root 209608708 107709568 101899140 52% /
>>> And there is plenty of space in the filesystem where the backup is
>>> being saved: [backup@backup ~]$ df /mnt/backup/ Filesystem 1K-blocks
>>> Used Available Use% Mounted on encfs 27143488384 1224301312
>>> 25919187072 5% /mnt/backup Is the issue the space in the CWD of the
>>> backup server? I've only got 8G free in CWD there: [backup@backup ~]$
>>> df . Filesystem 1K-blocks Used Available Use% Mounted on
>>> /dev/mapper/fedora_backup-root 15718400 6388680 9329720 41% /
>>> Unfortunately the backtrace does not tell me what file is being
>>> written when it runs out of space, so I don't know what to "fix".
>>> Also,
>>> due to
>>> "reasons" I cannot upgrade -- but I am happy to hot-patch if there is a
>>> simple way to add the target that is failing.
>>>
>>> I'd appreciate any guidance.
>>>
>>> Thanks,
>>>
>>> -derek
>>>
>>> Backup Command and output:
>>>
>>> *** Starting backup for ovirt-0 at Tue 05 May 2026 06:44:21 AM EDT
>>> /usr/bin/rdiff-backup-1 --exclude /mnt/snap/dev --exclude
>>> /mnt/snap/lost+found
>>> --exclude /mnt/snap/media --exclude /mnt/snap/mnt --exclude
>>> /mnt/snap/proc
>>> --exclude
>>> /mnt/snap/run --exclude /mnt/snap/sys --exclude /mnt/snap//ovirt
>>> --exclude
>>> /mnt/snap//rhev --include /mnt/snap//var/lib/ovirt-hosted-engine-setup/
>>> --include
>>> /mnt/snap//var/lib/ovirt-hosted-engine-ha/ --include
>>> /mnt/snap//var/lib/mysql
>>> --include /mnt/snap//var/lib/vdsm --include /mnt/snap/var/spool/cron
>>> --include
>>> /mnt/snap/usr/local --exclude /mnt/snap/bin --exclude /mnt/snap/lib
>>> --exclude
>>> /mnt/snap/lib64 --exclude /mnt/snap/sbin --exclude /mnt/snap/tmp
>>> --exclude
>>> /mnt/snap/usr --exclude /mnt/snap/var ovirt-0_backup::/mnt/snap/
>>> /mnt/backup/backups/ovirt-0
>>> File descriptor 3 (socket:[104543988]) leaked on lvcreate invocation.
>>> Parent PID
>>> 13337: /bin/bash
>>>    Logical volume "snap" created.
>>> Previous backup seems to have failed, regressing destination now.
>>> Exception '[Errno 28] No space left on device' raised of class '<type
>>> 'exceptions.IOError'>':
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/robust.py",
>>> line
>>> 32, in
>>> check_common_error
>>>      try: return function(*args)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/restore.py",
>>> line
>>> 468, in
>>> get_fp
>>>      Rdiff.write_patched_fp(current_fp, delta_fp, new_fp)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Rdiff.py",
>>> line
>>> 73, in
>>> write_patched_fp
>>>      rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp),
>>> out_fp)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/rpath.py",
>>> line
>>> 64, in
>>> copyfileobj
>>>      outputfp.write(inbuf)
>>>
>>> Exception '[Errno 28] No space left on device' raised of class '<type
>>> 'exceptions.IOError'>':
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 304, in
>>> error_check_Main
>>>      try: Main(arglist)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 324, in Main
>>>      take_action(rps)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 280, in
>>> take_action
>>>      elif action == "backup": Backup(rps[0], rps[1])
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 337, in Backup
>>>      backup_final_init(rpout)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 501, in
>>> backup_final_init
>>>      checkdest_if_necessary(rpout)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 920, in
>>> checkdest_if_necessary
>>>      dest_rp.conn.regress.Regress(dest_rp)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/regress.py",
>>> line
>>> 71, in
>>> Regress
>>>      for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index,
>>> rf)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/rorpiter.py",
>>> line
>>> 281, in
>>> __call__
>>>      last_branch.fast_process(*args)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/regress.py",
>>> line
>>> 268, in
>>> fast_process
>>>      if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/regress.py",
>>> line
>>> 290, in
>>> restore_orig_regfile
>>>      tf.write_from_fileobj(rf.get_restore_fp())
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/restore.py",
>>> line
>>> 488, in
>>> get_restore_fp
>>>      return robust.check_common_error(error_handler, get_fp)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/robust.py",
>>> line
>>> 32, in
>>> check_common_error
>>>      try: return function(*args)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/restore.py",
>>> line
>>> 468, in
>>> get_fp
>>>      Rdiff.write_patched_fp(current_fp, delta_fp, new_fp)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Rdiff.py",
>>> line
>>> 73, in
>>> write_patched_fp
>>>      rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp),
>>> out_fp)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/rpath.py",
>>> line
>>> 64, in
>>> copyfileobj
>>>      outputfp.write(inbuf)
>>>
>>> Traceback (most recent call last):
>>>    File "/usr/bin/rdiff-backup-1", line 30, in <module>
>>>      rdiff_backup.Main.error_check_Main(sys.argv[1:])
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 304, in
>>> error_check_Main
>>>      try: Main(arglist)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 324, in Main
>>>      take_action(rps)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 280, in
>>> take_action
>>>      elif action == "backup": Backup(rps[0], rps[1])
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 337, in Backup
>>>      backup_final_init(rpout)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 501, in
>>> backup_final_init
>>>      checkdest_if_necessary(rpout)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Main.py", line
>>> 920, in
>>> checkdest_if_necessary
>>>      dest_rp.conn.regress.Regress(dest_rp)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/regress.py",
>>> line
>>> 71, in
>>> Regress
>>>      for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index,
>>> rf)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/rorpiter.py",
>>> line
>>> 281, in
>>> __call__
>>>      last_branch.fast_process(*args)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/regress.py",
>>> line
>>> 268, in
>>> fast_process
>>>      if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/regress.py",
>>> line
>>> 290, in
>>> restore_orig_regfile
>>>      tf.write_from_fileobj(rf.get_restore_fp())
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/restore.py",
>>> line
>>> 488, in
>>> get_restore_fp
>>>      return robust.check_common_error(error_handler, get_fp)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/robust.py",
>>> line
>>> 32, in
>>> check_common_error
>>>      try: return function(*args)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/restore.py",
>>> line
>>> 468, in
>>> get_fp
>>>      Rdiff.write_patched_fp(current_fp, delta_fp, new_fp)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/Rdiff.py",
>>> line
>>> 73, in
>>> write_patched_fp
>>>      rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp),
>>> out_fp)
>>>    File "/usr/lib64/python2.7/site-packages/rdiff_backup/rpath.py",
>>> line
>>> 64, in
>>> copyfileobj
>>>      outputfp.write(inbuf)
>>> IOError: [Errno 28] No space left on device
>>> Fatal Error: Lost connection to the remote system
>>> === Backup for ovirt-0 exited with error code 1 at Tue 05 May 2026
>>> 06:46:20 AM EDT
>>>
>>>
>>>
>>>
>> --
>> Alerte Vacance: du 23 mai au 2 Juin 2026
>> Patrik Dufresne
>> IKUS Software
>> https://www.ikus-soft.com/
>> 514-971-6442
>> St-Colomban, QC J5K 1T9
>>
>
>
> --
>        Derek Atkins                 617-623-3745
>        [email protected]             www.ihtfp.com
>        Computer and Internet Security Consultant
>
>
>


-- 
       Derek Atkins                 617-623-3745
       [email protected]             www.ihtfp.com
       Computer and Internet Security Consultant