commit: 2eb0ea9afbba584fc4c5ee0feefa9ae6a3d3278d Author: William Hubbs <w.d.hubbs <AT> gmail <DOT> com> AuthorDate: Sun Nov 23 16:28:21 2014 +0000 Commit: William Hubbs <williamh <AT> gentoo <DOT> org> CommitDate: Mon Nov 24 03:59:01 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/openrc.git;a=commit;h=2eb0ea9a
Make sysfs behave like netmount and localmount sysfs now mounts all related sysfs file systems and returns success, like netmount and localmount. Also, we now check to make sure the cgroups are not mounted before we mount them. X-Gentoo-Bug: 530138 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=530138 --- init.d/sysfs.in | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/init.d/sysfs.in b/init.d/sysfs.in index 67485c2..bc0d9d3 100644 --- a/init.d/sysfs.in +++ b/init.d/sysfs.in @@ -113,7 +113,8 @@ mount_cgroups() yesno ${rc_controller_cgroups:-YES} && [ -e /proc/cgroups ] || return 0 while read name hier groups enabled rest; do case "${enabled}" in - 1) mkdir /sys/fs/cgroup/${name} + 1) mountinfo -q /sys/fs/cgroup/${name} && continue + mkdir /sys/fs/cgroup/${name} mount -n -t cgroup -o ${sysfs_opts},${name} \ ${name} /sys/fs/cgroup/${name} ;; @@ -129,25 +130,13 @@ restorecon_sys() restorecon -rF /sys/fs/cgroup >/dev/null 2>&1 eend $? fi - - return 0 } start() { - local retval mount_sys - retval=$? - if [ $retval -eq 0 ]; then - mount_misc - retval=$? - fi - if [ $retval -eq 0 ]; then - mount_cgroups - retval=$? - fi - + mount_misc + mount_cgroups restorecon_sys - - return $retval + return 0 }