X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvsomething;h=40185e5a9c0ed05d10f9cb1957842d2e85814fc6;hb=beb9603e6f1109c4b7022a34dfdae1b49f502954;hp=556786903b853516c02686002284cf233aaa5a90;hpb=9c78378bebc1a9f3d400f422df8ede9efea57dea;p=util-vserver.git diff --git a/scripts/vsomething b/scripts/vsomething index 5567869..40185e5 100755 --- a/scripts/vsomething +++ b/scripts/vsomething @@ -23,6 +23,7 @@ test -e "$UTIL_VSERVER_VARS" || { } . "$UTIL_VSERVER_VARS" . "$_LIB_FUNCTIONS" +. "$__PKGLIBDIR/vserver.functions" function showHelp() @@ -105,8 +106,15 @@ for i in "${vservers[@]}"; do if pkgmgmt.isInternal "$i"; then $_VSERVER "$i" exec "$cmd" "$@" else - callInNamespace "$i" \ - "$_VNAMESPACE" --new -- "$VSOMETHING_WORKER" "$i" "$@" + _setVserverDir "$i" + # subshell so we don't have to clean up + ( _generateChbindOptions "$VSERVER_DIR" + $_VSERVER "$i" status &> /dev/null || \ + CHBIND_CMD=() + callInNamespace "$i" \ + $_VNAMESPACE --new -- \ + "${CHBIND_CMD[@]}" \ + "$VSOMETHING_WORKER" "$i" "$@" ) fi else "$cmd" "$i" "$@"