fstab-generator: use DefaultDependencies=yes

This removes some redundancy between the generator and the core mount handling.
This commit is contained in:
Tom Gundersen 2013-08-19 09:20:52 +08:00
parent 40f862e3ae
commit 80c3b720bf
2 changed files with 6 additions and 48 deletions

2
TODO
View File

@ -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...

View File

@ -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;
}