mirror of
https://github.com/systemd/systemd.git
synced 2024-11-27 04:03:36 +08:00
fstab-generator: use DefaultDependencies=yes
This removes some redundancy between the generator and the core mount handling.
This commit is contained in:
parent
40f862e3ae
commit
80c3b720bf
2
TODO
2
TODO
@ -220,8 +220,6 @@ Features:
|
||||
/etc should always override /run+/usr and also any symlink
|
||||
destination.
|
||||
|
||||
* remove duplicate default deps logic from fstab-generator vs. mount.c
|
||||
|
||||
* when isolating, try to figure out a way how we implicitly can order
|
||||
all units we stop before the isolating unit...
|
||||
|
||||
|
@ -116,10 +116,7 @@ static int add_swap(const char *what, struct mntent *me) {
|
||||
|
||||
fputs("# Automatically generated by systemd-fstab-generator\n\n"
|
||||
"[Unit]\n"
|
||||
"SourcePath=/etc/fstab\n"
|
||||
"DefaultDependencies=no\n"
|
||||
"Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
|
||||
"Before=" SPECIAL_UMOUNT_TARGET "\n", f);
|
||||
"SourcePath=/etc/fstab\n", f);
|
||||
|
||||
if (!noauto && !nofail)
|
||||
fputs("Before=" SPECIAL_SWAP_TARGET "\n", f);
|
||||
@ -209,9 +206,6 @@ static int add_mount(
|
||||
bool nofail,
|
||||
bool automount,
|
||||
bool isbind,
|
||||
const char *pre,
|
||||
const char *pre2,
|
||||
const char *online,
|
||||
const char *post,
|
||||
const char *source) {
|
||||
_cleanup_free_ char
|
||||
@ -258,33 +252,9 @@ static int add_mount(
|
||||
fprintf(f,
|
||||
"# Automatically generated by systemd-fstab-generator\n\n"
|
||||
"[Unit]\n"
|
||||
"SourcePath=%s\n"
|
||||
"DefaultDependencies=no\n",
|
||||
"SourcePath=%s\n",
|
||||
source);
|
||||
|
||||
if (!path_equal(where, "/")) {
|
||||
if (pre)
|
||||
fprintf(f,
|
||||
"After=%s\n",
|
||||
pre);
|
||||
|
||||
if (pre2)
|
||||
fprintf(f,
|
||||
"After=%s\n",
|
||||
pre2);
|
||||
|
||||
if (online)
|
||||
fprintf(f,
|
||||
"After=%s\n"
|
||||
"Wants=%s\n",
|
||||
online,
|
||||
online);
|
||||
|
||||
fprintf(f,
|
||||
"Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
|
||||
"Before=" SPECIAL_UMOUNT_TARGET "\n");
|
||||
}
|
||||
|
||||
if (post && !noauto && !nofail && !automount)
|
||||
fprintf(f,
|
||||
"Before=%s\n",
|
||||
@ -368,10 +338,7 @@ static int add_mount(
|
||||
fprintf(f,
|
||||
"# Automatically generated by systemd-fstab-generator\n\n"
|
||||
"[Unit]\n"
|
||||
"SourcePath=%s\n"
|
||||
"DefaultDependencies=no\n"
|
||||
"Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
|
||||
"Before=" SPECIAL_UMOUNT_TARGET "\n",
|
||||
"SourcePath=%s\n",
|
||||
source);
|
||||
|
||||
if (post)
|
||||
@ -447,7 +414,7 @@ static int parse_fstab(const char *prefix, bool initrd) {
|
||||
k = add_swap(what, me);
|
||||
else {
|
||||
bool noauto, nofail, automount, isbind;
|
||||
const char *pre, *pre2, *post, *online;
|
||||
const char *post;
|
||||
|
||||
noauto = !!hasmntopt(me, "noauto");
|
||||
nofail = !!hasmntopt(me, "nofail");
|
||||
@ -457,25 +424,18 @@ static int parse_fstab(const char *prefix, bool initrd) {
|
||||
isbind = mount_is_bind(me);
|
||||
|
||||
if (initrd) {
|
||||
pre = pre2 = online = NULL;
|
||||
post = SPECIAL_INITRD_FS_TARGET;
|
||||
} else if (mount_in_initrd(me)) {
|
||||
pre = pre2 = online = NULL;
|
||||
post = SPECIAL_INITRD_ROOT_FS_TARGET;
|
||||
} else if (mount_is_network(me)) {
|
||||
pre = SPECIAL_REMOTE_FS_PRE_TARGET;
|
||||
pre2 = SPECIAL_NETWORK_TARGET;
|
||||
online = SPECIAL_NETWORK_ONLINE_TARGET;
|
||||
post = SPECIAL_REMOTE_FS_TARGET;
|
||||
} else {
|
||||
pre = SPECIAL_LOCAL_FS_PRE_TARGET;
|
||||
pre2 = online = NULL;
|
||||
post = SPECIAL_LOCAL_FS_TARGET;
|
||||
}
|
||||
|
||||
k = add_mount(what, where, me->mnt_type, me->mnt_opts,
|
||||
me->mnt_passno, noauto, nofail, automount,
|
||||
isbind, pre, pre2, online, post, fstab_path);
|
||||
isbind, post, fstab_path);
|
||||
}
|
||||
|
||||
if (k < 0)
|
||||
@ -563,7 +523,7 @@ static int parse_new_root_from_proc_cmdline(void) {
|
||||
|
||||
log_debug("Found entry what=%s where=/sysroot type=%s", what, type);
|
||||
r = add_mount(what, "/sysroot", type, opts, 0, noauto, nofail, false,
|
||||
false, NULL, NULL, NULL, SPECIAL_INITRD_ROOT_FS_TARGET, "/proc/cmdline");
|
||||
false, SPECIAL_INITRD_ROOT_FS_TARGET, "/proc/cmdline");
|
||||
|
||||
return (r < 0) ? r : 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user