add_lmv lmv1_svc
for mds in `mds_list`; do
MDSDEV=$TMP/${mds}-`hostname`
- add_mds $mds --dev $MDSDEV --size $MDSSIZE --lmv lmv1_svc
+ add_mds $mds --dev $MDSDEV --size $MDSSIZE --lmv lmv1_svc
done
add_lov_to_lmv lov1 lmv1_svc --stripe_sz $STRIPE_BYTES \
--stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \
--stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
MDS=mds1_svc
-
fi
add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE --failover
add_client client ${MDS} --lov lov1 --path $MOUNT
}
-
-
build_test_filter
SETUP=${SETUP:-"setup"}
umount $MOUNT2 || true
umount $MOUNT || true
rmmod llite
+
+ # b=3941
+ # In mds recovery, the mds will clear orphans in ost by
+ # mds_lov_clear_orphan, which will sent the request to ost and waiting for
+ # the reply, if we stop mds at this time, we will got the obd_refcount > 1
+ # errors, because mds_lov_clear_orphan grab a export of mds,
+ # so the obd_refcount of mds will not be zero. So, wait a while before
+ # stop mds. This bug needs further work.
for mds in `mds_list`; do
+ sleep 5
stop $mds ${FORCE} $MDSLCONFARGS
done
+ stop_lgssd
+ stop_lsvcgssd
stop ost2 ${FORCE}
stop ost ${FORCE} --dump cleanup-dual.log
}
setup() {
gen_config
+
+ start_krb5_kdc || exit 1
start ost --reformat $OSTLCONFARGS
PINGER=`cat /proc/fs/lustre/pinger`
fi
start ost2 --reformat $OSTLCONFARGS
+ start_lsvcgssd || exit 2
+ start_lgssd || exit 3
[ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE
for mds in `mds_list`; do
start $mds --reformat $MDSLCONFARGS
facet_failover mds1
# expect failover to fail
df $MOUNT && return 1
+ sleep 1
# first 25 files shouuld have been
# replayed
facet_failover mds1
df $MOUNT || return 1
+ sleep 1
unlinkmany $MOUNT1/$tfile- 25 || return 2
sleep $TIMEOUT
facet_failover mds1
df $MOUNT || return 1
+ sleep 1
unlinkmany $MOUNT1/$tfile- 25 || return 2
sleep $TIMEOUT
facet_failover ost
df $MOUNT || return 1
+ sleep 1
unlinkmany $MOUNT1/$tfile- 25 || return 2
}
run_test 18 "replay open, Abort recovery, don't assert (3892)"
-
# cleanup with blocked enqueue fails until timer elapses (MDS busy), wait for
# itexport NOW=0