X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcryptsetup%2Fcryptsetup-generator.c;h=6e7b7070e22586f8b6b10c00ea86045c123e33c6;hb=3251c0d2392062b2b8354793a2037d1161f824ee;hp=7801de64b52ba929d433d367a28f03eeff5259d0;hpb=b7def684941808600c344f0be7a2b9fcdda97e0f;p=elogind.git diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c index 7801de64b..6e7b7070e 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -83,36 +83,32 @@ static int create_disk( n = unit_name_from_path_instance("systemd-cryptsetup", name, ".service"); if (!n) { - r = -ENOMEM; - log_error("Failed to allocate unit name."); + r = log_oom(); goto fail; } p = strjoin(arg_dest, "/", n, NULL); if (!p) { - r = -ENOMEM; - log_error("Failed to allocate unit file name."); + r = log_oom(); goto fail; } u = fstab_node_to_udev_node(device); if (!u) { - r = -ENOMEM; - log_error("Failed to allocate device node."); + r = log_oom(); goto fail; } d = unit_name_from_path(u, ".device"); if (!d) { - r = -ENOMEM; - log_error("Failed to allocate device name."); + r = log_oom(); goto fail; } f = fopen(p, "wxe"); if (!f) { r = -errno; - log_error("Failed to create unit file: %m"); + log_error("Failed to create unit file %s: %m", p); goto fail; } @@ -124,7 +120,7 @@ static int create_disk( "SourcePath=/etc/crypttab\n" "Conflicts=umount.target\n" "DefaultDependencies=no\n" - "BindTo=%s dev-mapper-%%i.device\n" + "BindsTo=%s dev-mapper-%%i.device\n" "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n" "Before=umount.target\n", d, d); @@ -164,12 +160,12 @@ static int create_disk( if (ferror(f)) { r = -errno; - log_error("Failed to write file: %m"); + log_error("Failed to write file %s: %m", p); goto fail; } if (asprintf(&from, "../%s", n) < 0) { - r = -ENOMEM; + r = log_oom(); goto fail; } @@ -177,7 +173,7 @@ static int create_disk( to = strjoin(arg_dest, "/", d, ".wants/", n, NULL); if (!to) { - r = -ENOMEM; + r = log_oom(); goto fail; } @@ -195,7 +191,7 @@ static int create_disk( else to = strjoin(arg_dest, "/cryptsetup.target.wants/", n, NULL); if (!to) { - r = -ENOMEM; + r = log_oom(); goto fail; } @@ -213,7 +209,7 @@ static int create_disk( e = unit_name_escape(name); to = strjoin(arg_dest, "/dev-mapper-", e, ".device.requires/", n, NULL); if (!to) { - r = -ENOMEM; + r = log_oom(); goto fail; } @@ -260,7 +256,7 @@ static int parse_proc_cmdline(void) { word = strndup(w, l); if (!word) { - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -303,8 +299,7 @@ static int parse_proc_cmdline(void) { t = strv_append(arg_proc_cmdline_disks, word + 10); if (!t) { - log_error("Out of memory"); - r = -ENOMEM; + r = log_oom(); goto finish; } strv_free(arg_proc_cmdline_disks); @@ -317,8 +312,7 @@ static int parse_proc_cmdline(void) { t = strv_append(arg_proc_cmdline_disks, word + 13); if (!t) { - log_error("Out of memory"); - r = -ENOMEM; + r = log_oom(); goto finish; } strv_free(arg_proc_cmdline_disks); @@ -376,11 +370,11 @@ int main(int argc, char *argv[]) { if (startswith(p, "luks-")) p += 5; - name = strappend("luks-", *i); - device = strappend("UUID=", *i); + name = strappend("luks-", p); + device = strappend("UUID=", p); if (!name || !device) { - log_error("Out of memory"); + log_oom(); r = EXIT_FAILURE; free(name); free(device);