state == MOUNT_UNMOUNTING_SIGTERM ||
state == MOUNT_UNMOUNTING_SIGKILL ||
state == MOUNT_FAILED) {
- if (state != old_state)
- mount_notify_automount(m, -ENODEV);
- }
+ if (state != old_state)
+ mount_notify_automount(m, -ENODEV);
+ }
if (state != old_state)
log_debug_unit(UNIT(m)->id,
void warn_if_dir_nonempty(const char *unit, const char* where) {
if (dir_is_empty(where) > 0)
return;
- log_struct(LOG_NOTICE,
+ log_struct_unit(LOG_NOTICE,
+ unit,
"MESSAGE=%s: Directory %s to mount over is not empty, mounting anyway.",
unit, where,
"WHERE=%s", where,
- "_SYSTEMD_UNIT=%s", unit,
MESSAGE_ID(SD_MESSAGE_OVERMOUNTING),
NULL);
}
int r;
Unit *u;
bool delete;
- char *e, *w = NULL, *o = NULL, *f = NULL;
+ char *e, *w = NULL, *o = NULL, *s = NULL, *f = NULL;
MountParameters *p;
bool load_extras = false;
if (!(w = strdup(what)) ||
!(o = strdup(options)) ||
+ !(s = strdup("/proc/self/mountinfo")) ||
!(f = strdup(fstype))) {
r = -ENOMEM;
goto fail;
}
MOUNT(u)->from_proc_self_mountinfo = true;
+ free(u->source_path);
+ u->source_path = s;
free(p->what);
p->what = w;
fail:
free(w);
free(o);
+ free(s);
free(f);
if (delete && u)
const UnitVTable mount_vtable = {
.object_size = sizeof(Mount),
- .exec_context_offset = offsetof(Mount, exec_context),
.sections =
"Unit\0"
"Mount\0"
"Install\0",
+ .exec_context_offset = offsetof(Mount, exec_context),
+ .exec_section = "Mount",
+
.no_alias = true,
.no_instances = true,