sleep: Add debug feature to bypass hibernation memory checks. (#3064)
authorVittorio G (VittGam) <github@vittgam.net>
Tue, 19 Apr 2016 09:18:18 +0000 (11:18 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 19 Apr 2016 09:18:18 +0000 (11:18 +0200)
This new feature bypasses checking if a swap partition is mounted
or if there is enough swap space available for hibernation to
succeed.

This can be useful when a system with a Solid State Disk (SSD)
has no normal swap partition or file configured, and a custom
systemd unit is used to mount a swap file just before hibernating
and unmount it just after resuming.

Signed-off-by: Vittorio Gambaletta <git-systemd@vittgam.net>
src/shared/sleep-config.c

index 35aa601..f00624d 100644 (file)
@@ -28,6 +28,7 @@
 #include "alloc-util.h"
 #include "conf-parser.h"
 #include "def.h"
+#include "env-util.h"
 #include "fd-util.h"
 #include "fileio.h"
 #include "log.h"
@@ -231,6 +232,9 @@ static bool enough_memory_for_hibernation(void) {
         size_t size = 0, used = 0;
         int r;
 
+        if (getenv_bool("SYSTEMD_BYPASS_HIBERNATION_MEMORY_CHECK") > 0)
+                return true;
+
         r = hibernation_partition_size(&size, &used);
         if (r < 0)
                 return false;