Subject: Re: bug#45266: "guix gc" needs free disk space to function

From: Nathan Dehnel <[email-masked]>
Date: Tue, 22 Dec 2020 12:05:04 -0600

>The daemon reserves a bit of extra space before starting operation (see
‘reserve-space?’ in (guix store)), which should be enough to gracefully
handle situations where builds are filling the disk.

>However, there can also be non-Guix processes filling the disk, to the
point where it’s completely full, and at that point sqlite3 (which the
daemon uses) may be unable to operate.

I didn't experience this. Guix pull filled the disk, which prevented
the gc from working. It's possible some other process was writing in
the background, but I had built an image which was almost completely
devoid of programs and services.

>I’m afraid there’s little we can do in this case.

>Thoughts?

Copy the database into tmpfs temporarily?

On Tue, Dec 22, 2020 at 8:37 AM Ludovic Courtès <[email-masked]> wrote:
>
> Hi,
>
> Nathan Dehnel <[email-masked]> skribis:
>
> > It would be better if guix gc could run on a disk that was completely
> > full, as right now it cannot be used to free space on a full disk.
>
> The daemon reserves a bit of extra space before starting operation (see
> ‘reserve-space?’ in (guix store)), which should be enough to gracefully
> handle situations where builds are filling the disk.
>
> However, there can also be non-Guix processes filling the disk, to the
> point where it’s completely full, and at that point sqlite3 (which the
> daemon uses) may be unable to operate.
>
> I’m afraid there’s little we can do in this case.
>
> Thoughts?
>
> Ludo’.