-if is_yes "${CPUSETS}" && [ -z "${CGDIR}" ]; then
- nls "ERROR: CGROUP/CPUSET support not enabled in kernel or /dev/cpuset or /dev/cgroup not mounted" >&2
- exit 1
-fi
+cpuset_mount() {
+ [ -n "${CGDIR}" ] && return
+
+ if grep -q cgroup /proc/filesystems 2>/dev/null ; then
+ if ! grep -q "^[^#].*cgroup" /etc/fstab 2>/dev/null ; then
+ # creating is more convenient than artificial conflict with older udev
+ mkdir -p /dev/cgroup
+ modprobe -s blk-cgroup 2>/dev/null
+ # mount w/o options enables all available cgroup subsystems
+ mount -n -t cgroup none /dev/cgroup
+ fi
+ elif grep -q cpuset /proc/filesystems 2>/dev/null ; then
+ if ! grep -q "^[^#].*cpuset" /etc/fstab 2>/dev/null ; then
+ mount -n -t cpuset none /dev/cpuset
+ fi
+ else
+ nls "ERROR: CGROUP/CPUSET support not enabled in kernel" >&2
+ return 1
+ fi
+}