X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fmount.c;h=c1a1d511414d56b25fd61af0e0c77bd8158d34f1;hp=5b0bc6bdf01e6f22343922d8cd1c034600479956;hb=ccbe77e993317eef933bd4f4d383c3f2b2db74bc;hpb=2edd4434e5bc6e5c7948df742d82f4bcd6c415f3 diff --git a/src/mount.c b/src/mount.c index 5b0bc6bdf..c1a1d5114 100644 --- a/src/mount.c +++ b/src/mount.c @@ -962,7 +962,8 @@ static void mount_sigchld_event(Unit *u, pid_t pid, int code, int status) { m->control_command_id = _MOUNT_EXEC_COMMAND_INVALID; } - log_debug("%s control process exited, code=%s status=%i", u->meta.id, sigchld_code_to_string(code), status); + log_full(success ? LOG_DEBUG : LOG_NOTICE, + "%s mount process exited, code=%s status=%i", u->meta.id, sigchld_code_to_string(code), status); /* Note that mount(8) returning and the kernel sending us a * mount table change event might happen out-of-order. If an @@ -1537,6 +1538,17 @@ finish: return r; } +static void mount_reset_maintenance(Unit *u) { + Mount *m = MOUNT(u); + + assert(m); + + if (m->state == MOUNT_MAINTENANCE) + mount_set_state(m, MOUNT_DEAD); + + m->failure = false; +} + static const char* const mount_state_table[_MOUNT_STATE_MAX] = { [MOUNT_DEAD] = "dead", [MOUNT_MOUNTING] = "mounting", @@ -1594,6 +1606,8 @@ const UnitVTable mount_vtable = { .sigchld_event = mount_sigchld_event, .timer_event = mount_timer_event, + .reset_maintenance = mount_reset_maintenance, + .bus_message_handler = bus_mount_message_handler, .enumerate = mount_enumerate,