bootctl: create leading dirs when "bootctl random-seed" is called if needed

Prompted by: #13603
This commit is contained in:
Lennart Poettering 2019-11-04 14:25:57 +01:00
parent a859abf062
commit a4a55e9ace
1 changed files with 8 additions and 0 deletions

View File

@ -27,6 +27,7 @@
#include "fs-util.h"
#include "locale-util.h"
#include "main-func.h"
#include "mkdir.h"
#include "pager.h"
#include "parse-util.h"
#include "pretty-print.h"
@ -1364,6 +1365,13 @@ static int install_random_seed(const char *esp) {
if (r < 0)
return log_error_errno(r, "Failed to acquire random seed: %m");
/* Normally create_subdirs() should already have created everything we need, but in case "bootctl
* random-seed" is called we want to just create the minimum we need for it, and not the full
* list. */
r = mkdir_parents(path, 0755);
if (r < 0)
return log_error_errno(r, "Failed to create parent directory for %s: %m", path);
r = tempfn_random(path, "bootctl", &tmp);
if (r < 0)
return log_oom();