gpt-auto-generator: Generate explicit dependencies on systemd-fsck@.service instead of using FsckPassNo

[tomegun: check for OOM]
This commit is contained in:
Thomas Bächler 2013-09-30 01:34:45 +02:00 committed by Tom Gundersen
parent 64e70e4b86
commit 4c8bda2442

View file

@ -182,7 +182,7 @@ static int add_swap(const char *path, const char *fstype) {
}
static int add_home(const char *path, const char *fstype) {
_cleanup_free_ char *unit = NULL, *lnk = NULL;
_cleanup_free_ char *unit = NULL, *lnk = NULL, *fsck = NULL;
_cleanup_fclose_ FILE *f = NULL;
if (dir_is_empty("/home") <= 0)
@ -200,19 +200,23 @@ static int add_home(const char *path, const char *fstype) {
return -errno;
}
fsck = unit_name_from_path_instance("systemd-fsck", path, ".service");
if (!fsck)
return log_oom();
fprintf(f,
"# Automatically generated by systemd-gpt-auto-generator\n\n"
"[Unit]\n"
"DefaultDependencies=no\n"
"After=" SPECIAL_LOCAL_FS_PRE_TARGET "\n"
"Requires=%s\n"
"After=" SPECIAL_LOCAL_FS_PRE_TARGET " %s\n"
"Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
"Before=" SPECIAL_UMOUNT_TARGET " " SPECIAL_LOCAL_FS_TARGET "\n\n"
"[Mount]\n"
"What=%s\n"
"Where=/home\n"
"Type=%s\n"
"FsckPassNo=2\n",
path, fstype);
"Type=%s\n",
fsck, fsck, path, fstype);
fflush(f);
if (ferror(f)) {