Subject: bug#51346: closed (Re: bug#51346: [PATCH 0/1 core-updates-frozen] Rework swap device to add dependencies and flags)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 23 Nov 2021 09:24:02 +0000

Your bug report

#51346: [PATCH 0/1 core-updates-frozen] Rework swap device to add dependencies and flags

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
51346: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=51346
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#51346: [PATCH 0/1 core-updates-frozen] Rework swap device to add dependencies and flags
From: Ludovic Courtès <[email-masked]>
To: Josselin Poiret <[email-masked]>
Cc: Tobias Geerinckx-Rice <[email-masked]>, [email-masked]
Date: Tue, 23 Nov 2021 10:23:27 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Josselin,

Josselin Poiret <[email-masked]> skribis:

> Thanks for the review!  Here is hopefully the last patchset, which
> addresses most of the issues.
>
> I decided not to merge the doc changes with the first commit as it
> also describes swap flags, but that's just a matter of taste I
> suppose.
>
> Moved the deprecation warning that I originally put in
> gnu/services/base.scm (swap-service) to a sanitizer of swap-devices in
> its own commit, although it only reports the location of the
> (operating-system) syntax use, not of the field itself (but that is
> what I also noticed for other deprecation warnings, alas).  I marked
> the field as delayed, otherwise I was getting a lot of warnings while
> testing rather than the only one I'm getting now.

I suppose this can be addressed with this newfangled
‘define-with-syntax-properties’, right?  :-)

> Fixed the swap-device dependency filtering to silently ignore
> old-style values rather than erroring out.
>
> Overall, I cleaned up all the rogue TABs I had inserted!
> (setq-default indent-tabs-mode nil) for our Emacs readers at home.
> This should not happen any more as I have set whitespace-mode to an
> aggressive red highlighting for TAB characters.

Nice.  Note that ‘.dir-locals.el’ is supposed to set that; not sure why
it didn’t work for you.

> And finally, I changed the examples at the end to simply be @lisp
> blocks, outside of a table.
>
> Josselin Poiret (5):
>   gnu: system: Rework swap space support, add dependencies.
>   gnu: system: Warn about swap-devices format change
>   gnu: system: Add swap flags.
>   gnu: system: Filter out boot dependencies from swap-space.
>   doc: Add new Swap Space section.

Applied on ‘master’, which I plan to merge into ‘core-updates-frozen’
shortly.

Thank you!

Ludo’.

Subject: [PATCH 0/1 core-updates-frozen] Rework swap device to add dependencies and flags
From: Josselin Poiret <[email-masked]>
To: [email-masked]
Date: Sat, 23 Oct 2021 09:46:05 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

This patchset adds new record types swap-partition and swap-file, to be used in the swap-devices field of operating-system. These support dependencies on mapped-device and file-system objects respectively, as well as swapon flags. I pulled those from GNU libc, and in the manual I refer to 'man 2 swapon' for the description of these flags. Support for the old style is kept for now, but I added deprecation warnings.

This works well on my laptop, whereas my swap file used to never be swapon on boot because it wasn't available yet (on BTRFS on LUKS). I don't have a swap partition lying around though so testers welcome!

I hope this can make it in time for the core-updates-frozen merge. I also plan to add swap file hibernation support eventually, where the file offsets are automatically determined by guix (or we could even write our own suspend/resume script in guile, see https://www.kernel.org/doc/html/latest/power/userland-swsusp.html).

Josselin Poiret (1):
  gnu: system: Add support for swap dependencies and flags

 doc/guix.texi               |  98 +++++++++++++++++++---------
 gnu/build/file-systems.scm  |  25 ++++++-
 gnu/services/base.scm       | 126 ++++++++++++++++++++++++++----------
 gnu/system.scm              |   4 +-
 gnu/system/file-systems.scm |  34 +++++++++-
 guix/build/syscalls.scm     |  12 ++++
 6 files changed, 230 insertions(+), 69 deletions(-)

-- 
2.33.1