X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Ftests%2Ftest-framework.sh;h=a04e20edcfb777fbd70aefe8d88da365b769c5d3;hp=96d86bc8fef41a2746022498be618fe61888c7c4;hb=87546548eb11584e686f3ba4c3111ca7e35b0159;hpb=589d93f8b01f0a923c0f6ebb64c7ad9935fb05da diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 96d86bc..a04e20e 100755 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -492,6 +492,13 @@ load_modules_local() { [ "$PTLDEBUG" ] && lctl set_param debug="$PTLDEBUG" [ "$SUBSYSTEM" ] && lctl set_param subsystem_debug="${SUBSYSTEM# }" load_module ../lnet/lnet/lnet + case $NETTYPE in + o2ib) + LNETLND="o2iblnd/ko2iblnd" + ;; + *) + ;; + esac LNETLND=${LNETLND:-"socklnd/ksocklnd"} load_module ../lnet/klnds/$LNETLND load_module obdclass/obdclass @@ -543,10 +550,10 @@ load_modules_local() { local mount_lustre=$LUSTRE/utils/mount.lustre if [ -f $mount_lustre ]; then local sbin_mount=/sbin/mount.lustre - if grep -qe "$sbin_mount " /proc/mounts; then - cmp $mount_lustre $sbin_mount || umount $sbin_mount + if grep -qw "$sbin_mount" /proc/mounts; then + cmp -s $mount_lustre $sbin_mount || umount $sbin_mount fi - if ! grep -qe "$sbin_mount " /proc/mounts; then + if ! grep -qw "$sbin_mount" /proc/mounts; then [ ! -f "$sbin_mount" ] && touch "$sbin_mount" if [ ! -s "$sbin_mount" -a -w "$sbin_mount" ]; then cat <<- EOF > "$sbin_mount" @@ -1193,6 +1200,12 @@ mount_facet() { else set_default_debug_facet $facet + if [[ $facet == mds* ]]; then + do_facet $facet \ + lctl set_param -n mdt.${FSNAME}*.enable_remote_dir=1 \ + 2>/dev/null + fi + label=$(devicelabel ${facet} ${!dev}) [ -z "$label" ] && echo no label for ${!dev} && exit 1 eval export ${facet}_svc=${label} @@ -2671,7 +2684,7 @@ hostlist_expand() { done myList="${myList%* }"; - # We can select an object at a offset in the list + # We can select an object at an offset in the list [ $# -eq 2 ] && { cnt=0 for item in $myList; do @@ -2885,6 +2898,12 @@ get_env_vars() { if [ -n "$FSTYPE" ]; then echo -n " FSTYPE=$FSTYPE" fi + + for var in LNETLND NETTYPE; do + if [ -n "${!var}" ]; then + echo -n " $var=${!var}" + fi + done } do_nodes() { @@ -3019,7 +3038,7 @@ ostvdevname() { eval VDEVPTR="";; zfs ) #if $OSTDEVn isn't defined, default is $OSTDEVBASE{n} - # Device formated by zfs + # Device formatted by zfs DEVNAME=OSTDEV$num eval VDEVPTR=${!DEVNAME:=${OSTDEVBASE}${num}};; * ) @@ -3029,7 +3048,7 @@ ostvdevname() { echo -n $VDEVPTR } -# Logical device formated for lustre +# Logical device formatted for lustre mdsdevname() { local num=$1 local DEVNAME=MDSDEV$num @@ -3063,7 +3082,7 @@ mdsvdevname() { eval VDEVPTR="";; zfs ) # if $MDSDEVn isn't defined, default is $MDSDEVBASE{n} - # Device formated by ZFS + # Device formatted by ZFS local DEVNAME=MDSDEV$num eval VDEVPTR=${!DEVNAME:=${MDSDEVBASE}${num}};; * ) @@ -6882,62 +6901,46 @@ generate_logname() { # make directory on different MDTs test_mkdir() { - local option - local parent - local child local path local p_option - local option2 local stripe_count=2 - local rc=0 - - case $# in - 1) path=$1;; - 2) option=$1 - path=$2;; - 3) option=$1 - option2=$2 - path=$3;; - *) error "Only creating single directory is supported";; - esac - - child=$(basename $path) - parent=$(dirname $path) - - if [ "$option" == "-p" -o "$option2" == "-p" ]; then - if [ -d $parent/$child ]; then - return $rc - fi - p_option="-p" - fi + local stripe_index=-1 + local OPTIND=1 + + while getopts "c:i:p" opt; do + case $opt in + c) stripe_count=$OPTARG;; + i) stripe_index=$OPTARG;; + p) p_option="-p";; + \?) error "only support -i -c -p";; + esac + done - if [ "${option:0:2}" == "-c" ]; then - stripe_count=$(echo $option | sed 's/^-c//') - fi + shift $((OPTIND - 1)) + [ $# -eq 1 ] || error "Only creating single directory is supported" + path="$*" - if [ "${option2:0:2}" == "-c" ]; then - stripe_count=$(echo $option2 | sed 's/^-c//') - fi + if [ "$p_option" == "-p" ]; then + local parent=$(dirname $path) - if [ ! -d ${parent} ]; then - if [ "$p_option" == "-p" ]; then - mkdir -p ${parent} - else - return 1 - fi + [ -d $path ] && return 0 + [ ! -d ${parent} ] && mkdir -p ${parent} fi if [ $MDSCOUNT -le 1 ]; then - mkdir $p_option $parent/$child || rc=$? + mkdir $path else - local mdt_idx=$($LFS getstripe -M $parent) local test_num=$(echo $testnum | sed -e 's/[^0-9]*//g') + local mdt_index - mdt_idx=$((test_num % MDSCOUNT)) - echo "striped dir -i$mdt_idx -c$stripe_count $path" - $LFS setdirstripe -i$mdt_idx -c$stripe_count $path || rc=$? + if [ $stripe_index -eq -1 ]; then + mdt_index=$((test_num % MDSCOUNT)) + else + mdt_index=$stripe_index + fi + echo "striped dir -i$mdt_index -c$stripe_count $path" + $LFS setdirstripe -i$mdt_index -c$stripe_count $path fi - return $rc } # find the smallest and not in use file descriptor