#!/bin/bash
set -e
-#set -v
-
-#
-# This test needs to be run on the client
-#
-SAVE_PWD=$PWD
-export MULTIOP=${MULTIOP:-multiop}
-LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
-SETUP=${SETUP:-}
-CLEANUP=${CLEANUP:-}
+
+LUSTRE=${LUSTRE:-$(dirname $0)/..}
. $LUSTRE/tests/test-framework.sh
init_test_env $@
-. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
init_logging
-CHECK_GRANT=${CHECK_GRANT:-"yes"}
-GRANT_CHECK_LIST=${GRANT_CHECK_LIST:-""}
-
-require_dsh_mds || exit 0
-# Skip these tests
-# bug number for skipped tests:
ALWAYS_EXCEPT="$REPLAY_SINGLE_EXCEPT "
-# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
-
-# time in minutes: 7.5"
-[ "$SLOW" = "no" ] && EXCEPT_SLOW="44b"
-
-if [ $(facet_fstype $SINGLEMDS) = "zfs" ]; then
-# bug number for skipped test: LU-11388
- ALWAYS_EXCEPT+="131b"
- if [ $MDSCOUNT -gt 1 ]; then
-# bug number for skipped test: LU-11330
- ALWAYS_EXCEPT+=" 70d"
- fi
+
+if [ "$mds1_FSTYPE" = zfs ]; then
+ # bug number for skipped test: LU-11388
+ ALWAYS_EXCEPT+=" 131b"
+ # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
fi
if $SHARED_KEY; then
-# bug number for skipped tests: LU-9795 (all below)
+ # bug number for skipped tests: LU-9795 (all below)
ALWAYS_EXCEPT="$ALWAYS_EXCEPT 0b 0c 0d 34 45"
ALWAYS_EXCEPT="$ALWAYS_EXCEPT 47 58b 58c 71a 85a"
ALWAYS_EXCEPT="$ALWAYS_EXCEPT 85b 86 88 89 90"
build_test_filter
+CHECK_GRANT=${CHECK_GRANT:-"yes"}
+GRANT_CHECK_LIST=${GRANT_CHECK_LIST:-""}
+
+require_dsh_mds || exit 0
check_and_setup_lustre
mkdir -p $DIR
run_test 2c "setstripe replay"
test_2d() {
+ [[ "$mds1_FSTYPE" = zfs ]] &&
+ [[ "$MDS1_VERSION" -lt $(version_code 2.12.51) ]] &&
+ skip "requires LU-10143 fix on MDS"
replay_barrier $SINGLEMDS
$LFS setdirstripe -i 0 -c $MDSCOUNT $DIR/$tdir
fail $SINGLEMDS
dd if=/dev/zero of=$DIR/$tfile bs=4k count=10000 &
while [ ! -e $DIR/$tfile ] ; do
- usleep 60 # give dd a chance to start
+ sleep 0.01 # give dd a chance to start
done
$LFS getstripe $DIR/$tfile || error "$LFS getstripe $DIR/$tfile failed"
checkstat $DIR/$tfile
facet_failover $SINGLEMDS
cancel_lru_locks mdc
- if dmesg | grep "unknown lock cookie"; then
+ if $LCTL dk | grep "stale lock .*cookie"; then
error "cancel after replay failed"
fi
}
do_facet $SINGLEMDS dmesg -c >/dev/null
fail_abort $SINGLEMDS
kill -USR1 $pid || error "multiop $pid not running"
- do_facet $SINGLEMDS dmesg | grep "error .* unlinking .* from PENDING" &&
+ do_facet $SINGLEMDS dmesg | grep "error unlinking orphan" &&
error "error unlinking files"
wait $pid || error "multiop $pid failed"
sync
run_test 45 "Handle failed close"
test_46() {
- dmesg -c >/dev/null
drop_reply "touch $DIR/$tfile"
fail $SINGLEMDS
# ironically, the previous test, 45, will cause a real forced close,
# so just look for one for this test
- dmesg | grep -i "force closing client file handle for $tfile" &&
+ local FID=$($LFS path2fid $tfile)
+ $LCTL dk | grep -i "force closing file handle $FID" &&
error "found force closing in dmesg"
return 0
}
# b3764 timed out lock replay
test_52() {
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.6.90) ] &&
- skip "MDS prior to 2.6.90 handle LDLM_REPLY_NET incorrectly" &&
- return 0
+ [ "$MDS1_VERSION" -lt $(version_code 2.6.90) ] &&
+ skip "MDS prior to 2.6.90 handle LDLM_REPLY_NET incorrectly"
touch $DIR/$tfile || error "touch $DIR/$tfile failed"
cancel_lru_locks mdc
createmany -o $DIR/$tfile 10 > /dev/null
unlinkmany $DIR/$tfile 10 > /dev/null
# check for log message
- $LCTL dk | grep "Early reply #" || error "No early reply"
+ $LCTL dk | grep -i "Early reply #" || error "No early reply"
debugrestore
# client should show REQ_DELAY estimates
lctl get_param -n mdc.${FSNAME}-MDT0000-mdc-*.timeouts | grep portal
do_facet ost1 $LCTL set_param fail_loc=0
# check for log message
- $LCTL dk | grep "Early reply #" || error "No early reply"
+ $LCTL dk | grep -i "Early reply #" || error "No early reply"
debugrestore
# client should show REQ_DELAY estimates
lctl get_param -n osc.${FSNAME}-OST0000-osc-*.timeouts | grep portal
at_start || return 0
CONN1=$(lctl get_param -n osc.*.stats | awk '/_connect/ {total+=$2} END {print total}')
- # exhaust precreations on ost1
- local OST=$(ostname_from_index 0)
- local mdtosc=$(get_mdtosc_proc_path mds $OST)
- local last_id=$(do_facet $SINGLEMDS lctl get_param -n \
- osc.$mdtosc.prealloc_last_id)
- local next_id=$(do_facet $SINGLEMDS lctl get_param -n \
- osc.$mdtosc.prealloc_next_id)
+ # exhaust precreations on ost1
+ local OST=$(ostname_from_index 0)
+ local mdtosc=$(get_mdtosc_proc_path mds $OST)
+ local last_id=$(do_facet $SINGLEMDS lctl get_param -n \
+ osp.$mdtosc.prealloc_last_id)
+ local next_id=$(do_facet $SINGLEMDS lctl get_param -n \
+ osp.$mdtosc.prealloc_next_id)
mkdir -p $DIR/$tdir/${OST} || error "mkdir $DIR/$tdir/${OST} failed"
$LFS setstripe -i 0 -c 1 $DIR/$tdir/${OST} ||
# [ $CLIENTCOUNT -lt 2 ] &&
# { skip "Need 2 or more clients, have $CLIENTCOUNT" && return; }
- [[ $(lustre_version_code ost1) -lt $(version_code 2.9.53) ]] &&
- skip "Need server version at least 2.9.53" && return
+ [[ "$OST1_VERSION" -lt $(version_code 2.9.53) ]] &&
+ skip "Need server version at least 2.9.53"
echo "mount clients $CLIENTS ..."
zconf_mount_clients $CLIENTS $MOUNT
rm -f $DIR/$tfile
replay_barrier $SINGLEMDS
- #define OBD_FAIL_LDLM_REPLY 0x30c
- do_facet $SINGLEMDS "lctl set_param fail_loc=0x8000030c"
+ #define OBD_FAIL_MDS_LDLM_REPLY_NET 0x157
+ do_facet $SINGLEMDS "lctl set_param fail_loc=0x80000157"
fail $SINGLEMDS
kill -USR1 $pid
wait $pid || error "multiop pid failed"
run_test 80b "DNE: create remote dir, drop update rep from MDT0, fail MDT1"
test_80c() {
- [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
+ [[ "$mds1_FSTYPE" = zfs ]] &&
+ [[ $MDS1_VERSION -lt $(version_code 2.12.51) ]] &&
+ skip "requires LU-10143 fix on MDS"
+ [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs"
([ $FAILURE_MODE == "HARD" ] &&
[ "$(facet_host mds1)" == "$(facet_host mds2)" ]) &&
- skip "MDTs needs to be on diff hosts for HARD fail mode" &&
- return 0
+ skip "MDTs needs to be on diff hosts for HARD fail mode"
local MDTIDX=1
local remote_dir=$DIR/$tdir/remote_dir
run_test 80c "DNE: create remote dir, drop update rep from MDT1, fail MDT[0,1]"
test_80d() {
- [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
+ [[ "$mds1_FSTYPE" = zfs ]] &&
+ [[ $MDS1_VERSION -lt $(version_code 2.12.51) ]] &&
+ skip "requires LU-10143 fix on MDS"
+ [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs"
local MDTIDX=1
local remote_dir=$DIR/$tdir/remote_dir
lctl set_param -n ldlm.cancel_unused_locks_before_replay "1"
- if ! combined_mgs_mds ; then
- mount_mgs_client
- fi
-
$LFS setstripe -c 1 -i 0 $DIR/$tdir
for i in $(seq 100); do
-n ldlm.namespaces.*OST0000*$addr.lock_unused_count)
echo "after recovery: unused locks count = $count2"
- if ! combined_mgs_mds ; then
- umount_mgs_client
- fi
-
if [ $count2 -ge $count ]; then
error "unused locks are not canceled"
fi
replay_barrier ost1
replay_barrier $SINGLEMDS
- # exhaust precreations on ost1
- local OST=$(ostname_from_index 0)
- local mdtosc=$(get_mdtosc_proc_path $SINGLEMDS $OST)
- local last_id=$(do_facet $SINGLEMDS lctl get_param -n osc.$mdtosc.prealloc_last_id)
- local next_id=$(do_facet $SINGLEMDS lctl get_param -n osc.$mdtosc.prealloc_next_id)
+ # exhaust precreations on ost1
+ local OST=$(ostname_from_index 0)
+ local mdtosc=$(get_mdtosc_proc_path $SINGLEMDS $OST)
+ local last_id=$(do_facet $SINGLEMDS lctl get_param -n osp.$mdtosc.prealloc_last_id)
+ local next_id=$(do_facet $SINGLEMDS lctl get_param -n osp.$mdtosc.prealloc_next_id)
echo "before test: last_id = $last_id, next_id = $next_id"
echo "Creating to objid $last_id on ost $OST..."
createmany -o $DIR/$tdir/f-%d $last_id 8 ||
error "createmany create files with uncommitted objids failed"
- last_id2=$(do_facet $SINGLEMDS lctl get_param -n osc.$mdtosc.prealloc_last_id)
- next_id2=$(do_facet $SINGLEMDS lctl get_param -n osc.$mdtosc.prealloc_next_id)
+ last_id2=$(do_facet $SINGLEMDS lctl get_param -n osp.$mdtosc.prealloc_last_id)
+ next_id2=$(do_facet $SINGLEMDS lctl get_param -n osp.$mdtosc.prealloc_next_id)
echo "before recovery: last_id = $last_id2, next_id = $next_id2"
# if test uses shutdown_facet && reboot_facet instead of facet_failover ()
clients_up
- last_id2=$(do_facet $SINGLEMDS lctl get_param -n osc.$mdtosc.prealloc_last_id)
- next_id2=$(do_facet $SINGLEMDS lctl get_param -n osc.$mdtosc.prealloc_next_id)
+ last_id2=$(do_facet $SINGLEMDS lctl get_param -n osp.$mdtosc.prealloc_last_id)
+ next_id2=$(do_facet $SINGLEMDS lctl get_param -n osp.$mdtosc.prealloc_next_id)
echo "after recovery: last_id = $last_id2, next_id = $next_id2"
# create new files, which should use new objids, and ensure the orphan
run_test 90 "lfs find identifies the missing striped file segments"
test_93a() {
- local server_version=$(lustre_version_code $SINGLEMDS)
- [[ $server_version -ge $(version_code 2.6.90) ]] ||
- [[ $server_version -ge $(version_code 2.5.4) &&
- $server_version -lt $(version_code 2.5.50) ]] ||
- { skip "Need MDS version 2.5.4+ or 2.6.90+"; return; }
+ [[ "$MDS1_VERSION" -ge $(version_code 2.6.90) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.5.4) &&
+ "$MDS1_VERSION" -lt $(version_code 2.5.50) ]] ||
+ skip "Need MDS version 2.5.4+ or 2.6.90+"
cancel_lru_locks osc
run_test 93a "replay + reconnect"
test_93b() {
- local server_version=$(lustre_version_code $SINGLEMDS)
- [[ $server_version -ge $(version_code 2.7.90) ]] ||
- { skip "Need MDS version 2.7.90+"; return; }
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.90) ]] ||
+ skip "Need MDS version 2.7.90+"
cancel_lru_locks mdc
run_test 102d "check replay & reconstruction with multiple mod RPCs in flight"
test_103() {
- remote_mds_nodsh && skip "remote MDS with nodsh" && return
- local mds_version=$(lustre_version_code $SINGLEMDS)
- [[ $mds_version -gt $(version_code 2.8.54) ]] ||
- { skip "Need MDS version 2.8.54+"; return; }
+ remote_mds_nodsh && skip "remote MDS with nodsh"
+ [[ "$MDS1_VERSION" -gt $(version_code 2.8.54) ]] ||
+ skip "Need MDS version 2.8.54+"
#define OBD_FAIL_MDS_TRACK_OVERFLOW 0x162
do_facet mds1 $LCTL set_param fail_loc=0x80000162
test_110a() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_110b() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_110c() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_110d() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_110e() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_110f() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_110g() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_111a() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_111b() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_111c() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_111d() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_111e() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_111f() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_111g() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112a() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112b() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112c() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112d() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112e() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112f() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112g() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112h() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112i() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112j() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112k() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112l() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112m() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_112n() {
[ $MDSCOUNT -lt 4 ] && skip "needs >= 4 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_115() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.56) ]] ||
+ [[ "$MDS1_VERSION" -ge $(version_code 2.7.56) ]] ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE == "HARD" ] &&
test_116a() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.7.55) ] &&
+ [ "$MDS1_VERSION" -lt $(version_code 2.7.55) ] &&
skip "Do not support large update log before 2.7.55" &&
return 0
([ $FAILURE_MODE == "HARD" ] &&
test_116b() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.7.55) ] &&
+ [ "$MDS1_VERSION" -lt $(version_code 2.7.55) ] &&
skip "Do not support large update log before 2.7.55" &&
return 0
test_118() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.7.64) ] &&
+ [ "$MDS1_VERSION" -lt $(version_code 2.7.64) ] &&
skip "Do not support large update log before 2.7.64" &&
return 0
test_119() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.7.64) ] &&
+ [ "$MDS1_VERSION" -lt $(version_code 2.7.64) ] &&
skip "Do not support large update log before 2.7.64" &&
return 0
local stripe_count
test_120() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.7.64) ] &&
+ [ "$MDS1_VERSION" -lt $(version_code 2.7.64) ] &&
skip "Do not support large update log before 2.7.64" &&
return 0
run_test 120 "DNE fail abort should stop both normal and DNE replay"
test_121() {
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.10.90) ] &&
+ [ "$MDS1_VERSION" -lt $(version_code 2.10.90) ] &&
skip "Don't support it before 2.11" &&
return 0
run_test 121 "lock replay timed out and race"
test_130a() {
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.10.90) ] &&
+ [ "$MDS1_VERSION" -lt $(version_code 2.10.90) ] &&
skip "Do not support Data-on-MDT before 2.11"
replay_barrier $SINGLEMDS
run_test 130a "DoM file create (setstripe) replay"
test_130b() {
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.10.90) ] &&
+ [ "$MDS1_VERSION" -lt $(version_code 2.10.90) ] &&
skip "Do not support Data-on-MDT before 2.11"
mkdir $DIR/$tdir
run_test 130b "DoM file create (inherited) replay"
test_131a() {
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.10.90) ] &&
+ [ "$MDS1_VERSION" -lt $(version_code 2.10.90) ] &&
skip "Do not support Data-on-MDT before 2.11"
$LFS setstripe -E 1M -L mdt -E EOF -c 2 $DIR/$tfile
run_test 131a "DoM file write lock replay"
test_131b() {
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.10.90) ] &&
+ [ "$MDS1_VERSION" -lt $(version_code 2.10.90) ] &&
skip "Do not support Data-on-MDT before 2.11"
$LFS setstripe -E 1M -L mdt -E EOF -c 2 $DIR/$tfile
run_test 131b "DoM file write replay"
test_132a() {
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.9.90) ] &&
- skip "Do not support PFL files before 2.10"
+ [ "$MDS1_VERSION" -lt $(version_code 2.12.0) ] &&
+ skip "Need MDS version 2.12.0 or later"
$LFS setstripe -E 1M -c 1 -E EOF -c 2 $DIR/$tfile
replay_barrier $SINGLEMDS
}
run_test 133 "check resend of ongoing requests for lwp during failover"
+test_134() {
+ [ $OSTCOUNT -lt 2 ] && skip "needs >= 2 OSTs" && return 0
+
+ pool_add pool_134
+ pool_add_targets pool_134 1 1
+
+ mkdir -p $DIR/$tdir/{A,B}
+ $LFS setstripe -p pool_134 $DIR/$tdir/A
+ $LFS setstripe -E EOF -p pool_134 $DIR/$tdir/B
+
+ replay_barrier mds1
+
+ touch $DIR/$tdir/A/$tfile || error "touch non-pfl file failed"
+ touch $DIR/$tdir/B/$tfile || error "touch pfl failed"
+
+ fail mds1
+
+ [ -f $DIR/$tdir/A/$tfile ] || error "non-pfl file does not exist"
+ [ -f $DIR/$tdir/B/$tfile ] || error "pfl file does not exist"
+}
+run_test 134 "replay creation of a file created in a pool"
+
complete $SECONDS
check_and_cleanup_lustre
exit_status