|
|
1cc3df3 |
From bb6caff37bdf0de68a5f9243fe282b2df1da6737 Mon Sep 17 00:00:00 2001
|
|
|
1cc3df3 |
From: Lennart Poettering <lennart@poettering.net>
|
|
|
1cc3df3 |
Date: Mon, 23 Jun 2014 19:18:44 +0200
|
|
|
1cc3df3 |
Subject: [PATCH] cryptsetup: don't add unit dependency on /dev/null devices
|
|
|
1cc3df3 |
when it is listed as password file
|
|
|
1cc3df3 |
|
|
|
1cc3df3 |
As special magic, don't create device dependencies for /dev/null. Of
|
|
|
1cc3df3 |
course, there might be similar devices we might want to include, but
|
|
|
1cc3df3 |
given that none of them really make sense to specify as password source
|
|
|
1cc3df3 |
there's really no point in checking for anything else here.
|
|
|
1cc3df3 |
|
|
|
1cc3df3 |
https://bugs.freedesktop.org/show_bug.cgi?id=75816
|
|
|
1cc3df3 |
(cherry picked from commit bde29068aa3815c88190a91e9867605a0aeaf9c4)
|
|
|
1cc3df3 |
|
|
|
1cc3df3 |
Conflicts:
|
|
|
1cc3df3 |
src/cryptsetup/cryptsetup-generator.c
|
|
|
1cc3df3 |
---
|
|
|
1cc3df3 |
src/cryptsetup/cryptsetup-generator.c | 18 +++++++++++-------
|
|
|
1cc3df3 |
1 file changed, 11 insertions(+), 7 deletions(-)
|
|
|
1cc3df3 |
|
|
|
1cc3df3 |
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
|
|
|
1cc3df3 |
index 11e5268185..1b5f8bec30 100644
|
|
|
1cc3df3 |
--- a/src/cryptsetup/cryptsetup-generator.c
|
|
|
1cc3df3 |
+++ b/src/cryptsetup/cryptsetup-generator.c
|
|
|
1cc3df3 |
@@ -30,6 +30,7 @@
|
|
|
1cc3df3 |
#include "virt.h"
|
|
|
1cc3df3 |
#include "strv.h"
|
|
|
1cc3df3 |
#include "fileio.h"
|
|
|
1cc3df3 |
+#include "path-util.h"
|
|
|
1cc3df3 |
|
|
|
1cc3df3 |
static const char *arg_dest = "/tmp";
|
|
|
1cc3df3 |
static bool arg_enabled = true;
|
|
|
1cc3df3 |
@@ -137,14 +138,17 @@ static int create_disk(
|
|
|
1cc3df3 |
if (uu == NULL)
|
|
|
1cc3df3 |
return log_oom();
|
|
|
1cc3df3 |
|
|
|
1cc3df3 |
- if (is_device_path(uu)) {
|
|
|
1cc3df3 |
- _cleanup_free_ char *dd = unit_name_from_path(uu, ".device");
|
|
|
1cc3df3 |
- if (dd == NULL)
|
|
|
1cc3df3 |
- return log_oom();
|
|
|
1cc3df3 |
+ if (!path_equal(uu, "/dev/null")) {
|
|
|
1cc3df3 |
+
|
|
|
1cc3df3 |
+ if (is_device_path(uu)) {
|
|
|
1cc3df3 |
+ _cleanup_free_ char *dd = unit_name_from_path(uu, ".device");
|
|
|
1cc3df3 |
+ if (dd == NULL)
|
|
|
1cc3df3 |
+ return log_oom();
|
|
|
1cc3df3 |
|
|
|
1cc3df3 |
- fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
|
|
|
1cc3df3 |
- } else
|
|
|
1cc3df3 |
- fprintf(f, "RequiresMountsFor=%s\n", password);
|
|
|
1cc3df3 |
+ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
|
|
|
1cc3df3 |
+ } else
|
|
|
1cc3df3 |
+ fprintf(f, "RequiresMountsFor=%s\n", password);
|
|
|
1cc3df3 |
+ }
|
|
|
1cc3df3 |
}
|
|
|
1cc3df3 |
}
|
|
|
1cc3df3 |
|