From: Julien Muchembled <jm@jmuchemb.eu>
Date: Tue, 29 Apr 2014 11:40:50 +0200
Subject: Add support for TuxOnIce hibernation

systemd does not support non-mainline kernel features so upstream rejected this
patch.
It is however required for systemd integration by tuxonice-userui package.

Forwarded: http://lists.freedesktop.org/archives/systemd-devel/2014-April/018960.html
---
 src/shared/sleep-config.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/shared/sleep-config.c b/src/shared/sleep-config.c
index 867e4ed..b783ec0 100644
--- a/src/shared/sleep-config.c
+++ b/src/shared/sleep-config.c
@@ -226,6 +226,12 @@ static bool enough_memory_for_hibernation(void) {
         size_t size = 0, used = 0;
         int r;
 
+        /* TuxOnIce is an alternate implementation for hibernation.
+         * It can be configured to compress the image to a file or an inactive
+         * swap partition, so there's nothing more we can do here. */
+        if (access("/sys/power/tuxonice", F_OK) == 0)
+                return true;
+
         r = hibernation_partition_size(&size, &used);
         if (r < 0)
                 return false;
