Recovering from “no free space” errors

In some cases when a repository has grown large enough to fill up all disk space or the allocated quota, then prune might fail to free space. prune works in such a way that a repository remains usable no matter at which point the command is interrupted. However, this also means that prune requires some scratch space to work.

In most cases it is sufficient to instruct prune to remove all packs marked for removal and use as little scratch space as possible. Note that packs marked for removal are automatically removed by a prune run once they are old enough. If you can guarantee that the repository is not used by parallel processes, you can also use rustic prune --instant-delete.

To use as little scratch space as possibe, run rustic prune --max-repack-size 0. This removes all unneeded packs without repacking partly used packs. Obviously, this can only work if several snapshots have been removed using forget before. This then allows the prune command to actually remove data from the repository. If the command succeeds, but there is still little free space, then remove a few more snapshots and run prune again.

Last change: 2024-02-14, commit: 5720dd8