From: Lennart Poettering Date: Mon, 5 Jan 2015 11:35:08 +0000 (+0100) Subject: fstab-generator: use more appropriate checks for swap and device availability X-Git-Tag: v219~696 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=00b4ffdecbb39d849af65c0ab741be482325a4a9 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. --- diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 1f3459492..496657bdc 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; }