chiark / gitweb /
treewide: no need to negate errno for log_*_errno()
[elogind.git] / src / gpt-auto-generator / gpt-auto-generator.c
index 78643c9a3ce09eb05eb1c072c03c5bd6bb85913e..9803fca420f271acc787d3befd86be21a4c63660 100644 (file)
@@ -124,7 +124,7 @@ static int add_cryptsetup(const char *id, const char *what, bool rw, char **devi
                 return log_oom();
 
         p = strjoin(arg_dest, "/", n, NULL);
-        if (!n)
+        if (!p)
                 return log_oom();
 
         f = fopen(p, "wxe");
@@ -144,7 +144,6 @@ static int add_cryptsetup(const char *id, const char *what, bool rw, char **devi
                 "Before=umount.target cryptsetup.target\n"
                 "After=%s\n"
                 "IgnoreOnIsolate=true\n"
-                "After=systemd-readahead-collect.service systemd-readahead-replay.service\n\n"
                 "[Service]\n"
                 "Type=oneshot\n"
                 "RemainAfterExit=yes\n"
@@ -206,7 +205,7 @@ static int add_cryptsetup(const char *id, const char *what, bool rw, char **devi
                         "[Unit]\n"
                         "JobTimeoutSec=0\n"); /* the binary handles timeouts anyway */
         if (r < 0) {
-                log_error("Failed to write device drop-in: %s", strerror(-r));
+                log_error_errno(r, "Failed to write device drop-in: %m");
                 return r;
         }
 
@@ -489,7 +488,7 @@ static int enumerate_partitions(dev_t devnum) {
 
         r = udev_enumerate_scan_devices(e);
         if (r < 0) {
-                log_error("Failed to enumerate partitions on %s: %s", node, strerror(-r));
+                log_error_errno(r, "Failed to enumerate partitions on %s: %m", node);
                 return r;
         }
 
@@ -681,8 +680,8 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
                 r = parse_boolean(value);
                 if (r < 0)
                         log_warning("Failed to parse gpt-auto switch %s. Ignoring.", value);
-
-                arg_enabled = r;
+                else
+                        arg_enabled = r;
 
         } else if (streq(key, "root") && value) {
 
@@ -695,8 +694,6 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
                 arg_root_rw = true;
         else if (streq(key, "ro") && !value)
                 arg_root_rw = false;
-        else if (startswith(key, "systemd.gpt-auto.") || startswith(key, "rd.systemd.gpt-auto."))
-                log_warning("Unknown kernel switch %s. Ignoring.", key);
 
         return 0;
 }
@@ -716,7 +713,7 @@ static int add_root_mount(void) {
                 log_debug("EFI loader partition unknown, exiting.");
                 return 0;
         } else if (r < 0) {
-                log_error("Failed to read ESP partition UUID: %s", strerror(-r));
+                log_error_errno(r, "Failed to read ESP partition UUID: %m");
                 return r;
         }
 
@@ -743,7 +740,7 @@ static int add_mounts(void) {
 
         r = get_block_device("/", &devno);
         if (r < 0) {
-                log_error("Failed to determine block device of root file system: %s", strerror(-r));
+                log_error_errno(r, "Failed to determine block device of root file system: %m");
                 return r;
         } else if (r == 0) {
                 log_debug("Root file system not on a (single) block device.");
@@ -775,8 +772,9 @@ int main(int argc, char *argv[]) {
                 return EXIT_SUCCESS;
         }
 
-        if (parse_proc_cmdline(parse_proc_cmdline_item) < 0)
-                return EXIT_FAILURE;
+        r = parse_proc_cmdline(parse_proc_cmdline_item);
+        if (r < 0)
+                log_warning_errno(r, "Failed to parse kernel command line, ignoring: %m");
 
         if (!arg_enabled) {
                 log_debug("Disabled, exiting.");