Re: Filesystem full errors when there is plenty of space? [SOLVED]
Patrik Dufresne via Any discussion of rdiff-backup <[email protected]> Wed, 6 May 2026 10:32:32 -0400
| Newsgroups | gmane.comp.sysutils.backup.rdiff-backup.general |
|---|---|
| Message-ID | <[email protected]> |
Hello Derek, I'm glad you figure it out On 5/6/26 09:13, Derek Atkins wrote: > 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 >> >> >> > -- 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