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]

Reply via email to