all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#49475] [PATCH] linux-boot: Resume from hibernation after pre-boot.
@ 2021-07-09  2:48 Jack Hill
  2021-07-09  3:21 ` Tobias Geerinckx-Rice via Guix-patches via
  0 siblings, 1 reply; 2+ messages in thread
From: Jack Hill @ 2021-07-09  2:48 UTC (permalink / raw)
  To: 49475; +Cc: Tobias Geerinckx-Rice

* gnu/build/linux-boot.scm (boot-system): Call resume-if-hibernated
after pre-mount.
---

This change allows resuming from a swap device that needs device-mapper
to be set up first. In my case I tested swap on lvm on dm-crypt. I
believe this change to be safe since pre-mount shouldn't mount or
otherwise touch the filesystems. It it did, there would be data
corruption, so special care should be taken when reviewing.

 gnu/build/linux-boot.scm | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 461df9ff46..778ee99690 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -563,15 +563,6 @@ upon error."
         (load-linux-modules-from-directory linux-modules
                                            linux-module-directory)
 
-        (unless (or (member "hibernate=noresume" args)
-                    ;; Also handle the equivalent old-style argument.
-                    ;; See Documentation/admin-guide/kernel-parameters.txt.
-                    (member "noresume" args))
-          ;; Try to resume immediately after loading (storage) modules
-          ;; but before any on-disk file systems have been mounted.
-          (false-if-exception           ; failure is not fatal
-           (resume-if-hibernated (find-long-option "resume" args))))
-
         (when keymap-file
           (let ((status (system* "loadkeys" keymap-file)))
             (unless (zero? status)
@@ -606,6 +597,15 @@ upon error."
           (unless (pre-mount)
             (error "pre-mount actions failed")))
 
+        (unless (or (member "hibernate=noresume" args)
+                    ;; Also handle the equivalent old-style argument.
+                    ;; See Documentation/admin-guide/kernel-parameters.txt.
+                    (member "noresume" args))
+          ;; Try to resume immediately after loading (storage) modules
+          ;; but before any on-disk file systems have been mounted.
+          (false-if-exception           ; failure is not fatal
+           (resume-if-hibernated (find-long-option "resume" args))))
+
         (setenv "EXT2FS_NO_MTAB_OK" "1")
 
         (if root-device
-- 
2.32.0





^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [bug#49475] [PATCH] linux-boot: Resume from hibernation after pre-boot.
  2021-07-09  2:48 [bug#49475] [PATCH] linux-boot: Resume from hibernation after pre-boot Jack Hill
@ 2021-07-09  3:21 ` Tobias Geerinckx-Rice via Guix-patches via
  0 siblings, 0 replies; 2+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2021-07-09  3:21 UTC (permalink / raw)
  To: Jack Hill; +Cc: 49475

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

Jack Hill 写道:
> * gnu/build/linux-boot.scm (boot-system): Call 
> resume-if-hibernated
> after pre-mount.

All right! \o/  Whilst I'm glad it didn't eat your data, it was 
still just an off-the-cuff suggestion on IRC & I'd like to take 
the weekend to think about the whole picture.

Kind regards,

T G-R

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-07-09  3:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-09  2:48 [bug#49475] [PATCH] linux-boot: Resume from hibernation after pre-boot Jack Hill
2021-07-09  3:21 ` Tobias Geerinckx-Rice via Guix-patches via

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.