export LMC=${LMC:-"lmc"}
export LCTL=${LCTL:-"$LUSTRE/utils/lctl"}
export CHECKSTAT="${CHECKSTAT:-checkstat} "
- export FSYTPE=${FSTYPE:-"ext3"}
+ DEF_FSTYPE=`test "x$(uname -r | grep -o '2.6')" = "x2.6" && echo "ldiskfs" || echo "ext3"`
+ export FSTYPE=${FSTYPE:-$DEF_FSTYPE}
+ #used only if FSTYPE == smfs, otherwise ignored by lconf
+ MDS_BACKFSTYPE=${MDS_BACKFSTYPE:-$DEF_FSTYPE}
+ OST_BACKFSTYPE=${OST_BACKFSTYPE:-$DEF_FSTYPE}
+
export SECURITY=${SECURITY:-"null"}
# Paths on remote nodes, if different
facet=$1
shift
active=`facet_active $facet`
- do_facet $facet $LCONF --select ${facet}_svc=${active}_facet \
+ do_facet $facet $LCONF --select ${facet}_svc=${active}_facet -v \
--node ${active}_facet --ptldebug $PTLDEBUG --subsystem $SUBSYSTEM \
- --sec $SECURITY $@ $XMLCONFIG
+ --mds_sec $SECURITY $@ $XMLCONFIG
}
stop() {
do_node $client mkdir $mnt 2> /dev/null || :
if [ -x /sbin/mount.lustre ] ; then
- do_node $client mount -t lustre -o sec=$SECURITY,nettype=$NETTYPE \
+ do_node $client mount -t lustre -o mds_sec=$SECURITY,nettype=$NETTYPE \
`facet_active_host mds1`:/mds1_svc/client_facet $mnt || return 2
else
# this is so cheating
do_node $client $LCONF --nosetup --node client_facet $XMLCONFIG > /dev/null || return 2
do_node $client $LLMOUNT `facet_active_host mds1`:/mds1_svc/client_facet $mnt \
- -o sec=$SECURITY,nettype=$NETTYPE|| return 4
+ -o mds_sec=$SECURITY,nettype=$NETTYPE|| return 4
fi
[ -d /r ] && $LCTL modules > /r/tmp/ogdb-`hostname`
$LCTL mark "REPLAY BARRIER"
}
+replay_barrier_nodf() {
+ local facet=$1
+ do_facet $facet sync
+ do_facet $facet $LCTL --device %${facet}_svc readonly
+ do_facet $facet $LCTL --device %${facet}_svc notransno
+ do_facet $facet $LCTL mark "REPLAY BARRIER"
+ $LCTL mark "REPLAY BARRIER"
+}
+
mds_evict_client() {
UUID=`cat /proc/fs/lustre/mdc/*_MNT_*/uuid`
do_facet mds "echo $UUID > /proc/fs/lustre/mds/mds1_svc/evict_client"
local failcode=$2
facet_failover $facet
do_facet mds "echo $failcode > /proc/sys/lustre/fail_loc"
- cat /proc/sys/lustre/fail_loc
df $MOUNT || error "post-failover df: $?"
do_facet mds "echo 0 > /proc/sys/lustre/fail_loc"
}
echo "CMD: $HOST $@"
$PDSH $HOST $LCTL mark "$@" > /dev/null 2>&1 || :
fi
- $PDSH $HOST "(PATH=\$PATH:$RLUSTRE/utils:$RLUSTRE/tests; cd $RPWD; sh -c \"$@\")"
+ $PDSH $HOST "(PATH=$RLUSTRE/utils:$RLUSTRE/tests:/usr/sbin:/sbin:\$PATH; cd $RPWD; sh -c \"$@\")"
}
mds_list() {
shift
rm -f ${facet}active
add_facet $facet
- do_lmc --add mds --node ${facet}_facet --mds ${facet}_svc --fstype $FSTYPE $*
+ do_lmc --add mds --node ${facet}_facet --mds ${facet}_svc --fstype $FSTYPE --backfstype $MDS_BACKFSTYPE $*
}
add_mdsfailover() {
facet=$1
shift
add_facet ${facet}failover --lustre_upcall $UPCALL
- do_lmc --add mds --node ${facet}failover_facet --mds ${facet}_svc --fstype $FSTYPE $*
+ do_lmc --add mds --node ${facet}failover_facet --mds ${facet}_svc --fstype $FSTYPE --backfstype $MDS_BACKFSTYPE $*
}
add_ost() {
shift
rm -f ${facet}active
add_facet $facet
- do_lmc --add ost --node ${facet}_facet --ost ${facet}_svc --fstype $FSTYPE $*
+ do_lmc --add ost --node ${facet}_facet --ost ${facet}_svc --fstype $FSTYPE --backfstype $OST_BACKFSTYPE $*
}
del_ost() {
shift
do_lmc --delete ost --node ${facet}_facet --ost ${facet}_svc $*
}
+start_gks() {
+ facet=$1
+ shift
+ rm -f ${facet}active
+ add_facet $facet
+ do_facet $facet $LCONF --node ${facet}_facet --ptldebug $PTLDEBUG $* $XMLCONFIG
+}
+stop_gks() {
+ facet=$1
+ shift
+ do_facet $facet $LCONF --node ${facet}_facet --cleanup $* $XMLCONFIG
+}
+
+add_gks() {
+ facet=$1
+ shift
+ rm -f ${facet}active
+ add_facet $facet
+ do_lmc --add gks --gks ${facet}_svc --node ${facet}_facet $*
+}
+add_cmobd() {
+ facet=$1
+ cache_facet=$2
+ master_facet=$3
+ shift; shift; shift
+ do_lmc --add cmobd --node mds1_facet --cmobd ${facet}_svc --cache_obd ${cache_facet} --master_obd ${master_facet}
+}
+
+add_cobd() {
+ facet=$1
+ client_facet=$2
+ master_facet=$3
+ shift; shift; shift
+ do_lmc --add cobd --node mds1_facet --cmobd ${facet}_svc --cache_obd ${cache_facet} --master_obd ${master_facet}
+}
deactivate_ost() {
facet=$1
facet=$1
shift
add_facet ${facet}failover
- do_lmc --add ost --failover --node ${facet}failover_facet --ost ${facet}_svc --fstype $FSTYPE $*
+ do_lmc --add ost --failover --node ${facet}failover_facet --ost ${facet}_svc --fstype $FSTYPE --backfstype $OST_BACKFSTYPE $*
}
add_lov() {
do_lmc --add lov --lmv $lmv --lov $lov $*
}
+add_lov_to_cache_master_lmv() {
+ lov=$1
+ cache_lmv=$2
+ master_lmv=$3
+ shift; shift; shift
+ do_lmc --add lov --cachelmv $cache_lmv --masterlmv $master_lmv --lov $lov $*
+}
+
add_lmv() {
lmv=$1
shift;
mds=$2
shift; shift
add_facet $facet --lustre_upcall $UPCALL
- do_lmc --add mtpt --node ${facet}_facet --mds ${mds}_svc $*
+ do_lmc --add mtpt --node ${facet}_facet --clientoptions async --mds ${mds}_svc $*
}
config_commit() {
}
build_test_filter() {
+ [ "$ONLY" ] && log "only running $ONLY"
for O in $ONLY; do
eval ONLY_${O}=true
done
+ [ "$EXCEPT$ALWAYS_EXCEPT" ] && log "skipping $EXCEPT $ALWAYS_EXCEPT"
for E in $EXCEPT $ALWAYS_EXCEPT; do
eval EXCEPT_${E}=true
done
lctl mark "$*" 2> /dev/null || true
}
+pass() {
+ echo PASS $@
+}
+
run_one() {
testnum=$1
message=$2
# Pretty tests run faster.
equals_msg $testnum: $message
- log "== test $1: $2"
+ BEFORE=`date +%s`
+ log "== test $testnum: $message ============ `date +%H:%M:%S` ($BEFORE)"
test_${testnum} || error "test_$testnum failed with $?"
+ pass "($((`date +%s` - $BEFORE))s)"
}
canonical_path() {