X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmount.c;h=c1a1d511414d56b25fd61af0e0c77bd8158d34f1;hb=36adffeab07c74470bc96417b17a72b53055ee42;hp=bee3c9a60ef001a669bb6cb063d4840137fbfd68;hpb=92abbefbefb0adafb6714c8d8f9d25bc8280a2f7;p=elogind.git diff --git a/src/mount.c b/src/mount.c index bee3c9a60..c1a1d5114 100644 --- a/src/mount.c +++ b/src/mount.c @@ -1538,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", @@ -1595,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,