mirror of
https://github.com/systemd/systemd.git
synced 2026-07-25 08:45:56 +00:00
gpt-auto-generator: don't warn on !ENABLE_EFI
add_automount() was only used on EFI systems, compile it conditionally to avoid the warning.
This commit is contained in:
@@ -240,82 +240,6 @@ static int add_mount(
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int add_automount(
|
||||
const char *id,
|
||||
const char *what,
|
||||
const char *where,
|
||||
const char *fstype,
|
||||
bool rw,
|
||||
const char *options,
|
||||
const char *description,
|
||||
usec_t timeout) {
|
||||
|
||||
_cleanup_free_ char *unit = NULL, *lnk = NULL;
|
||||
_cleanup_free_ char *opt, *p = NULL;
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
int r;
|
||||
|
||||
assert(id);
|
||||
assert(where);
|
||||
assert(description);
|
||||
|
||||
if (options)
|
||||
opt = strjoin(options, ",noauto", NULL);
|
||||
else
|
||||
opt = strdup("noauto");
|
||||
if (!opt)
|
||||
return log_oom();
|
||||
|
||||
r = add_mount(id,
|
||||
what,
|
||||
where,
|
||||
fstype,
|
||||
rw,
|
||||
opt,
|
||||
description,
|
||||
NULL);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = unit_name_from_path(where, ".automount", &unit);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to generate unit name: %m");
|
||||
|
||||
p = strjoin(arg_dest, "/", unit, NULL);
|
||||
if (!p)
|
||||
return log_oom();
|
||||
|
||||
f = fopen(p, "wxe");
|
||||
if (!f)
|
||||
return log_error_errno(errno, "Failed to create unit file %s: %m", unit);
|
||||
|
||||
fprintf(f,
|
||||
"# Automatically generated by systemd-gpt-auto-generator\n\n"
|
||||
"[Unit]\n"
|
||||
"Description=%s\n"
|
||||
"Documentation=man:systemd-gpt-auto-generator(8)\n"
|
||||
"[Automount]\n"
|
||||
"Where=%s\n"
|
||||
"TimeoutIdleSec=%lld\n",
|
||||
description,
|
||||
where,
|
||||
(unsigned long long)timeout / USEC_PER_SEC);
|
||||
|
||||
r = fflush_and_check(f);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to write unit file %s: %m", p);
|
||||
|
||||
lnk = strjoin(arg_dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/", unit, NULL);
|
||||
if (!lnk)
|
||||
return log_oom();
|
||||
mkdir_parents_label(lnk, 0755);
|
||||
|
||||
if (symlink(p, lnk) < 0)
|
||||
return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool path_is_busy(const char *where) {
|
||||
int r;
|
||||
|
||||
@@ -441,8 +365,84 @@ static int add_swap(const char *path) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int add_boot(const char *what) {
|
||||
#ifdef ENABLE_EFI
|
||||
static int add_automount(
|
||||
const char *id,
|
||||
const char *what,
|
||||
const char *where,
|
||||
const char *fstype,
|
||||
bool rw,
|
||||
const char *options,
|
||||
const char *description,
|
||||
usec_t timeout) {
|
||||
|
||||
_cleanup_free_ char *unit = NULL, *lnk = NULL;
|
||||
_cleanup_free_ char *opt, *p = NULL;
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
int r;
|
||||
|
||||
assert(id);
|
||||
assert(where);
|
||||
assert(description);
|
||||
|
||||
if (options)
|
||||
opt = strjoin(options, ",noauto", NULL);
|
||||
else
|
||||
opt = strdup("noauto");
|
||||
if (!opt)
|
||||
return log_oom();
|
||||
|
||||
r = add_mount(id,
|
||||
what,
|
||||
where,
|
||||
fstype,
|
||||
rw,
|
||||
opt,
|
||||
description,
|
||||
NULL);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = unit_name_from_path(where, ".automount", &unit);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to generate unit name: %m");
|
||||
|
||||
p = strjoin(arg_dest, "/", unit, NULL);
|
||||
if (!p)
|
||||
return log_oom();
|
||||
|
||||
f = fopen(p, "wxe");
|
||||
if (!f)
|
||||
return log_error_errno(errno, "Failed to create unit file %s: %m", unit);
|
||||
|
||||
fprintf(f,
|
||||
"# Automatically generated by systemd-gpt-auto-generator\n\n"
|
||||
"[Unit]\n"
|
||||
"Description=%s\n"
|
||||
"Documentation=man:systemd-gpt-auto-generator(8)\n"
|
||||
"[Automount]\n"
|
||||
"Where=%s\n"
|
||||
"TimeoutIdleSec=%lld\n",
|
||||
description,
|
||||
where,
|
||||
(unsigned long long)timeout / USEC_PER_SEC);
|
||||
|
||||
r = fflush_and_check(f);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to write unit file %s: %m", p);
|
||||
|
||||
lnk = strjoin(arg_dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/", unit, NULL);
|
||||
if (!lnk)
|
||||
return log_oom();
|
||||
mkdir_parents_label(lnk, 0755);
|
||||
|
||||
if (symlink(p, lnk) < 0)
|
||||
return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int add_boot(const char *what) {
|
||||
_cleanup_blkid_free_probe_ blkid_probe b = NULL;
|
||||
const char *fstype = NULL, *uuid = NULL;
|
||||
sd_id128_t id, type_id;
|
||||
@@ -532,10 +532,12 @@ static int add_boot(const char *what) {
|
||||
120 * USEC_PER_SEC);
|
||||
|
||||
return r;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
static int add_boot(const char *what) {
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int enumerate_partitions(dev_t devnum) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user