all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ivan Vilata i Balaguer <ivan@selidor.net>
To: Mekeor Melire <mekeor@posteo.de>
Cc: guix-devel@gnu.org, Ivan Vilata i Balaguer <ivan@selidor.net>,
	Tobias Geerinckx-Rice <me@tobias.gr>
Subject: Re: Status of hibernation (suspend to disk) in Guix
Date: Mon, 12 Dec 2022 21:11:53 +0100	[thread overview]
Message-ID: <Y5eLCU6WR0J3YG55@sax> (raw)
In-Reply-To: <87lengoymq.fsf@posteo.de>

[-- Attachment #1: Type: text/plain, Size: 2767 bytes --]

Mekeor Melire (2022-12-10 01:00:24 +0000) wrote:

> 2022-12-09 23:10 mekeor@posteo.de:
> 
> > 2022-12-05 17:23 ivan@selidor.net:
> >
> > > in #59746 I skipped documenting `resume_offset` with more detail, even
> > > if it's needed for resuming from a swap file. The reason is that
> > > according to [swsusp doc][1], some specific tool may be needed to
> > > compute the swap file offset. There is [swap-offset][2] from the
> > > uswsusp suite, which is missing from Guix and no longer shipped with
> > > Debian.
> >
> > What about the "filefrag" executable from the "e2fsprogs" package.
> > According to this article, it can be used in place of the deprecated
> > uswsusp suite:
> >
> > https://www.linuxuprising.com/2021/08/how-to-enable-hibernation-on-ubuntu.html
> 
> I just tried this out. And it worked like a charm! I have hibernated and
> resumed successfully - first time with Guix System. I'm so happy :)
> 
> Would you like to add instructions for swap-files to your
> patch-series #59746?
> 
> What I did: First, determine offset:
> 
> --8<---------------cut here---------------start------------->8---
> $ sudo filefrag -v /swapfile
> Filesystem type is: ef53
> File size of /swapfile is 1717986918 (4194304 blocks of 4096 bytes)
>  ext:     logical_offset:        physical_offset: length:   expected: flags:
>    0:        0..       0:    5308416..   5308416:      1:
> --8<---------------cut here---------------end--------------->8---
> 
> Then, use offset in operating-system declaration:
> 
> --8<---------------cut here---------------start------------->8---
>   (kernel-arguments
>     (cons*
>       "resume=/dev/mapper/cryptroot"
>       "resume_offset=5308416"
>       %default-kernel-arguments))
> --8<---------------cut here---------------end--------------->8---
> 
> Caveat: IIUC, this does not work with Btrfs.

Good find!  Besides the issue of `filefrag` being ExtFS-specific, another
thing that worries me is [this check][1] that `swap-offset` does about the
swap header being physically contiguous on disk, which would need to be made
manually with `filefrag`.

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-utils.git/tree/swap-offset.c#n114

I guess that swap header fragmentation won't happen in most cases, but I also
see that the instructions in "(guix)Keyboard Layout, Networking, and
Partitioning" to create a swap file use `dd` instead of something less prone
to fragmentation like `fallocate` (which then may or may not work depending on
the particular FS).

So I'm not completely at ease with extending the instructions for swap files,
but someone more versed in the topic may. `:)`

Cheers,

-- 
Ivan Vilata i Balaguer -- https://elvil.net/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2022-12-12 20:17 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-02 20:12 Status of hibernation (suspend to disk) in Guix Ivan Vilata i Balaguer
2022-12-02 20:32 ` Tobias Geerinckx-Rice
2022-12-05 16:23   ` Ivan Vilata i Balaguer
2022-12-09 23:10     ` Mekeor Melire
2022-12-10  1:00       ` Mekeor Melire
2022-12-12 20:11         ` Ivan Vilata i Balaguer [this message]
2022-12-14  9:43           ` Ivan Vilata i Balaguer
2022-12-21 12:27             ` Ivan Vilata i Balaguer
2023-01-07 11:36               ` Ivan Vilata i Balaguer
2022-12-09 20:52   ` Mekeor Melire
2022-12-09 21:16     ` Jack Hill
  -- strict thread matches above, loose matches on Subject: below --
2022-12-15  6:55 Nathan Dehnel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y5eLCU6WR0J3YG55@sax \
    --to=ivan@selidor.net \
    --cc=guix-devel@gnu.org \
    --cc=me@tobias.gr \
    --cc=mekeor@posteo.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.