diff options
Diffstat (limited to 'util-vserver/patches/0.30.210-r18/235_all_namespace-cleanup.patch')
-rw-r--r-- | util-vserver/patches/0.30.210-r18/235_all_namespace-cleanup.patch | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/util-vserver/patches/0.30.210-r18/235_all_namespace-cleanup.patch b/util-vserver/patches/0.30.210-r18/235_all_namespace-cleanup.patch deleted file mode 100644 index d5b7550..0000000 --- a/util-vserver/patches/0.30.210-r18/235_all_namespace-cleanup.patch +++ /dev/null @@ -1,120 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 12_vnamespace_cleanup.dpatch by Micah Anderson <Micah Anderson <micah@debian.org>> -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: No description. - -@DPATCH@ -Index: util-vserver-0.30.210/doc/configuration.xml -=================================================================== ---- util-vserver-0.30.210.orig/doc/configuration.xml -+++ util-vserver-0.30.210/doc/configuration.xml -@@ -37,6 +37,14 @@ the 'barrier' attribute. Else, common ch - </description> - </boolean> - -+ <boolean id="global-namespace-cleanup" name="namespace-cleanup"> -+ <description> -+Enable namespace cleanup globally. It can be overridden for a single vserver -+by setting the <optionref ref="global-nonamespace-cleanup">nonamespace-cleanup</optionref> flag -+there. -+ </description> -+ </boolean> -+ - <link name="run.rev"> - <description> - Path of the vserver run reverse directory. This directory contains -@@ -344,6 +352,19 @@ the 'barrier' attribute. Else, common ch - </description> - </boolean> - -+ <boolean id="global-nonamespace-cleanup" name="nonamespace-cleanup"> -+ <description> -+Overrides the global <optionref ref="global-namespace-cleanup">namespace-cleanup</optionref> flag and disables -+namespace cleanup for the current vserver. -+ </description> -+ </boolean> -+ -+ <boolean name="namespace-cleanup"> -+ <description> -+Enable namespace cleanup for the current vserver. -+ </description> -+ </boolean> -+ - <hash name="schedule"> - <description> - [experimental; name is subject of possible change] Contains the -Index: util-vserver-0.30.210/scripts/functions -=================================================================== ---- util-vserver-0.30.210.orig/scripts/functions -+++ util-vserver-0.30.210/scripts/functions -@@ -480,6 +480,18 @@ function isAvoidNamespace - -e "$cfgdir"/nonamespace - } - -+function isNamespaceCleanup -+{ -+ local cfgdir -+ -+ $_VSERVER_INFO - FEATURE namespace || return 0 -+ cfgdir=$($_VSERVER_INFO "$1" CFGDIR) || return 0 -+ test -e "$cfgdir"/nonamespace-cleanup && return 0 -+ test -e "$__CONFDIR"/.defaults/namespace-cleanup -o \ -+ -e "$cfgdir"/namespace-cleanup && return 1 -+ return 0 -+} -+ - ## Usage: getAllVservers <var> [<KIND>*] - function getAllVservers - { -Index: util-vserver-0.30.210/scripts/vserver.functions -=================================================================== ---- util-vserver-0.30.210.orig/scripts/vserver.functions -+++ util-vserver-0.30.210/scripts/vserver.functions -@@ -792,13 +792,13 @@ function mountVserver - - test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$cfgdir" - -- test -z "$NAMESPACE_CLEANUP" || isAvoidNamespace "$cfgdir" || \ -- $_VNAMESPACE --cleanup -- - _mountVserverInternal "$cfgdir"/fstab - _mountVserverInternal "$cfgdir"/fstab.local - _mountVserverInternal "$cfgdir"/fstab.remote $_CHBIND "${CHBIND_OPTS[@]}" - -+ isNamespaceCleanup "$cfgdir" || \ -+ _namespaceCleanup -+ - isAvoidNamespace "$cfgdir" || \ - $_SECURE_MOUNT --rbind -n "$vdir" "/" - } -@@ -1150,3 +1150,29 @@ function saveDiskLimits - _saveSingleDiskLimit "$vdir" "$dlimit" - done - } -+ -+function _namespaceCleanup -+{ -+ local root=$(readlink -f "$vdir") -+ local tmp="$root" -+ local list="" -+ while [ "$tmp" ]; do -+ list="$list $tmp" -+ tmp="${tmp%/*}" -+ done -+ local list_umount="" -+ while read dev path opts; do -+ [ "$path" ] || continue -+ for i in $root /dev /proc; do -+ [ "${path#$i}" != "$path" ] && continue 2 -+ done -+ for i in $list /; do -+ [ "$path" = "$i" ] && continue 2 -+ done -+ list_umount="$path $list_umount" -+ done < /proc/mounts -+ for i in $list_umount; do -+ umount $i -+ done -+} -+ |