diff options
Diffstat (limited to 'src/shared/sleep-config.c')
-rw-r--r-- | src/shared/sleep-config.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/shared/sleep-config.c b/src/shared/sleep-config.c index 77b380ca3..88f2b7007 100644 --- a/src/shared/sleep-config.c +++ b/src/shared/sleep-config.c @@ -21,6 +21,7 @@ //#include "log.h" //#include "macro.h" #include "parse-util.h" +//#include "path-util.h" #include "sleep-config.h" #include "string-util.h" #include "strv.h" @@ -209,9 +210,18 @@ int find_hibernate_location(char **device, char **type, size_t *size, size_t *us continue; } - if (streq(type_field, "partition") && endswith(dev_field, "\\040(deleted)")) { - log_warning("Ignoring deleted swapfile '%s'.", dev_field); - continue; + if (streq(type_field, "partition")) { + if (endswith(dev_field, "\\040(deleted)")) { + log_warning("Ignoring deleted swapfile '%s'.", dev_field); + continue; + } + + const char *fn; + fn = path_startswith(dev_field, "/dev/"); + if (fn && startswith(fn, "zram")) { + log_debug("Ignoring compressed ram swap device '%s'.", dev_field); + continue; + } } if (device) *device = TAKE_PTR(dev_field); |