--- Begin Message ---
Subject: |
[PATCH 0/1 core-updates-frozen] Rework swap device to add dependencies and flags |
Date: |
Sat, 23 Oct 2021 09:46:05 +0000 |
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
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#51346: [PATCH 0/1 core-updates-frozen] Rework swap device to add dependencies and flags |
Date: |
Tue, 23 Nov 2021 10:23:27 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi Josselin,
Josselin Poiret <dev@jpoiret.xyz> 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’.
--- End Message ---