local WDIR=$DIR/${tdir}o
local mdt_index
- local mdtdevname
local rc=0
mkdir -p $WDIR
mdt_index=$($LFS getstripe -M $WDIR)
mdt_index=$((mdt_index+1))
- mdtdevname=$(mdsdevname $mdt_index)
touch $WDIR/$tfile
- stop mds${mdt_index}
- start mds${mdt_index} $mdtdevname $MDS_MOUNT_OPTS ||
- error "mount mds${mdt_index} failed"
+
+ #fail mds will wait the failover finish then set
+ #following fail_loc to avoid interfer the recovery process.
+ fail mds${mdt_index}
#define OBD_FAIL_OSD_LMA_INCOMPAT 0x194
do_facet mds${mdt_index} lctl set_param fail_loc=0x194
test_56y() {
[ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.4.53) ] &&
- skip "No HSM support on MDS of $(get_lustre_version)," \
- "need 2.4.53 at least" && return
- local res=""
+ skip "No HSM $(lustre_build_version $SINGLEMDS) MDS < 2.4.53" &&
+ return
+ local res=""
local dir0=$DIR/$tdir/$testnum
mkdir -p $dir0 || error "creating dir $dir0"
local f1=$dir0/file1
run_test 102p "check setxattr(2) correctly fails without permission"
test_102q() {
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.6.92) ] &&
+ skip "MDS needs to be at least 2.6.92" && return
orphan_linkea_check $DIR/$tfile || error "orphan_linkea_check"
}
run_test 102q "flistxattr should not return trusted.link EAs for orphans"
test_102r() {
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.6.93) ] &&
+ skip "MDS needs to be at least 2.6.93" && return
touch $DIR/$tfile || error "touch"
setfattr -n user.$(basename $tfile) $DIR/$tfile || error "setfattr"
getfattr -n user.$(basename $tfile) $DIR/$tfile || error "getfattr"
rm $DIR/$tfile || error "rm"
+
+ #normal directory
+ mkdir -p $DIR/$tdir || error "mkdir"
+ setfattr -n user.$(basename $tdir) $DIR/$tdir || error "setfattr dir"
+ getfattr -n user.$(basename $tdir) $DIR/$tdir || error "getfattr dir"
+ setfattr -x user.$(basename $tdir) $DIR/$tdir ||
+ error "$testfile error deleting user.author1"
+ getfattr -d -m user.$(basename $tdir) 2> /dev/null |
+ grep "user.$(basename $tdir)" &&
+ error "$tdir did not delete user.$(basename $tdir)"
+ rmdir $DIR/$tdir || error "rmdir"
+
+ #striped directory
+ test_mkdir -p $DIR/$tdir || error "make striped dir"
+ setfattr -n user.$(basename $tdir) $DIR/$tdir || error "setfattr dir"
+ getfattr -n user.$(basename $tdir) $DIR/$tdir || error "getfattr dir"
+ setfattr -x user.$(basename $tdir) $DIR/$tdir ||
+ error "$testfile error deleting user.author1"
+ getfattr -d -m user.$(basename $tdir) 2> /dev/null |
+ grep "user.$(basename $tdir)" &&
+ error "$tdir did not delete user.$(basename $tdir)"
+ rmdir $DIR/$tdir || error "rm striped dir"
}
run_test 102r "set EAs with empty values"
}
run_test 124b "lru resize (performance test) ======================="
+test_124c() {
+ [ $PARALLEL == "yes" ] && skip "skip parallel run" && return
+ [ -z "$($LCTL get_param -n mdc.*.connect_flags | grep lru_resize)" ] &&
+ skip "no lru resize on server" && return 0
+
+ # cache ununsed locks on client
+ local nr=100
+ cancel_lru_locks mdc
+ test_mkdir -p $DIR/$tdir || error "failed to create $DIR/$tdir"
+ createmany -o $DIR/$tdir/f $nr ||
+ error "failed to create $nr files in $DIR/$tdir"
+ ls -l $DIR/$tdir > /dev/null
+
+ local nsdir="ldlm.namespaces.*-MDT0000-mdc-*"
+ local unused=$($LCTL get_param -n $nsdir.lock_unused_count)
+ local max_age=$($LCTL get_param -n $nsdir.lru_max_age)
+ local recalc_p=$($LCTL get_param -n $nsdir.pool.recalc_period)
+ echo "unused=$unused, max_age=$max_age, recalc_p=$recalc_p"
+
+ # set lru_max_age to 1 sec
+ $LCTL set_param $nsdir.lru_max_age=1000 # jiffies
+ echo "sleep $((recalc_p * 2)) seconds..."
+ sleep $((recalc_p * 2))
+
+ local remaining=$($LCTL get_param -n $nsdir.lock_unused_count)
+ # restore lru_max_age
+ $LCTL set_param -n $nsdir.lru_max_age $max_age
+ [ $remaining -eq 0 ] || error "$remaining locks are not canceled"
+ unlinkmany $DIR/$tdir/f $nr
+}
+run_test 124c "LRUR cancel very aged locks"
+
test_125() { # 13358
[ -z "$(lctl get_param -n llite.*.client_type | grep local)" ] && skip "must run as local client" && return
[ -z "$(lctl get_param -n mdc.*-mdc-*.connect_flags | grep acl)" ] && skip "must have acl enabled" && return
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
local pages_per_rpc=$($LCTL get_param \
osc.*.max_pages_per_rpc)
- local at_max=$(do_facet mgs "$LCTL get_param -n at_max")
- local timeout=$(do_facet mgs "$LCTL get_param -n timeout")
+ local at_max=$($LCTL get_param -n at_max)
+ local timeout=$($LCTL get_param -n timeout)
+ local test_at="$LCTL get_param -n at_max"
+ local param_at="$FSNAME.sys.at_max"
+ local test_timeout="$LCTL get_param -n timeout"
+ local param_timeout="$FSNAME.sys.timeout"
$LCTL set_param -n osc.*.max_pages_per_rpc=1024
- do_facet mgs "$LCTL conf_param $FSNAME.sys.at_max=0"
- do_facet mgs "$LCTL conf_param $FSNAME.sys.timeout=5"
+
+ set_conf_param_and_check client "$test_at" "$param_at" 0 ||
+ error "conf_param at_max=0 failed"
+ set_conf_param_and_check client "$test_timeout" "$param_timeout" 5 ||
+ error "conf_param timeout=5 failed"
#define OBD_FAIL_PTLRPC_CLIENT_BULK_CB3 0x520
$LCTL set_param fail_loc=0x520
sync
$LCTL set_param fail_loc=0
- do_facet mgs "$LCTL conf_param $FSNAME.sys.at_max=" \
- "$at_max"
- do_facet mgs "$LCTL conf_param $FSNAME.sys.timeout=" \
- "$timeout"
+ set_conf_param_and_check client "$test_at" "$param_at" $at_max ||
+ error "conf_param at_max=$at_max failed"
+ set_conf_param_and_check client "$test_timeout" "$param_timeout" \
+ $timeout || error "conf_param timeout=$timeout failed"
+
$LCTL set_param -n $pages_per_rpc
}
run_test 224c "Don't hang if one of md lost during large bulk RPC"
test_229() { # LU-2482, LU-3448
[ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.4.53) ] &&
- skip "No HSM support on MDS of $(get_lustre_version)," \
- "need 2.4.53 at least" && return
+ skip "No HSM $(lustre_build_version $SINGLEMDS) MDS < 2.4.53" &&
+ return
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
[ $OSTCOUNT -lt 2 ] && skip "needs >= 2 OSTs" && return