core: do not overwrite existing units source
Only set source for freshly created .mounts coming from mountinfo file.
This commit is contained in:
parent
f6bb13ab8d
commit
47a81ba2e1
|
@ -1440,7 +1440,7 @@ static int mount_add_one(
|
|||
int r;
|
||||
Unit *u;
|
||||
bool delete;
|
||||
char *e, *w = NULL, *o = NULL, *s = NULL, *f = NULL;
|
||||
char *e, *w = NULL, *o = NULL, *f = NULL;
|
||||
MountParameters *p;
|
||||
bool load_extras = false;
|
||||
|
||||
|
@ -1488,6 +1488,12 @@ static int mount_add_one(
|
|||
goto fail;
|
||||
}
|
||||
|
||||
u->source_path = strdup("/proc/self/mountinfo");
|
||||
if (!u->source_path) {
|
||||
r = -ENOMEM;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
unit_add_to_load_queue(u);
|
||||
} else {
|
||||
delete = false;
|
||||
|
@ -1513,7 +1519,6 @@ static int mount_add_one(
|
|||
|
||||
if (!(w = strdup(what)) ||
|
||||
!(o = strdup(options)) ||
|
||||
!(s = strdup("/proc/self/mountinfo")) ||
|
||||
!(f = strdup(fstype))) {
|
||||
r = -ENOMEM;
|
||||
goto fail;
|
||||
|
@ -1527,8 +1532,6 @@ static int mount_add_one(
|
|||
}
|
||||
|
||||
MOUNT(u)->from_proc_self_mountinfo = true;
|
||||
free(u->source_path);
|
||||
u->source_path = s;
|
||||
|
||||
free(p->what);
|
||||
p->what = w;
|
||||
|
@ -1554,7 +1557,6 @@ static int mount_add_one(
|
|||
fail:
|
||||
free(w);
|
||||
free(o);
|
||||
free(s);
|
||||
free(f);
|
||||
|
||||
if (delete && u)
|
||||
|
|
Loading…
Reference in a new issue