#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
-LUSTRE=${LUSTRE:-$(dirname $0)/..}
-. $LUSTRE/tests/test-framework.sh
+#
+# This file is part of Lustre, http://www.lustre.org/
+#
+# lustre/tests/llmount.sh
+#
+# Create a simple lustre filesystem and client for
+# testing
+#
+
+usage() {
+ less -F <<EOF
+Usage: ${0##*/} [options]
+Helper for creating, formatting, and mounting a simple lustre filesystem.
+ -S, --server-only Do not setup up a client
+ -n, --no-format Do not reformat the test filesystem
+ -s, --skip-setup Do not setup the test filesystem
+ -l, --load-modules Load the lustre modules
+ -h, --help This help
+
+Environment variables
+See lustre/tests/cfg/local.sh to see more variables.
+ FSTYPE ldiskfs,zfs Type of backing filesystem
+ MDSCOUNT number Number of MDS
+ OSSCOUNT number Number of OSS
+ MOUNTOPT string Options passed to client mount command
+
+Example usage:
+Create a simple lustre filesystem.
+
+ ./llmount.sh --server-only
+
+Create a ZFS backed lustre filesystem with a client.
+
+ FSTYPE=zfs ./llmount.sh
+
+EOF
+ exit
+}
+
+setup_client=true
+
+# Replace long option with corresponding short option
+for arg in "$@"; do
+ shift
+ case "$arg" in
+ --server-only) set -- "$@" '-S';;
+ --no-format) set -- "$@" '-n';;
+ --skip-setup) set -- "$@" '-s';;
+ --load-modules) set -- "$@" '-l';;
+ --help) set -- "$@" '-h';;
+ *) set -- "$@" "$arg";;
+ esac
+done
+
+while getopts "Snslh" opt
+do
+ case "$opt" in
+ S) setup_client=false;;
+ n) NOFORMAT=true;;
+ s) NOSETUP=true;;
+ l) LOAD=true;;
+ h|\?) usage;;
+ esac
+done
+
+LUSTRE=${LUSTRE:-$(dirname "$0")/..}
+. "$LUSTRE/tests/test-framework.sh"
init_test_env "$@"
[ -n "$LOAD" ] && load_modules && exit 0
[ -z "$NOFORMAT" ] && formatall
-[ -z "$NOSETUP" ] && setupall
+
+if $setup_client; then
+ [ -z "$NOSETUP" ] && setupall
+else
+ [ -z "$NOSETUP" ] && setupall server_only
+fi
#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
-LUSTRE=${LUSTRE:-$(dirname $0)/..}
-. $LUSTRE/tests/test-framework.sh
+#
+# This file is part of Lustre, http://www.lustre.org/
+#
+# lustre/tests/llmountcleanup.sh
+#
+# Destroy the lustre filesystem and client created by
+# llmount.sh
+#
+
+usage() {
+ less -F <<EOF
+Usage: ${0##*/}
+Destroy the lustre filesystem and client created by llmount.sh
+ -h, --help This help
+
+EOF
+ exit
+}
+
+# Replace long option with corresponding short option
+for arg in "$@"; do
+ shift
+ case "$arg" in
+ --help) set -- "$@" '-h';;
+ *) set -- "$@" "$arg";;
+ esac
+done
+
+while getopts "h" opt
+do
+ case "$opt" in
+ h|\?) usage;;
+ esac
+done
+
+LUSTRE=${LUSTRE:-$(dirname "$0")/..}
+. "$LUSTRE/tests/test-framework.sh"
init_test_env "$@"
cleanupall -f