From 00b4ffdecbb39d849af65c0ab741be482325a4a9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 5 Jan 2015 12:35:08 +0100 Subject: [PATCH] fstab-generator: use more appropriate checks for swap and device availability We always should use the same checks when deciding whether swap support and mounting of devices is supported. Hence, let's make fstab-generator's logic more similar to the usual logic we follow: a) Look for /proc/swaps and no container support before activating swaps. b) Look for /sys being writable befire supporting device mounts. --- src/fstab-generator/fstab-generator.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 1f345949289..496657bdc17 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c @@ -87,6 +87,11 @@ static int add_swap( assert(what); assert(me); + if (access("/proc/swaps", F_OK) < 0) { + log_info("Swap not supported, ignoring fstab swap entry for %s.", what); + return 0; + } + if (detect_container(NULL) > 0) { log_info("Running in a container, ignoring fstab swap entry for %s.", what); return 0; @@ -355,7 +360,7 @@ static int parse_fstab(bool initrd) { if (!what) return log_oom(); - if (detect_container(NULL) > 0 && is_device_path(what)) { + if (is_device_path(what) && path_is_read_only_fs("sys") > 0) { log_info("Running in a container, ignoring fstab device entry for %s.", what); continue; }