added $_VATTRIBUTE and $_VNAMESPACE
[util-vserver.git] / util-vserver / scripts / vserver.functions
index a86303a..d6e6bc6 100644 (file)
@@ -228,6 +228,7 @@ function _generateFlagOptions
     while read flag; do
        case x"$flag" in
            x|x#)               ;;
+           xnamespace)         ;;
            xfakeinit)
                CHCONTEXT_INIT_OPTS=( --disconnect --flag fakeinit )
                ;;
@@ -237,6 +238,9 @@ function _generateFlagOptions
                ;;
        esac
     done <"$vdir"/flags
+
+    isAvoidNamespace "$cfgdir" || \
+       CHCONTEXT_FLAG_OPTS=( "${CHCONTEXT_FLAG_OPTS[@]}" --flag namespace )
 }
 
 function _generateChcontextOptions
@@ -436,13 +440,6 @@ function generateOptions
     _generateChcontextOptions  "$1"
 }
 
-function _isAvoidNamespace
-{
-    test ! -e "$1"/namespace || return 1
-    test -e "$CONFDIR"/.defaults/nonamespace -o \
-         -e "$1"/nonamespace
-}
-
 function mountVserver
 {
     local cfgdir=$1
@@ -462,7 +459,7 @@ function mountVserver
     $_CHBIND "${CHBIND_OPTS[@]}" \
        $_SECURE_MOUNT -a --chroot "$vdir" --fstab "$cfgdir"/fstab
 
-    _isAvoidNamespace "$cfgdir" || \
+    isAvoidNamespace "$cfgdir" || \
        $_SECURE_MOUNT --rbind -n "$vdir" "/"
 }
 
@@ -473,7 +470,7 @@ function umountVserver
 
     is_ok=1
 
-    _isAvoidNamespace "$cfgdir"  || return 0
+    isAvoidNamespace "$cfgdir"  || return 0
     test -e "$cfgdir"/fstab      || return 0
     test "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$cfgdir"