X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmount.c;h=2fc799a6ed58cfc0a636fd6a80c6dea9759365ba;hb=878587bddd2e9d7ad7890711660164024deaf150;hp=d837041475ac1ac762e3dbfe6fc097798a1369af;hpb=3611581ebdabbe3a1d6a9b5310a0b59792279d7d;p=elogind.git diff --git a/src/mount.c b/src/mount.c index d83704147..2fc799a6e 100644 --- a/src/mount.c +++ b/src/mount.c @@ -320,7 +320,10 @@ static bool needs_quota(MountParameters *p) { return false; return mount_test_option(p->options, "usrquota") || - mount_test_option(p->options, "grpquota"); + mount_test_option(p->options, "grpquota") || + mount_test_option(p->options, "quota") || + mount_test_option(p->options, "usrjquota") || + mount_test_option(p->options, "grpjquota"); } static int mount_add_fstab_links(Mount *m) { @@ -791,6 +794,7 @@ static int mount_spawn(Mount *m, ExecCommand *c, pid_t *_pid) { true, m->meta.manager->confirm_spawn, m->meta.cgroup_bondings, + m->meta.cgroup_attributes, &pid)) < 0) goto fail; @@ -1473,7 +1477,7 @@ static int mount_find_pri(char *options) { char *end, *pri; unsigned long r; - if (!(pri = mount_test_option(options, "pri="))) + if (!(pri = mount_test_option(options, "pri"))) return 0; pri += 4; @@ -1769,12 +1773,12 @@ static int mount_kill(Unit *u, KillWho who, KillMode mode, int signo, DBusError if (who == KILL_MAIN) { dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "Mount units have no main processes"); - return -EINVAL; + return -ESRCH; } if (m->control_pid <= 0 && who == KILL_CONTROL) { dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "No control process to kill"); - return -ENOENT; + return -ESRCH; } if (who == KILL_CONTROL || who == KILL_ALL) @@ -1835,6 +1839,10 @@ DEFINE_STRING_TABLE_LOOKUP(mount_exec_command, MountExecCommand); const UnitVTable mount_vtable = { .suffix = ".mount", + .sections = + "Unit\0" + "Mount\0" + "Install\0", .no_alias = true, .no_instances = true,