gentoo: use /var/run for new /run compatibility
[util-vserver.git] / scripts / vmount
index 63741f6..c9dde07 100755 (executable)
@@ -53,9 +53,10 @@ the GNU General Public License.  This program has absolutely no warranty."
 
 
 declare -a guests
-while true; do
+while test $# -gt 0; do
     case "$1" in
        (--)    shift; break;;
+        (-*)    break;;
        (*)
            _setVserverDir "$1"
            guests=( "${guests[@]}" "$VSERVER_DIR" )
@@ -68,7 +69,7 @@ tmp=$(getopt -o +o:t:an --long help,version,debug,bind,rbind,move -n "$0" -- "$@
 eval set -- "$tmp"
 
 declare -a options
-
+fstype=""
 while true; do
     case "$1" in
        (--help)        showHelp $0 ;;
@@ -78,6 +79,7 @@ while true; do
                        options=( "${options[@]}" "$1" )
                        ;;
        (-t|-o)         options=( "${options[@]}" "$1" "$2" )
+                       test "$1" != "-t" || fstype="$1"
                        shift
                        ;;
        (--)            shift; break;;
@@ -88,13 +90,13 @@ done
 
 case "x$1" in
     (x/*|x)    ;;
-    (*)                panic $"vmount: the source must be an absolute path";;
+    (*)                test "$fstype" = "nfs" || panic $"vmount: the source must be an absolute path";;
 esac
 
 rc=0
 for guest in "${guests[@]}"; do
     pushd "$guest/vdir" &> /dev/null
-    $_VNAMESPACE -e "$guest" -- \
+    callInNamespace "$guest" \
        $_SECURE_MOUNT --chroot --fstab "$guest/fstab" "${options[@]}" "$@"
     test "$?" -eq 0 || rc=$?
     popd &> /dev/null