Accepting request 411397 from home:cyphar:branches:Base:System
Backports a patch from v230 to allow for systemd.unified_cgroup_hierarchy to be supported on 4.4 and later kernels. boo#989276 OBS-URL: https://build.opensuse.org/request/show/411397 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=941
This commit is contained in:
parent
41e79518e7
commit
046a81a8c1
@ -0,0 +1,87 @@
|
|||||||
|
commit 099619957a0d9ae0e6e5e221493e40fb8fc2cd81
|
||||||
|
Author: Alban Crequy <alban@kinvolk.io>
|
||||||
|
Date: Mon Dec 7 01:10:50 2015 +0100
|
||||||
|
|
||||||
|
cgroup2: use new fstype for unified hierarchy
|
||||||
|
|
||||||
|
Since Linux v4.4-rc1, __DEVEL__sane_behavior does not exist anymore and
|
||||||
|
is replaced by a new fstype "cgroup2".
|
||||||
|
|
||||||
|
With this patch, systemd no longer supports the old (unstable) way of
|
||||||
|
doing unified hierarchy with __DEVEL__sane_behavior and systemd now
|
||||||
|
requires Linux v4.4 for unified hierarchy.
|
||||||
|
|
||||||
|
Non-unified hierarchy is still the default and is unchanged by this
|
||||||
|
patch.
|
||||||
|
|
||||||
|
https://github.com/torvalds/linux/commit/67e9c74b8a873408c27ac9a8e4c1d1c8d72c93ff
|
||||||
|
|
||||||
|
Upstream-patch: 099619957a0d9ae0e6e5e221493e40fb8fc2cd81
|
||||||
|
|
||||||
|
diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
|
||||||
|
index 56c1fcaab9b2..5124b5bf93ad 100644
|
||||||
|
--- a/src/basic/cgroup-util.c
|
||||||
|
+++ b/src/basic/cgroup-util.c
|
||||||
|
@@ -2129,7 +2129,7 @@ int cg_unified(void) {
|
||||||
|
if (statfs("/sys/fs/cgroup/", &fs) < 0)
|
||||||
|
return -errno;
|
||||||
|
|
||||||
|
- if (F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC))
|
||||||
|
+ if (F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC))
|
||||||
|
unified_cache = true;
|
||||||
|
else if (F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC))
|
||||||
|
unified_cache = false;
|
||||||
|
diff --git a/src/basic/missing.h b/src/basic/missing.h
|
||||||
|
index 034e334e6626..66cd5921adf0 100644
|
||||||
|
--- a/src/basic/missing.h
|
||||||
|
+++ b/src/basic/missing.h
|
||||||
|
@@ -437,6 +437,10 @@ struct btrfs_ioctl_quota_ctl_args {
|
||||||
|
#define CGROUP_SUPER_MAGIC 0x27e0eb
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef CGROUP2_SUPER_MAGIC
|
||||||
|
+#define CGROUP2_SUPER_MAGIC 0x63677270
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#ifndef TMPFS_MAGIC
|
||||||
|
#define TMPFS_MAGIC 0x01021994
|
||||||
|
#endif
|
||||||
|
diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c
|
||||||
|
index de1a361cc4c5..32fe51c67ea3 100644
|
||||||
|
--- a/src/core/mount-setup.c
|
||||||
|
+++ b/src/core/mount-setup.c
|
||||||
|
@@ -94,7 +94,7 @@ static const MountPoint mount_table[] = {
|
||||||
|
#endif
|
||||||
|
{ "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME,
|
||||||
|
NULL, MNT_FATAL|MNT_IN_CONTAINER },
|
||||||
|
- { "cgroup", "/sys/fs/cgroup", "cgroup", "__DEVEL__sane_behavior", MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||||
|
+ { "cgroup", "/sys/fs/cgroup", "cgroup2", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||||
|
cg_is_unified_wanted, MNT_FATAL|MNT_IN_CONTAINER },
|
||||||
|
{ "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME,
|
||||||
|
cg_is_legacy_wanted, MNT_FATAL|MNT_IN_CONTAINER },
|
||||||
|
diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
|
||||||
|
index 9f9a4759d1ca..53a7ee713427 100644
|
||||||
|
--- a/src/nspawn/nspawn-cgroup.c
|
||||||
|
+++ b/src/nspawn/nspawn-cgroup.c
|
||||||
|
@@ -94,7 +94,7 @@ int sync_cgroup(pid_t pid, bool unified_requested) {
|
||||||
|
if (unified)
|
||||||
|
r = mount("cgroup", tree, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "none,name=systemd,xattr");
|
||||||
|
else
|
||||||
|
- r = mount("cgroup", tree, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "__DEVEL__sane_behavior");
|
||||||
|
+ r = mount("cgroup", tree, "cgroup2", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL);
|
||||||
|
if (r < 0) {
|
||||||
|
r = log_error_errno(errno, "Failed to mount unified hierarchy: %m");
|
||||||
|
goto finish;
|
||||||
|
diff --git a/src/nspawn/nspawn-mount.c b/src/nspawn/nspawn-mount.c
|
||||||
|
index 70cca1527876..64cb6b3ce306 100644
|
||||||
|
--- a/src/nspawn/nspawn-mount.c
|
||||||
|
+++ b/src/nspawn/nspawn-mount.c
|
||||||
|
@@ -750,7 +750,7 @@ static int mount_unified_cgroups(const char *dest) {
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (mount("cgroup", p, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "__DEVEL__sane_behavior") < 0)
|
||||||
|
+ if (mount("cgroup", p, "cgroup2", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL) < 0)
|
||||||
|
return log_error_errno(errno, "Failed to mount unified cgroup hierarchy to %s: %m", p);
|
||||||
|
|
||||||
|
return 0;
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com
|
||||||
|
|
||||||
|
- Backport unified_cgroup_hierarchy fix for Linux >= 4.4. boo#989276
|
||||||
|
+ systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com
|
Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com
|
||||||
|
|
||||||
|
13
systemd.spec
13
systemd.spec
@ -256,6 +256,8 @@ Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch
|
|||||||
Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch
|
Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch
|
||||||
# PATCH-FIX-UPSTREAM -- fixed after 228
|
# PATCH-FIX-UPSTREAM -- fixed after 228
|
||||||
Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch
|
Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch
|
||||||
|
# PATCH-FIX-UPSTREAM -- fixed after 320
|
||||||
|
Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch
|
||||||
|
|
||||||
# UDEV PATCHES
|
# UDEV PATCHES
|
||||||
# ============
|
# ============
|
||||||
@ -281,7 +283,7 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch
|
|||||||
Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch
|
Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch
|
||||||
# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||||
Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||||
# PATCH-FIX-SUSE See bnc#882714 comment #51
|
# PATCH-FIX-SUSE See bnc#882714 comment #51
|
||||||
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch
|
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch
|
||||||
# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977)
|
# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977)
|
||||||
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch
|
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch
|
||||||
@ -466,8 +468,8 @@ Provides: syslog
|
|||||||
Provides: sysvinit(syslog)
|
Provides: sysvinit(syslog)
|
||||||
Requires(pre): /usr/bin/getent
|
Requires(pre): /usr/bin/getent
|
||||||
Requires(pre): /usr/sbin/groupadd
|
Requires(pre): /usr/sbin/groupadd
|
||||||
Requires(post): /usr/bin/getent
|
Requires(post): /usr/bin/getent
|
||||||
Requires(post): /usr/bin/setfacl
|
Requires(post): /usr/bin/setfacl
|
||||||
Requires(post): /usr/bin/systemctl
|
Requires(post): /usr/bin/systemctl
|
||||||
Requires(post): permissions
|
Requires(post): permissions
|
||||||
Conflicts: otherproviders(syslog)
|
Conflicts: otherproviders(syslog)
|
||||||
@ -602,6 +604,7 @@ cp %{SOURCE7} m4/
|
|||||||
%patch527 -p1
|
%patch527 -p1
|
||||||
%patch528 -p1
|
%patch528 -p1
|
||||||
%patch529 -p1
|
%patch529 -p1
|
||||||
|
%patch530 -p1
|
||||||
|
|
||||||
# udev patches
|
# udev patches
|
||||||
%patch1002 -p1
|
%patch1002 -p1
|
||||||
@ -811,7 +814,7 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl
|
|||||||
TTYVTDisallocate=no
|
TTYVTDisallocate=no
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
#ensure we get the running kernel sysctl settings.
|
#ensure we get the running kernel sysctl settings.
|
||||||
|
|
||||||
cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf
|
cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf
|
||||||
d! /run/sysctl.d
|
d! /run/sysctl.d
|
||||||
@ -881,7 +884,7 @@ do
|
|||||||
ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/
|
ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/
|
||||||
done
|
done
|
||||||
|
|
||||||
# add entries for xkeyboard-config converted keymaps; mappings,
|
# add entries for xkeyboard-config converted keymaps; mappings,
|
||||||
# which already exist in original systemd mapping table are being
|
# which already exist in original systemd mapping table are being
|
||||||
# ignored though, i.e. not overwritten
|
# ignored though, i.e. not overwritten
|
||||||
if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then
|
if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then
|
||||||
|
Loading…
Reference in New Issue
Block a user