X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=automount.c;h=cab7164a5def16d910249ece2f6d9239709da85c;hb=afb757b1a8a416b3c692728330a266b3915eef41;hp=7aa55b4f9f0999ca4fc86a0234031d9b776ff9fb;hpb=a16e112358ea8fea381ee106b89e645aed8b0a8c;p=elogind.git diff --git a/automount.c b/automount.c index 7aa55b4f9..cab7164a5 100644 --- a/automount.c +++ b/automount.c @@ -149,7 +149,7 @@ static int automount_load(Unit *u) { if ((r = unit_load_related_unit(u, ".mount", (Unit**) &a->mount)) < 0) return r; - if ((r = unit_add_dependency(u, UNIT_BEFORE, UNIT(a->mount))) < 0) + if ((r = unit_add_dependency(u, UNIT_BEFORE, UNIT(a->mount), true)) < 0) return r; } @@ -168,7 +168,7 @@ static void automount_set_state(Automount *a, AutomountState state) { unmount_autofs(a); if (state != old_state) - log_debug("%s changed %s → %s", + log_debug("%s changed %s -> %s", UNIT(a)->meta.id, automount_state_to_string(old_state), automount_state_to_string(state)); @@ -640,13 +640,20 @@ static const char *automount_sub_state_to_string(Unit *u) { return automount_state_to_string(AUTOMOUNT(u)->state); } +static bool automount_check_gc(Unit *u) { + Automount *a = AUTOMOUNT(u); + + assert(a); + + return UNIT_VTABLE(UNIT(a->mount))->check_gc(UNIT(a->mount)); +} + static void automount_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { + Automount *a = AUTOMOUNT(u); union autofs_v5_packet_union packet; ssize_t l; int r; - Automount *a = AUTOMOUNT(u); - assert(a); assert(fd == a->pipe_fd); @@ -729,6 +736,8 @@ const UnitVTable automount_vtable = { .active_state = automount_active_state, .sub_state_to_string = automount_sub_state_to_string, + .check_gc = automount_check_gc, + .fd_event = automount_fd_event, .bus_message_handler = bus_automount_message_handler,