X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmount.c;h=53edf9d560ea48834eda89a0cdbcbd0eb50ed44b;hb=6e8ebcc7de321bac0ba494365a85a19040654405;hp=9d79cd537deca81dd209e5fd1a454a4790caaf40;hpb=9fff8a1f165eb401f5411f96c755bb7704fdaa81;p=elogind.git diff --git a/src/mount.c b/src/mount.c index 9d79cd537..53edf9d56 100644 --- a/src/mount.c +++ b/src/mount.c @@ -359,12 +359,13 @@ static int mount_add_device_links(Mount *m) { return r; } - if (p->passno > 0 /* && - UNIT(m)->meta.manager->running_as == MANAGER_SYSTEM */) { + if (p->passno > 0 && + UNIT(m)->meta.manager->running_as == MANAGER_SYSTEM) { char *name; Unit *fsck; /* Let's add in the fsck service */ + /* aka SPECIAL_FSCK_SERVICE */ if (!(name = unit_name_from_path_instance("fsck", p->what, ".service"))) return -ENOMEM; @@ -393,7 +394,7 @@ static int mount_add_default_dependencies(Mount *m) { if (m->meta.manager->running_as == MANAGER_SYSTEM && !path_equal(m->where, "/")) { - if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, SPECIAL_FSCK_TARGET, NULL, true)) < 0) + if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_BEFORE, SPECIAL_QUOTACHECK_TARGET, NULL, true)) < 0) return r; if ((r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_CONFLICTED_BY, SPECIAL_UMOUNT_TARGET, NULL, true)) < 0) @@ -1526,7 +1527,7 @@ static int mount_enumerate(Manager *m) { m->mount_watch.fd = fileno(m->proc_self_mountinfo); zero(ev); - ev.events = EPOLLERR; + ev.events = EPOLLPRI; ev.data.ptr = &m->mount_watch; if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->mount_watch.fd, &ev) < 0) @@ -1551,7 +1552,7 @@ void mount_fd_event(Manager *m, int events) { int r; assert(m); - assert(events == EPOLLERR); + assert(events & EPOLLPRI); /* The manager calls this for every fd event happening on the * /proc/self/mountinfo file, which informs us about mounting