Backup restore fails - [Errno 28] No space left on device - But plenty of space left

I’m using a RPi 4 with an SD card for the OS and a Sandisk USB3.0 64GB USB drive for my Home Assistant data from a Docker container.

Currently using HA 2025.5.3

I was trying to restore the backup from last night, but I keep on getting the following error

[Errno 28] No space left on device

As you can see, on /media/pi/Sandisk, there’s still 53GB available space

pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           806M  7.5M  798M   1% /run
/dev/mmcblk0p2   29G   27G  770M  98% /
tmpfs           4.0G  544K  4.0G   1% /dev/shm
tmpfs           5.0M   48K  5.0M   1% /run/lock
/dev/mmcblk0p1  510M   77M  434M  16% /boot/firmware
tmpfs           806M  160K  806M   1% /run/user/1000
/dev/sda1        57G  2.6G   53G   5% /media/pi/Sandisk

Here are the logs:

homeassistant  | Unable to find configuration. Creating default one in /config
homeassistant  | [14:58:23] INFO: Home Assistant Core finish process exit code 100
homeassistant  | INFO:homeassistant.backup_restore:Restoring /config/backups/Automatic_backup_2025.5.3_2025-06-04_05.04_10002086.tar
homeassistant  | Traceback (most recent call last):
homeassistant  |   File "<frozen runpy>", line 198, in _run_module_as_main
homeassistant  |   File "<frozen runpy>", line 88, in _run_code
homeassistant  |   File "/usr/src/homeassistant/homeassistant/__main__.py", line 227, in <module>
homeassistant  |     sys.exit(main())
homeassistant  |              ~~~~^^
homeassistant  |   File "/usr/src/homeassistant/homeassistant/__main__.py", line 186, in main
homeassistant  |     if restore_backup(config_dir):
homeassistant  |        ~~~~~~~~~~~~~~^^^^^^^^^^^^
homeassistant  |   File "/usr/src/homeassistant/homeassistant/backup_restore.py", line 197, in restore_backup
homeassistant  |     _extract_backup(
homeassistant  |     ~~~~~~~~~~~~~~~^
homeassistant  |         config_dir=config_dir,
homeassistant  |         ^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |         restore_content=restore_content,
homeassistant  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |     )
homeassistant  |     ^
homeassistant  |   File "/usr/src/homeassistant/homeassistant/backup_restore.py", line 134, in _extract_backup
homeassistant  |     istf.extractall(
homeassistant  |     ~~~~~~~~~~~~~~~^
homeassistant  |         path=Path(tempdir, "homeassistant"),
homeassistant  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |         members=securetar.secure_path(istf),
homeassistant  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |         filter="fully_trusted",
homeassistant  |         ^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |     )
homeassistant  |     ^
homeassistant  |   File "/usr/local/lib/python3.13/tarfile.py", line 2334, in extractall
homeassistant  |     self._extract_one(tarinfo, path, set_attrs=not tarinfo.isdir(),
homeassistant  |     ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |                       numeric_owner=numeric_owner)
homeassistant  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |   File "/usr/local/lib/python3.13/tarfile.py", line 2401, in _extract_one
homeassistant  |     self._handle_fatal_error(e)
homeassistant  |     ~~~~~~~~~~~~~~~~~~~~~~~~^^^
homeassistant  |   File "/usr/local/lib/python3.13/tarfile.py", line 2397, in _extract_one
homeassistant  |     self._extract_member(tarinfo, os.path.join(path, tarinfo.name),
homeassistant  |     ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |                          set_attrs=set_attrs,
homeassistant  |                          ^^^^^^^^^^^^^^^^^^^^
homeassistant  |                          numeric_owner=numeric_owner)
homeassistant  |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |   File "/usr/local/lib/python3.13/tarfile.py", line 2480, in _extract_member
homeassistant  |     self.makefile(tarinfo, targetpath)
homeassistant  |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
homeassistant  |   File "/usr/local/lib/python3.13/tarfile.py", line 2534, in makefile
homeassistant  |     copyfileobj(source, target, tarinfo.size, ReadError, bufsize)
homeassistant  |     ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |   File "/usr/local/lib/python3.13/tarfile.py", line 253, in copyfileobj
homeassistant  |     dst.write(buf)
homeassistant  |     ~~~~~~~~~^^^^^
homeassistant  | OSError: [Errno 28] No space left on device
homeassistant  | [15:09:44] INFO: Home Assistant Core finish process exit code 1
homeassistant  | [15:09:44] INFO: Home Assistant Core service shutdown

Anyone can help me resolve this? Thanks!

Running HA OS or HA Container ?

HA Container
Currently 2025.5.3

How is your container set up? Does it store everything on /media/pi/Sandisk?

Given that the root directory is almost full, my guess would be that that’s the cause of your issues.

1 Like

Thanks @robertklep !
Indeed had an old path in my docker compose file. This path didn’t exist anymore, so was created on my RPi microSD card, which was then filling up completely.

Problem solved.
Thank you

2 Likes