tag 360983 +pending
thanks
I have tested this with Bastian, and have added it to the patch list for
the next upload. I am waiting on a fix to the vlogin echo issue before
uploading.
Micah
Bastian Blank wrote:
> Package: util-vserver
> Version: 0.30.210-3
> Severity: wishlist
>
> Please add namespace cleanup. The attached patch implements it properly
> in userspace.
>
> It is only activated on request and only touch filesystems not under the
> vserver root and different to /dev and /proc.
>
> Bastian
>
>
>
> ------------------------------------------------------------------------
>
> diff -u util-vserver-0.30.210/debian/changelog
> util-vserver-0.30.210/debian/changelog
> --- util-vserver-0.30.210/debian/changelog
> +++ util-vserver-0.30.210/debian/changelog
> @@ -1,3 +1,10 @@
> +util-vserver (0.30.210-3.1) unstable; urgency=low
> +
> + * Non-maintainer upload.
> + * Add proper namespace cleanup.
> +
> + -- Bastian Blank <[EMAIL PROTECTED]> Wed, 5 Apr 2006 20:09:41 +0200
> +
> util-vserver (0.30.210-3) unstable; urgency=low
>
> * Removed bashisms from initscript (Closes: #360675)
> only in patch2:
> unchanged:
> --- util-vserver-0.30.210.orig/scripts/vserver.functions
> +++ util-vserver-0.30.210/scripts/vserver.functions
> @@ -743,8 +743,8 @@
>
> test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$cfgdir"
>
> - test -z "$NAMESPACE_CLEANUP" || isAvoidNamespace "$cfgdir" || \
> - $_VNAMESPACE --cleanup
> + isNamespaceCleanup "$cfgdir" || \
> + _namespaceCleanup
>
> _mountVserverInternal "$cfgdir"/fstab
> _mountVserverInternal "$cfgdir"/fstab.local
> @@ -1099,3 +1099,29 @@
> _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
> +}
> +
> only in patch2:
> unchanged:
> --- util-vserver-0.30.210.orig/scripts/functions
> +++ util-vserver-0.30.210/scripts/functions
> @@ -480,6 +480,18 @@
> -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
> {
> only in patch2:
> unchanged:
> --- util-vserver-0.30.210.orig/doc/configuration.xml
> +++ util-vserver-0.30.210/doc/configuration.xml
> @@ -37,6 +37,14 @@
> </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 @@
> </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
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]