summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2013-08-19 09:20:52 +0800
committerTom Gundersen <teg@jklm.no>2013-09-11 14:40:59 +0200
commit80c3b720bf3abbcc9427507d540e286c4ceb3e94 (patch)
treeeecc8e400a5b1dac32c40083049723e124e3b206
parent40f862e3aee1a7712a4867b807e6ab96173bd9cb (diff)
downloadsystemd-80c3b720bf3abbcc9427507d540e286c4ceb3e94.tar.gz
fstab-generator: use DefaultDependencies=yes
This removes some redundancy between the generator and the core mount handling.
-rw-r--r--TODO2
-rw-r--r--src/fstab-generator/fstab-generator.c52
2 files changed, 6 insertions, 48 deletions
diff --git a/TODO b/TODO
index 59e0f979e1..b1006bfd6d 100644
--- a/TODO
+++ b/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...
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index 2a779bbccf..6f352d113f 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -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;
}