Whamcloud - gitweb
LU-9100 lnet: lctl net down success when lnet not loaded
[fs/lustre-release.git] / lustre / scripts / lnet
index 1a9d467..10e91c9 100644 (file)
@@ -52,23 +52,6 @@ run_postexec_check ()
        fi
 }
 
-stop_lnet ()
-{
-       local errmsg=$(/usr/sbin/lctl network down 2>&1)
-       if [ $? -gt 0 ]; then
-               # The following error message means that lnet is already
-               # unconfigured, and the modules are not loaded.
-               echo $errmsg | grep "LNET unconfigure error 19" > /dev/null
-               if [ $? -gt 0 ]; then
-                       return 0
-               else
-                       echo "$errmsg"
-                       return 1
-               fi
-       fi
-       return 0
-}
-
 status ()
 {
        old_nullglob="`shopt -p nullglob`"
@@ -122,7 +105,21 @@ case "$1" in
        run_preexec_check "start"
        touch /var/lock/subsys/lnet
        modprobe lnet || exit 1
-       lctl network up || exit 1
+       # if lnet.conf file exists then use lnetctl lnet configure, since
+       # that doesn't load the networks and routes defined in the mod
+       # params.  The appropriate configuration will be picked up from
+       # the lnet.conf YAML file.
+       if [ -x $LUSTRE_LNET_CONFIG_UTILITY -a -f "$LUSTRE_LNET_CONFIG_FILE" ]; then
+               $LUSTRE_LNET_CONFIG_UTILITY lnet configure || exit 1
+       else
+               lctl network up || exit 1
+       fi
+       # if an lnet.conf file exists then pass that to the lnetctl
+       # utility for parsing.  This will configure the items defined
+       # in YAML format in the config file.
+       if [ -x $LUSTRE_LNET_CONFIG_UTILITY -a -f "$LUSTRE_LNET_CONFIG_FILE" ]; then
+               $LUSTRE_LNET_CONFIG_UTILITY import < $LUSTRE_LNET_CONFIG_FILE
+       fi
        # if a routes config file is given then use it to configure the
        # routes if not then default to LUSTRE_ROUTES_CONFIG_FILE
        if [ -f "$2" ]; then
@@ -130,17 +127,11 @@ case "$1" in
        elif [ -f "$LUSTRE_ROUTES_CONFIG_FILE" ]; then
                lustre_routes_config $LUSTRE_ROUTES_CONFIG_FILE
        fi
-       # if an lnet.conf file exists then pass that to the lnetctl
-       # utility for parsing.  This will configure the items defined
-       # in YAML format in the config file.
-       if [ -f $LUSTRE_LNET_CONFIG_UTILITY ] && [ -f "$LUSTRE_LNET_CONFIG_FILE" ]; then
-               $LUSTRE_LNET_CONFIG_UTILITY import < $LUSTRE_LNET_CONFIG_FILE
-       fi
        run_postexec_check "start"
        ;;
   stop)
        run_preexec_check "stop"
-       stop_lnet || exit 1
+       lctl network down || exit 1
        lustre_rmmod || exit 1
        rm -f /var/lock/subsys/lnet
        run_postexec_check "stop"
@@ -167,7 +158,7 @@ case "$1" in
        }
        ;;
   *)
-       echo $"Usage: lustre {start|stop|status|restart|reload|condrestart}"
+       echo $"Usage: lnet {start|stop|status|restart|reload|condrestart}"
        exit 1
 esac