{"push_id":3081265109,"size":63,"distinct_size":1,"ref":"refs/heads/5430-issue-gw","head":"5e8ca3a51316955a1461ced73f6813ea05752041","before":"5a325b3b0a734c269c3b296714f7bba18a084df0","commits":[{"sha":"de8a711a5849f9239c93aefa5554a62986dfce42","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: use structured initialization","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/de8a711a5849f9239c93aefa5554a62986dfce42"},{"sha":"a0c339ed4b16cc00b3176ae63cd6b863763a4a79","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: only install cgroup release agent when we own the root cgroup\n\nIf we run in a container we shouldn't patch around this, and most likely\nwe can't anyway, and there's not much point in complaining about this.\nHence let's strictly say: the agent is private property of the host's\nsystem instance, nothing else.","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/a0c339ed4b16cc00b3176ae63cd6b863763a4a79"},{"sha":"73fe5314bf0cc220da3487d9be322e46e674e692","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: suffix settings with \"=\" in log messages where appropriate","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/73fe5314bf0cc220da3487d9be322e46e674e692"},{"sha":"8c83840772e6239435e1897ebdf4bf9fc5fd68cc","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: add comment explaining why we ignore EINVAL at two places\n\nThese are just copies from further down.","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/8c83840772e6239435e1897ebdf4bf9fc5fd68cc"},{"sha":"2c74e12bb3b93c4bfb6dbad2bd9ec54626c5cb26","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: ignore EPERM for a couple of more attribute writes","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/2c74e12bb3b93c4bfb6dbad2bd9ec54626c5cb26"},{"sha":"39b9fefb2e9b281e6c7d7fe44927700db2601140","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: add a new macro for determining log level for cgroup attr write failures\n\nFor now, let's use it only at one place, but a follow-up commit will\nmake more use of it.","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/39b9fefb2e9b281e6c7d7fe44927700db2601140"},{"sha":"293d32df3939e5fec3df730738d9ef41bcc11952","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: add a common routine for writing to attributes, and logging about it\n\nWe can use this at quite a few places, and this allows us to shorten our\ncode quite a bit.","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/293d32df3939e5fec3df730738d9ef41bcc11952"},{"sha":"611c4f8afb2a941b8d77ff8fa9b661cce44f7329","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: rename {manager_owns|unit_has}_root_cgroup() → .._host_root_cgroup()\n\nLet's emphasize that this function checks for the host root cgroup, i.e.\nreturns false for the root cgroup when we run in a container where\nCLONE_NEWCGROUP is used. There has been some confusion around this\nalready, for example cgroup_context_apply() uses the function\nincorrectly (which we'll fix in a later commit).\n\nJust some refactoring, not change in behaviour.","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/611c4f8afb2a941b8d77ff8fa9b661cce44f7329"},{"sha":"28cfdc5aebc044c82b6716fa1fedf847c060d043","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: tighten manager_owns_host_root_cgroup() a bit\n\nThis tightening is not strictly necessary (as the m->cgroup_root check\nfurther down does the same), but let's make this explicit.","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/28cfdc5aebc044c82b6716fa1fedf847c060d043"},{"sha":"589a5f7a389e586bab065dbc1700c96dd5a9a967","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: append \\n to static strings we write to cgroup attributes\n\nThis is a bit cleaner since we when we format numeric limits we append\nit. And this way write_string_file() doesn't have to append it.","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/589a5f7a389e586bab065dbc1700c96dd5a9a967"},{"sha":"52fecf20b9269f4675226a8e600cac0bad0539ff","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: fine tune when to apply cgroup attributes to the root cgroup\n\nLet's tweak when precisely to apply cgroup attributes on the root\ncgroup.\n\nWith this we now follow the following rules:\n\n1. On cgroupsv2 we never apply any regular cgroups to the host root,\n   since the attributes generally do not exist there.\n\n2. On cgroupsv1 we do not apply any \"weight\" or \"shares\" style\n   attributes to the host root cgroup, since they don't make much sense\n   on the top level where there's only one group, hence no need to\n   compare weights against each other. The other attributes are applied\n   to the host root cgroup however.\n\n3. In any case we don't apply attributes to the root of container\n   environments (and --user roots), under the assumption that this is\n   managed by the manager further up. (Note that on cgroupsv2 this is\n   even enforced by the kernel)\n\n4. BPF pseudo-attributes are applied in all cases (since we can have as\n   many of them as we want)","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/52fecf20b9269f4675226a8e600cac0bad0539ff"},{"sha":"53aea74a6006cf6d2a2e56cbe678c4d5d0603145","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: make some functions static","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/53aea74a6006cf6d2a2e56cbe678c4d5d0603145"},{"sha":"164924458866948e74c39e6a2f98bbfd03533003","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: make unit_get_needs_bpf_firewall() static too","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/164924458866948e74c39e6a2f98bbfd03533003"},{"sha":"0adf88b68ce71b49009d731ac6d96d9d59c4f2a9","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: dump delegation mask too","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/0adf88b68ce71b49009d731ac6d96d9d59c4f2a9"},{"sha":"442ce7759c668bf9857eff13a90b0cfa6be8d426","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: units that aren't loaded properly should not result in cgroup controllers being pulled in\n\nThis shouldn't make much difference in real life, but is a bit cleaner.","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/442ce7759c668bf9857eff13a90b0cfa6be8d426"},{"sha":"26a17ca280a8b3c28d5514dbe7e3635783a5515b","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: add explanatory comment","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/26a17ca280a8b3c28d5514dbe7e3635783a5515b"},{"sha":"54b5ba1d1f4dcfe181bb3f1e22c7b8d229cae633","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: propagate errors when we cannot open cgroup.subtree_control","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/54b5ba1d1f4dcfe181bb3f1e22c7b8d229cae633"},{"sha":"94f344fb03101273471eeaa8c821a657255fd076","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: tweak log message, so that it doesn't claim we always enable controllers when we actually disable them","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/94f344fb03101273471eeaa8c821a657255fd076"},{"sha":"27adcc973771a998433635672e2eee0a4489b8a4","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: be more careful with which controllers we can enable/disable on a cgroup\n\nThis changes cg_enable_everywhere() to return which controllers are\nenabled for the specified cgroup. This information is then used to\ncorrectly track the enablement mask currently in effect for a unit.\nMoreover, when we try to turn off a controller, and this works, then\nthis is indicates that the parent unit might succesfully turn it off\nnow, too as our unit might have kept it busy.\n\nSo far, when realizing cgroups, i.e. when syncing up the kernel\nrepresentation of relevant cgroups with our own idea we would strictly\nwork from the root to the leaves. This is generally a good approach, as\nwhen controllers are enabled this has to happen in root-to-leaves order.\nHowever, when controllers are disabled this has to happen in the\nopposite order: in leaves-to-root order (this is because controllers can\nonly be enabled in a child if it is already enabled in the parent, and\nif it shall be disabled in the parent then it has to be disabled in the\nchild first, otherwise it is considered busy when it is attempted to\nremove it in the parent).\n\nTo make things complicated when invalidating a unit's cgroup membershup\nsystemd can actually turn off some controllers previously turned on at\nthe very same time as it turns on other controllers previously turned\noff. In such a case we have to work up leaves-to-root *and*\nroot-to-leaves right after each other. With this patch this is\nimplemented: we still generally operate root-to-leaves, but as soon as\nwe noticed we successfully turned off a controller previously turned on\nfor a cgroup we'll re-enqueue the cgroup realization for all parents of\na unit, thus implementing leaves-to-root where necessary.","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/27adcc973771a998433635672e2eee0a4489b8a4"},{"sha":"e00068e71fcf33ccd9190cb18d1539cd921cf444","author":{"name":"Lennart Poettering","email":"9bb3d23d041c1d0454e62fec951f9aa4dfa2787f@poettering.net"},"message":"cgroup: in unit_invalidate_cgroup() actually modify invalidation mask\n\nPreviously this would manipulate the realization mask for invalidating\nthe realization. This is a bit ugly though as the realization mask's\nprimary purpose to is to reflect in which hierarchies a cgroup currently\nexists, and it's probably a good idea to keep that in sync with\nrealities.\n\nWe nowadays have the an explicit fields for invalidating cgroup\ncontroller information, the \"cgroup_invalidated_mask\", let's use this\none instead.\n\nThe effect is pretty much the same, as the main consumer of these masks\n(unit_has_mask_realize()) checks both anyway.","distinct":false,"url":"https://api.github.com/repos/ssahani/systemd/commits/e00068e71fcf33ccd9190cb18d1539cd921cf444"}]}
{"actor":{"display_login":"ssahani"}}