+++ /dev/null
-diff -Nurp util-vserver-0.30.210.orig/contrib/manifest.dat.pathsubst util-vserver-0.30.210.delete/contrib/manifest.dat.pathsubst
---- util-vserver-0.30.210.orig/contrib/manifest.dat.pathsubst 2006-01-21 22:34:46.000000000 +0100
-+++ util-vserver-0.30.210.delete/contrib/manifest.dat.pathsubst 2006-03-25 00:33:26.000000000 +0100
-@@ -18,6 +18,7 @@ base @PKGLIBDIR@/vserver.start
- @ENSC_HAVE_C99_COMPILER_TRUE@base @PKGLIBDIR@/vserver.start.bin
- base @PKGLIBDIR@/vserver.stop
- base @PKGLIBDIR@/vserver.suexec
-+base @PKGLIBDIR@/vserver.delete
- core @PKGLIBDIR@/util-vserver-vars
- build @PKGLIBDIR@/rpm-fake.so
- legacy @LEGACYDIR@/save_s_context
-diff -Nurp util-vserver-0.30.210.orig/Makefile.in util-vserver-0.30.210.delete/Makefile.in
---- util-vserver-0.30.210.orig/Makefile.in 2006-01-22 20:33:21.000000000 +0100
-+++ util-vserver-0.30.210.delete/Makefile.in 2006-04-10 23:29:34.000000000 +0200
-@@ -1927,7 +1927,8 @@ scripts_pkglib_src_DTA = scripts/functio
- scripts/vserver.functions \
- scripts/vserver.start \
- scripts/vserver.stop \
-- scripts/vserver.suexec
-+ scripts/vserver.suexec \
-+ scripts/vserver.delete
-
- scripts_pkglib_gen_DTA = scripts/util-vserver-vars
- scripts_pkglib_src_SCRPTS = scripts/pkgmgmt \
-diff -Nurp util-vserver-0.30.210.orig/scripts/Makefile-files util-vserver-0.30.210.delete/scripts/Makefile-files
---- util-vserver-0.30.210.orig/scripts/Makefile-files 2005-04-28 19:45:34.000000000 +0200
-+++ util-vserver-0.30.210.delete/scripts/Makefile-files 2006-03-25 00:31:07.000000000 +0100
-@@ -52,7 +52,8 @@ scripts_pkglib_src_DTA = scripts/functio
- scripts/vserver.functions \
- scripts/vserver.start \
- scripts/vserver.stop \
-- scripts/vserver.suexec
-+ scripts/vserver.suexec \
-+ scripts/vserver.delete
-
- scripts_pkglib_gen_DTA = scripts/util-vserver-vars
-
-diff -Nurp util-vserver-0.30.210.orig/scripts/vserver util-vserver-0.30.210.delete/scripts/vserver
---- util-vserver-0.30.210.orig/scripts/vserver 2005-10-28 20:29:00.000000000 +0200
-+++ util-vserver-0.30.210.delete/scripts/vserver 2006-03-23 23:07:03.000000000 +0100
-@@ -57,6 +57,7 @@ Possible commands are:
-
- build <buildopts>*
- ... builds a new vserver from scratch
-+ delete ... remove a vserver
-
- unify [-R]
- ... (de)unify vserver
-@@ -199,7 +200,7 @@ test "$2" != start -o -n "$OPTION_NONAME
-
- . $__PKGLIBDIR/vserver.functions
- case "$2" in
-- (start|stop)
-+ (start|stop|delete)
- shift 2
- . $__PKGLIBDIR/vserver.$cmd
- ;;
-diff -Nurp util-vserver-0.30.210.orig/scripts/vserver.delete util-vserver-0.30.210.delete/scripts/vserver.delete
---- util-vserver-0.30.210.orig/scripts/vserver.delete 1970-01-01 01:00:00.000000000 +0100
-+++ util-vserver-0.30.210.delete/scripts/vserver.delete 2006-03-25 00:49:35.000000000 +0100
-@@ -0,0 +1,34 @@
-+#! /bin/bash
-+# $Id$
-+
-+# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-+#
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; version 2 of the License.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+
-+. "$_LIB_VSERVER_BUILD_FUNCTIONS"
-+. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
-+
-+if test -z "$OPTION_SILENT" ; then
-+ read -p "Are you sure you want to delete the vserver $vserver (y/N) " deleteok
-+ if [[ ${deleteok} != [Yy] ]]; then
-+ exit 2
-+ fi
-+fi
-+
-+isVserverRunning "$VSERVER_DIR" &&
-+ "${SELF[@]}" $OPTION_SILENT --sync "$vserver" stop
-+
-+base.init
-+pkgmgmt.initVariables
-+rm -rf "`readlink -f "$VSERVER_DIR"/vdir`" "$VSERVER_DIR" "$PKGCFGDIR"
+++ /dev/null
-#! /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@
-diff -urNad trunk~/doc/configuration.xml trunk/doc/configuration.xml
---- trunk~/doc/configuration.xml 2006-03-20 08:16:46.000000000 -0500
-+++ trunk/doc/configuration.xml 2006-04-05 23:18:43.000000000 -0400
-@@ -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
-diff -urNad trunk~/scripts/functions trunk/scripts/functions
---- trunk~/scripts/functions 2006-03-20 08:16:45.000000000 -0500
-+++ trunk/scripts/functions 2006-04-05 23:18:43.000000000 -0400
-@@ -480,6 +480,18 @@
- -e "$cfgdir"/nonamespace
- }
-
-+function isNamespaceCleanup
-+{
-+ local cfgdir
-+
-+ $_VSERVER_INFO - FEATURE namespace || return 1
-+ cfgdir=$($_VSERVER_INFO "$1" CFGDIR) || return 1
-+ test -e "$cfgdir"/nonamespace-cleanup && return 1
-+ test -e "$__CONFDIR"/.defaults/namespace-cleanup -o \
-+ -e "$cfgdir"/namespace-cleanup && return 0
-+ return 1
-+}
-+
- ## Usage: getAllVservers <var> [<KIND>*]
- function getAllVservers
- {
-diff -urNad trunk~/scripts/vserver.functions trunk/scripts/vserver.functions
---- trunk~/scripts/vserver.functions 2006-03-20 08:16:45.000000000 -0500
-+++ trunk/scripts/vserver.functions 2006-04-05 23:19:01.000000000 -0400
-@@ -743,13 +743,13 @@
-
- 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" "/"
- }
-@@ -1099,3 +1099,29 @@
- _saveSingleDiskLimit "$vdir" "$dlimit"
- done
- }
-+
-+function _namespaceCleanup
-+{
-+ local root=$(readlink -f "$vdir")
-+ local tmp="$root"
-+ local -a list
-+ while [ "$tmp" ]; do
-+ list=( "${list[@]}" "$tmp" )
-+ tmp="${tmp%/*}"
-+ done
-+ local -a 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=( "${list_umount[@]}" "$path" )
-+ done < /proc/mounts
-+ for i in "${list_umount[@]}"; do
-+ umount -l -n "$i"
-+ done
-+}
-+
+++ /dev/null
-diff -Nurp util-vserver-0.30.210.orig/lib/syscall-alternative.h util-vserver-0.30.210.shiny10/lib/syscall-alternative.h
---- util-vserver-0.30.210.orig/lib/syscall-alternative.h 2005-10-28 18:33:50.000000000 +0200
-+++ util-vserver-0.30.210.shiny10/lib/syscall-alternative.h 2006-04-02 21:07:52.000000000 +0200
-@@ -1,9 +1,7 @@
-- // from http://vserver.13thfloor.at/Experimental/SYSCALL/syscall_shiny7.h
--
- #ifndef __SYSCALL_NEW_H
- #define __SYSCALL_NEW_H
-
--/* Copyright (C) 2005 Herbert Pötzl
-+/* Copyright (C) 2005-2006 Herbert Pötzl
-
- global config options
-
-@@ -39,12 +37,13 @@
- __sysc_rcon(n) ... syscall register constraint
- __sysc_regs ... list of input regs for clobber
- __sysc_type ... register type
-+ __sysc_aout ... asm code output constraint
-
- if all else fails
-
- __sc_asmload(n,N,...) ... asm code to prepare arguments
- __sc_asmsysc(n,N) ... asm code to execute syscall
-- __sc_asmsave(n,r,e) ... asm code to store results
-+ __sc_asmsave(n) ... asm code to store results
-
- */
-
-@@ -243,7 +242,8 @@
- sret: r0(r28)
- serr: (sret >= (unsigned)-EMAXERRNO)
- call: ble 0x100(%%sr2, %%r0)
-- clob: r1, r2, r4, r20, r29, r31, memory
-+ clob: r1, r2, (r4), r20, r29, r31, memory
-+ picr: pr(r19)
- */
-
- #define __sysc_max_err 4095
-@@ -253,13 +253,21 @@
- ("r26", "r25", "r24", "r23", "r22", "r21")
-
- #define __sysc_cmd_sys "ble 0x100(%%sr2,%%r0)"
--#define __sysc_cmd_fin "ldi %0,%%r20"
-
--#define __sysc_clobber __sysc_regs, \
-- "r1", "r2", "r4", "r20", "r29", "r31", "memory"
-+#define __sysc_pre(n) \
-+ __pasm(n,1,1, "copy %%r19, %%r4" , )
-
--#warning syscall arch hppa not tested yet
-+#define __sysc_fin(n) \
-+ __casm(n,1,1, "ldi %0,%%r20" , )\
-+ __pasm(n,1,1, "copy %%r4, %%r19" , )
-
-+#ifndef __PIC__
-+#define __sysc_clobber __sysc_regs, \
-+ "r1", "r2", "r20", "r29", "r31", "memory"
-+#else
-+#define __sysc_clobber __sysc_regs, \
-+ "r1", "r2", "r4", "r20", "r29", "r31", "memory"
-+#endif
-
-
- /* *****************************************
-@@ -277,6 +285,7 @@
- sret: r0(eax)
- serr: (sret >= (unsigned)-EMAXERRNO)
- call: int 0x80
-+ picr: pr(ebx)
- clob: memory
- */
-
-@@ -301,15 +310,18 @@
- __casm(n,6,1, "pushl %%ebp" , )\
- ""::__sc_iregs(n,__VA_ARGS__):__sysc_clobber)
-
-+#define __sc_asmsave(n)
-+
- #define __sysc_pre(n) \
- __casm(n,6,1, "movl %%eax,%%ebp" , )\
-- __casm(n,0,1, "movl %0,%%eax" , )\
-+ __casm(n,0,1, "movl %1,%%eax" , )\
-
- #define __sysc_fin(n) \
- __casm(n,6,1, "popl %%ebp" , )\
- __pasm(n,1,1, "popl %%ebx" , )\
-
--#define __sysc_clobber __sysc_regs, "eax", "memory"
-+#define __sysc_aout "=a"(__res)
-+#define __sysc_clobber __sysc_regs, "memory"
-
-
- /* *****************************************
-@@ -399,8 +411,43 @@
-
- #elif defined(__mips__)
-
--#error syscall arch mips not implemented yet
-+/* The ABIO32 calling convention uses a0-a3 to pass the first
-+ four arguments, the rest is passed on the userspace stack. The 5th arg
-+ starts at 16($sp).
-+
-+ ABIN32 and ABI64 pass 6 args in a0-a3, t0-t1.
-+
-+ scnr: id(v0)
-+ args: a1(a0), a2(a1), a3(a2), a4(a3), a5(16($sp)), a6(20($sp))
-+ sret: r0(v0)
-+ serr: e0(a3)
-+ call: syscall
-+ clob: at, v0, t0-t7, t8-t9
-+*/
-+
-+#define __sysc_reg_cid "v0"
-+#define __sysc_reg_ret "v0"
-+#define __sysc_reg_err "a3"
-+#define __sysc_cmd_sys "syscall"
-+
-+#define __sysc_reg(n) __arg_##n\
-+ ("a0","a1","a2","a3", "t0", "t1")
-
-+#define __sysc_clobber "$1", "$3", "$8", "$9", "$10", "$11", "$12", \
-+ "$13", "$14", "$15", "$24", "$25", "memory"
-+
-+#if _MIPS_SIM == _ABIO32
-+#define __sysc_pre(n) \
-+ __casm(n,5,1,"addiu $sp,$sp,-32",) \
-+ __casm(n,6,1,"sw $9,20($sp)",) \
-+ __casm(n,5,1,"sw $8, 16($sp)",)
-+#define __sysc_fin(n) \
-+ __casm(n,5,1,"addiu $sp,$sp,32",)
-+#elif (_MIPS_SIM == _ABIN32) || (_MIPS_SIM == _ABI64)
-+#warning syscall arch mips with ABI N32 and 64 not tested yet
-+#else
-+#error unknown mips ABI version
-+#endif
-
-
- /* *****************************************
-@@ -651,6 +698,7 @@
- #define __sysc_clobber __sysc_regs, \
- "cc", "r11", "rcx", "memory"
-
-+#define __sysc_aout "=a"(__res)
-
- #else
- #error unknown kernel arch
-@@ -834,7 +882,7 @@
- #define __sc_inp_def(n,value)
- #endif
-
--#ifndef __sysc_save
-+#if !defined(__sysc_save) && !defined(__sysc_aout)
- #define __sc_res_def(n,r) __sc_asm_reg(n, r);
- #else
- #define __sc_res_def(n,r) __sc_reg(n);
-@@ -865,7 +913,6 @@
- #endif
-
-
--
- #ifdef __sc_complex /* complex result */
-
- #ifndef __sysc_errc
-@@ -918,6 +965,7 @@
- return (type)(res)
- #endif
-
-+
- #define __sc_results \
- __sc_res_def(__res, __sysc_reg_res)
-
-@@ -939,8 +987,13 @@
- __casm(n,3,0,"%3 ",) __casm(n,4,0,"%4 ",) __casm(n,5,0,"%5 ",) \
- __casm(n,6,0,"%6 ",) "*/"
-
-+#ifdef __sysc_aout
-+#define __sc_dummy_save(n)
-+#define __sc_asmsave(n)
-+#else
- #define __sc_dummy_save(n) "/* gcc dummy save " \
- __casm(n,0,0,"%0 ",) __casm(n,1,0,"%1 ",) "*/"
-+#endif
-
- #define __comment(name) "\t/* kernel sys_" \
- #name "[" __stringify(__sc_id(name)) "] */"
-@@ -1006,10 +1059,14 @@
- #endif
- #endif
-
-+#ifndef __sysc_aout
-+#define __sysc_aout
-+#endif
-+
- #ifndef __sc_asmsysc
- #define __sc_asmsysc(n,N) __sc_asm_vol( \
- __casm(n,0,0, __sc_cmds(n,N) , )\
-- ::"i"(__sc_id(N)) : __sysc_clobber)
-+ :__sysc_aout:"i"(__sc_id(N)) : __sysc_clobber)
- #endif
-
- #ifndef __sc_asmsave
-@@ -1031,33 +1088,33 @@
-
-
-
--#define _syscall0(type, name) \
-+#define _syscall0(type, name) \
- type name(void) \
- __sc_body(0, type, name, *)
-
--#define _syscall1(type, name, type1, arg1) \
-+#define _syscall1(type, name, type1, arg1) \
- type name(type1 arg1) \
- __sc_body(1, type, name, arg1)
-
--#define _syscall2(type, name, type1, arg1, type2, arg2) \
-+#define _syscall2(type, name, type1, arg1, type2, arg2) \
- type name(type1 arg1, type2 arg2) \
- __sc_body(2, type, name, arg1, arg2)
-
--#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3) \
-+#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3) \
- type name(type1 arg1, type2 arg2, type3 arg3) \
- __sc_body(3, type, name, arg1, arg2, arg3)
-
--#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3, \
-+#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3, \
- type4, arg4) \
- type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
- __sc_body(4, type, name, arg1, arg2, arg3, arg4)
-
--#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3, \
-- type4, arg4, type5, arg5) \
-+#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3, \
-+ type4, arg4, type5, arg5) \
- type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
- __sc_body(5, type, name, arg1, arg2, arg3, arg4, arg5)
-
--#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3, \
-+#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3, \
- type4, arg4, type5, arg5, type6, arg6) \
- type name(type1 arg1, type2 arg2, type3 arg3, \
- type4 arg4, type5 arg5, type6 arg6) \
+++ /dev/null
-diff -ur util-vserver-0.30.209/scripts/vserver-setup.functions util-vserver-0.30.209.cpuset/scripts/vserver-setup.functions
---- util-vserver-0.30.209/scripts/vserver-setup.functions 2005-02-26 00:32:02.000000000 +0100
-+++ util-vserver-0.30.209.cpuset/scripts/vserver-setup.functions 2005-11-25 15:11:30.224131360 +0100
-@@ -24,11 +24,15 @@
- SETUP_CONFDIR=
- SETUP_CONTEXT=
- SETUP_INITSTYLE=
-+SETUP_CPUSET=
-+SETUP_CPUSETCPUS=
-+SETUP_CPUSETMEMS=
-+SETUP_CPUSETVIRT=
-
- declare -a SETUP_INTERFACES=()
- declare -a SETUP_FLAGS=()
-
--declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:"
-+declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:,cpuset:,cpusetcpus:,cpusetmems:,cpusetvirt"
- declare -r SETUP_HELPMSG=$"
- --context ... the static context of the vserver [default: none; a dynamic
- context will be assumed]
-@@ -55,6 +58,19 @@
- this becomes a per vserver limit)
- private: No other process can join this security context.
- Even root
-+ --cpuset <name>
-+ ... declares the CPUSET this vserver will run in [default: none]
-+ --cpusetcpus <number[-number][:<exclusive>]>
-+ ... sets which cpus belong to the CPUSET,
-+ exclusive is a flag (0|1) prohibiting any other cpuset from
-+ using those cpus
-+ --cpusetmems <number[-number][:<exclusive>]>
-+ ... sets which memory pools belong to the CPUSET,
-+ exclusive is a flag (0|1) prohibiting any other cpuset from
-+ using those memory pools
-+ --cpusetvirt
-+ ... virtualize cpuset (guest will see only CPUs defined in cpuset)
-+ Requires kernel patch from http://www.bullopensource.org/cpuset/
- --initstyle <style>
- ... configures the initstyle (e.g. minit,sysv,plain)
- "
-@@ -72,6 +85,22 @@
- (--netbcast) SETUP_NETBCAST=$2;;
- (--interface) SETUP_INTERFACES=( "${SETUP_INTERFACES[@]}" "$2" );;
- (--initstyle) SETUP_INITSTYLE=$2;;
-+ (--cpuset) SETUP_CPUSET=$2;;
-+ (--cpusetcpus) old_IFS=$IFS
-+ IFS=:
-+ set -- $2
-+ SETUP_CPUSETCPUS=$1
-+ SETUP_CPUSETCPUSEXCL=$2
-+ IFS=$old_IFS
-+ ;;
-+ (--cpusetmems) old_IFS=$IFS
-+ IFS=:
-+ set -- $2
-+ SETUP_CPUSETMEMS=$1
-+ SETUP_CPUSETMEMSEXCL=$2
-+ IFS=$old_IFS
-+ ;;
-+ (--cpusetvirt) SETUP_CPUSETVIRT=1;;
- (--flags) old_IFS=$IFS
- IFS=,
- set -- $2
-@@ -140,7 +166,7 @@
- local cfgdir=${SETUP_CONFDIR:?}
- local i
-
-- mkdir -p "$cfgdir"/interfaces "$cfgdir"/apps/init "$cfgdir"/uts
-+ mkdir -p "$cfgdir"/interfaces "$cfgdir"/apps/init "$cfgdir"/uts "$cfgdir"/cpuset
-
- _setup_writeSingleOption "$name" "$cfgdir"/name
- _setup_writeSingleOption "$SETUP_CONTEXT" "$cfgdir"/context
-@@ -150,6 +176,12 @@
- _setup_writeSingleOption "$SETUP_NETPREFIX" "$cfgdir"/interfaces/prefix
- _setup_writeSingleOption "$SETUP_NETBCAST" "$cfgdir"/interfaces/bcast
- _setup_writeSingleOption "$SETUP_INITSTYLE" "$cfgdir"/apps/init/style
-+ _setup_writeSingleOption "$SETUP_CPUSET" "$cfgdir"/cpuset/name
-+ _setup_writeSingleOption "$SETUP_CPUSETCPUS" "$cfgdir"/cpuset/cpus
-+ _setup_writeSingleOption "$SETUP_CPUSETCPUSEXCL" "$cfgdir"/cpuset/cpus_exclusive
-+ _setup_writeSingleOption "$SETUP_CPUSETMEMS" "$cfgdir"/cpuset/mems
-+ _setup_writeSingleOption "$SETUP_CPUSETMEMSEXCL" "$cfgdir"/cpuset/mem_exclusive
-+ _setup_writeSingleOption "$SETUP_CPUSETVIRT" "$cfgdir"/cpuset/virtualize
-
- local idx=0
- for i in "${SETUP_INTERFACES[@]}"; do
-diff -ur util-vserver-0.30.209/scripts/vserver.functions util-vserver-0.30.209.cpuset/scripts/vserver.functions
---- util-vserver-0.30.209/scripts/vserver.functions 2005-11-25 14:30:27.665999880 +0100
-+++ util-vserver-0.30.209.cpuset/scripts/vserver.functions 2005-11-25 15:11:04.593027880 +0100
-@@ -687,6 +687,54 @@
- fi
- }
-
-+function addtoCPUSET
-+{
-+ local vdir=$1
-+ local cpuset
-+ local f="$vdir"/cpuset
-+ local i
-+ local configured=0
-+
-+ test -d "$f" || return 0
-+ test -e "$f"/name || return 0
-+
-+ read cpuset < "$f"/name
-+ test -e "$f"/nocreate || {
-+ test -d /dev/cpuset/"$cpuset" || mkdir /dev/cpuset/"$cpuset" || configured=1
-+ for i in cpus mems cpu_exclusive mem_exclusive virtualize; do
-+ if test -e "$f"/"$i"; then
-+ cat "$f"/"$i" >/dev/cpuset/"$cpuset"/"$i" 2>/dev/null || {
-+ configured=1
-+ break
-+ }
-+ fi
-+ done
-+ }
-+
-+ echo $$ >/dev/cpuset/"$cpuset"/tasks || configured=1
-+ if [ "$configured" -ne 0 ]; then
-+ warning $"\
-+WARNING: Failed to create or CPUSET \"$cpuset\" does not exist! Not using it!" >&2
-+ rmdir /dev/cpuset/"$cpuset" 2>/dev/null || :
-+ return 0
-+ fi
-+}
-+
-+function removeCPUSET
-+{
-+ local vdir=$1
-+ local cpuset
-+ local f="$vdir"/cpuset
-+
-+ test -d "$f" || return 0
-+ test -e "$f"/name || return 0
-+
-+ read cpuset < "$f"/name
-+ test -e "$f"/nocreate || {
-+ rmdir /dev/cpuset/"$cpuset" 2>/dev/null || :
-+ }
-+}
-+
- function _mountVserverInternal
- {
- local fstab="$1"
-diff -ur util-vserver-0.30.209/scripts/vserver.start util-vserver-0.30.209.cpuset/scripts/vserver.start
---- util-vserver-0.30.209/scripts/vserver.start 2005-10-28 20:41:32.000000000 +0200
-+++ util-vserver-0.30.209.cpuset/scripts/vserver.start 2005-11-25 14:30:14.958931648 +0100
-@@ -111,6 +111,7 @@
-
- mountVserver "$VSERVER_DIR" && is_mounted=1
- prepareInit "$VSERVER_DIR"
-+addtoCPUSET "$VSERVER_DIR"
-
- pushd "$VSERVER_DIR"/vdir/ >/dev/null
- execScriptlets "$VSERVER_DIR" "$VSERVER_NAME" pre-start
-diff -ur util-vserver-0.30.209/scripts/vserver.stop util-vserver-0.30.209.cpuset/scripts/vserver.stop
---- util-vserver-0.30.209/scripts/vserver.stop 2005-10-29 17:35:43.000000000 +0200
-+++ util-vserver-0.30.209.cpuset/scripts/vserver.stop 2005-11-25 15:12:23.679004984 +0100
-@@ -99,3 +99,4 @@
- disableInterfaces "$VSERVER_DIR"
-
- execScriptlets "$VSERVER_DIR" "$VSERVER_NAME" postpost-stop
-+removeCPUSET "$VSERVER_DIR"
-diff -ur util-vserver-0.30.209/scripts/vserver.suexec util-vserver-0.30.209.cpuset/scripts/vserver.suexec
---- util-vserver-0.30.209/scripts/vserver.suexec 2005-07-15 21:01:06.000000000 +0200
-+++ util-vserver-0.30.209.cpuset/scripts/vserver.suexec 2005-11-25 14:30:14.958931648 +0100
-@@ -22,6 +22,7 @@
- exit 1
- }
- generateOptions "$VSERVER_DIR"
-+addtoCPUSET "$VSERVER_DIR"
-
- user=$1
- shift