X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcryptsetup%2Fcryptsetup-generator.c;h=9c98f0b617d161417060d93bb50dbd7eb9aaaf55;hb=e3dd987cfc395848256fc6eae637ed0eaf5f1635;hp=8792e6b1f53650db7c9141159a95eb91673363c9;hpb=a0f708053ba42c8289caed1107f498bbf332e204;p=elogind.git diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c index 8792e6b1f..9c98f0b61 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -27,7 +27,6 @@ #include "util.h" #include "unit-name.h" #include "mkdir.h" -#include "virt.h" #include "strv.h" #include "fileio.h" @@ -118,6 +117,7 @@ static int create_disk( "Conflicts=umount.target\n" "DefaultDependencies=no\n" "BindsTo=dev-mapper-%i.device\n" + "IgnoreOnIsolate=true\n" "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", f); @@ -240,20 +240,21 @@ static int create_disk( return 0; } -static int parse_proc_cmdline(char ***arg_proc_cmdline_disks, char ***arg_proc_cmdline_options, char **arg_proc_cmdline_keyfile) { +static int parse_proc_cmdline( + char ***arg_proc_cmdline_disks, + char ***arg_proc_cmdline_options, + char **arg_proc_cmdline_keyfile) { + _cleanup_free_ char *line = NULL; char *w = NULL, *state = NULL; - int r; size_t l; + int r; - if (detect_container(NULL) > 0) - return 0; - - r = read_one_line_file("/proc/cmdline", &line); - if (r < 0) { + r = proc_cmdline(&line); + if (r < 0) log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r)); + if (r <= 0) return 0; - } FOREACH_WORD_QUOTED(w, l, line, state) { _cleanup_free_ char *word = NULL;