return 1
}
-if is_sles11; then # LU-2181
- ALWAYS_EXCEPT="$ALWAYS_EXCEPT 23a 34b"
-fi
-
if [ "$FAILURE_MODE" = "HARD" ]; then
CONFIG_EXCEPTIONS="24a " &&
echo "Except the tests: $CONFIG_EXCEPTIONS for " \
OSTDEV2_2=$fs3ost_DEV
if ! combined_mgs_mds; then
- # bug number for skipped test: 23954
- ALWAYS_EXCEPT="$ALWAYS_EXCEPT 24b"
+ # bug number for skipped test: LU-9860 LU-9860 LU-9860
+ ALWAYS_EXCEPT="$ALWAYS_EXCEPT 43b 53b 54b"
+ # bug number for skipped test: LU-9875 LU-9879 LU-9879 LU-9879 LU-9879
+ ALWAYS_EXCEPT="$ALWAYS_EXCEPT 70e 80 84 87 100"
+ # bug number for skipped test: LU-8110 LU-9879 LU-9879 LU-9879
+ ALWAYS_EXCEPT="$ALWAYS_EXCEPT 102 104 105 107"
fi
# pass "-E lazy_itable_init" to mke2fs to speed up the formatting time
}
cleanup() {
- umount_client $MOUNT || return 200
+ local force=""
+ [ "x$1" != "x" ] && force='-f'
+ umount_client $MOUNT $force|| return 200
cleanup_nocli || return $?
}
test_5f() {
if combined_mgs_mds ; then
- skip "combined mgs and mds"
+ skip "needs separate mgs and mds"
return 0
fi
test_17() {
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
- skip "Only applicable to ldiskfs-based MDTs"
+ skip "ldiskfs only test"
return
fi
test_18() {
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
- skip "Only applicable to ldiskfs-based MDTs"
+ skip "ldiskfs only test"
return
fi
local fs2ostdev=$(ostdevname 1_2)
local fs2mdsvdev=$(mdsvdevname 1_2)
local fs2ostvdev=$(ostvdevname 1_2)
+ local cl_user
- # test 8-char fsname as well
- local FSNAME2=test1234
+ # LU-9733 test fsname started with numbers as well
+ local FSNAME2=969362ae
add fs2mds $(mkfs_opts mds1 ${fs2mdsdev} ) --nomgs --mgsnode=$MGSNID \
--fsname=${FSNAME2} --reformat $fs2mdsdev $fs2mdsvdev || exit 10
start fs2ost $fs2ostdev $OST_MOUNT_OPTS
mkdir -p $MOUNT2 || error "mkdir $MOUNT2 failed"
$MOUNT_CMD $MGSNID:/${FSNAME2} $MOUNT2 || error "$MOUNT_CMD failed"
+
+ # LU-9733 test fsname started with numbers
+ cl_user=$(do_facet $SINGLEMDS lctl --device $FSNAME2-MDT0000 \
+ changelog_register -n) ||
+ error "register changelog failed"
+
+ do_facet $SINGLEMDS lctl --device $FSNAME2-MDT0000 \
+ changelog_deregister $cl_user ||
+ error "deregister changelog failed"
# 1 still works
check_mount || error "check_mount failed"
# files written on 1 should not show up on 2
run_test 28a "set symlink parameters permanently with conf_param"
test_29() {
- [ "$OSTCOUNT" -lt "2" ] && skip_env "$OSTCOUNT < 2, skipping" && return
+ [ "$OSTCOUNT" -lt "2" ] && skip_env "needs >= 2 OSTs" && return
setup > /dev/null 2>&1
start_ost2 || error "Unable to start OST2"
sleep 10
local tarball=$1
local writeconf=$2
local dne_upgrade=${dne_upgrade:-"no"}
+ local dom_upgrade=${dom_upgrade:-"no"}
local ff_convert=${ff_convert:-"no"}
local shall_cleanup_mdt=false
local shall_cleanup_mdt1=false
shall_cleanup_lustre=true
$r $LCTL set_param debug="$PTLDEBUG"
- t32_verify_quota $node $fsname $tmp/mnt/lustre || {
- error_noexit "verify quota failed"
- return 1
- }
-
if $r test -f $tmp/list; then
#
# There is not a Test Framework API to copy files to or
echo "list verification skipped"
fi
+ if [ "$dom_upgrade" != "no" ]; then
+ echo "Check DoM file can be created"
+ $LFS setstripe -E 1M -L mdt -E EOF $tmp/mnt/lustre/dom || {
+ error_noexit "Verify DoM creation"
+ return 1
+ }
+ [ $($LFS getstripe -L $tmp/mnt/lustre/dom) == 100 ] || {
+ error_noexit "Verify a DoM file"
+ return 1
+ }
+ dd if=/dev/urandom of=$tmp/mnt/lustre/dom bs=4096 \
+ count=1 conv=fsync || {
+ error_noexit "Cannot write to DoM file"
+ return 1
+ }
+ [ $(stat -c%s $tmp/mnt/lustre/dom) == 4096 ] || {
+ error_noexit "DoM: bad size after write"
+ return 1
+ }
+ rm $tmp/mnt/lustre/dom
+
+ $r $LCTL get_param -n lod.*MDT0000*.dom_stripesize || {
+ error_noexit "Getting \"dom_stripesize\""
+ return 1
+ }
+ $r $LCTL conf_param \
+ $fsname-MDT0000.lod.dom_stripesize=0 || {
+ error_noexit "Changing \"dom_stripesize\""
+ return 1
+ }
+ wait_update $(facet_host mds) "$LCTL get_param \
+ -n lod.*MDT0000*.dom_stripesize" 0 || {
+ error_noexit "Verifying \"dom_stripesize\""
+ return 1
+ }
+ fi
+
if [ "$dne_upgrade" != "no" ]; then
$LFS mkdir -i 1 -c2 $tmp/mnt/lustre/striped_dir || {
error_noexit "set striped dir failed"
}
run_test 32d "convert ff test"
+test_32e() {
+ local tarballs
+ local tarball
+ local rc=0
+
+ t32_check
+ for tarball in $tarballs; do
+ echo $tarball | grep "2_9" || continue
+ #load_modules
+ dom_upgrade=yes t32_test $tarball writeconf || let "rc += $?"
+ done
+ return $rc
+}
+run_test 32e "dom upgrade test"
+
test_33a() { # bug 12333, was test_33
local FSNAME2=test-123
local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/})
mkfsoptions="--mkfsoptions=\\\"-J size=8\\\"" # See bug 17931.
fi
- add fs2mds $(mkfs_opts mds1 ${fs2mdsdev}) --mgs --fsname=${FSNAME2} \
- --reformat $mkfsoptions $fs2mdsdev $fs2mdsvdev || exit 10
+ if combined_mgs_mds; then
+ local mgs_flag="--mgs"
+ fi
+
+ add fs2mds $(mkfs_opts mds1 ${fs2mdsdev}) --fsname=${FSNAME2} \
+ --reformat $mgs_flag $mkfsoptions $fs2mdsdev $fs2mdsvdev ||
+ exit 10
add fs2ost $(mkfs_opts ost1 ${fs2ostdev}) --mgsnode=$MGSNID \
--fsname=${FSNAME2} --index=8191 --reformat $fs2ostdev \
$fs2ostvdev || exit 10
start fs2mds $fs2mdsdev $MDS_MOUNT_OPTS && trap cleanup_fs2 EXIT INT
start fs2ost $fs2ostdev $OST_MOUNT_OPTS
- do_facet $SINGLEMDS "$LCTL conf_param $FSNAME2.sys.timeout=200" ||
+ do_facet mgs "$LCTL conf_param $FSNAME2.sys.timeout=200" ||
error "$LCTL conf_param $FSNAME2.sys.timeout=200 failed"
mkdir -p $MOUNT2 || error "mkdir $MOUNT2 failed"
$MOUNT_CMD $MGSNID:/${FSNAME2} $MOUNT2 || error "$MOUNT_CMD failed"
run_test 35b "Continue reconnection retries, if the active server is busy"
test_36() { # 12743
- [ $OSTCOUNT -lt 2 ] && skip_env "skipping test for single OST" && return
+ [ $OSTCOUNT -lt 2 ] && skip_env "needs >= 2 OSTs" && return
[ "$ost_HOST" = "`hostname`" -o "$ost1_HOST" = "`hostname`" ] ||
{ skip "remote OST" && return 0; }
local rc=0
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
- skip "Currently only applicable to ldiskfs-based MDTs"
+ skip "ldiskfs only test"
return
fi
echo "blah blah" > $MOUNT/$tfile
cat $MOUNT/$tfile || error "cat $MOUNT/$tfile failed"
- umount_client $MOUNT || error "umount_client $MOUNT failed"
+ umount_client $MOUNT -f || error "umount_client $MOUNT failed"
stop_ost || error "Unable to stop OST1"
stop_mds || error "Unable to stop MDS"
stop_mds || error "Unable to stop MDS on second try"
run_test 50f "normal statfs one server in down"
test_50g() {
- [ "$OSTCOUNT" -lt "2" ] && skip_env "$OSTCOUNT < 2, skipping" && return
+ [ "$OSTCOUNT" -lt "2" ] && skip_env "needs >=2 OSTs" && return
setup
start_ost2 || error "Unable to start OST2"
wait_osc_import_state mds ost2 FULL
# LU-642
test_50h() {
# prepare MDT/OST, make OSC inactive for OST1
- [ "$OSTCOUNT" -lt "2" ] && skip_env "$OSTCOUNT < 2, skipping" && return
+ [ "$OSTCOUNT" -lt "2" ] && skip_env "needs >=2 OSTs" && return
[ $(facet_fstype ost1) == zfs ] && import_zpool ost1
do_facet ost1 "$TUNEFS --param osc.active=0 `ostdevname 1`" ||
test_50i() {
# prepare MDT/OST, make OSC inactive for OST1
- [ "$MDSCOUNT" -lt "2" ] && skip_env "$MDSCOUNT < 2, skipping" && return
+ [ "$MDSCOUNT" -lt "2" ] && skip_env "needs >= 2 MDTs" && return
load_modules
[ $(facet_fstype mds2) == zfs ] && import_zpool mds2
test_52() {
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
- skip "Only applicable to ldiskfs-based MDTs"
+ skip "ldiskfs only test"
return
fi
test_54a() {
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
- skip "Only applicable to ldiskfs-based MDTs"
+ skip "ldiskfs only test"
return
fi
test_54b() {
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
- skip "Only applicable to ldiskfs-based MDTs"
+ skip "ldiskfs only test"
return
fi
test_55() {
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
- skip "Only applicable to ldiskfs-based MDTs"
+ skip "ldiskfs only test"
return
fi
MDSJOURNALSIZE=16
- for num in $(seq 1 $MDSCOUNT); do
- format_mdt $num
- done
+ formatall
add ost1 $(mkfs_opts ost1 $(ostdevname 1)) --index=10000 --reformat \
$(ostdevname 1) $(ostvdevname 1)
add ost2 $(mkfs_opts ost2 $(ostdevname 2)) --index=1000 --reformat \
local num
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
- skip "Only applicable to ldiskfs-based MDTs"
+ skip "ldiskfs only test"
return
fi
test_62() {
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
- skip "Only applicable to ldiskfs-based MDTs"
+ skip "ldiskfs only test"
return
fi
test_63() {
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
- skip "Only applicable to ldiskfs-based MDTs"
+ skip "ldiskfs only test"
return
fi
test_65() { # LU-2237
# Currently, the test is only valid for ldiskfs backend
[ "$(facet_fstype $SINGLEMDS)" != "ldiskfs" ] &&
- skip "non-ldiskfs backend" && return
+ skip "ldiskfs only test" && return
local devname=$(mdsdevname ${SINGLEMDS//mds/})
local brpt=$(facet_mntpt brpt)
soc=$(do_facet mds1 "$LCTL get_param -n \
mdt.*MDT0000.sync_lock_cancel")
[ $soc == "never" ] || error "SoC enabled on single MDS"
+ umount_client $MOUNT -f > /dev/null
cleanup || error "cleanup failed with $?"
}
test_78() {
[[ $(facet_fstype $SINGLEMDS) != ldiskfs ||
$(facet_fstype ost1) != ldiskfs ]] &&
- skip "only applicable to ldiskfs-based MDTs and OSTs" && return
+ skip "ldiskfs only test" && return
# reformat the Lustre filesystem with a smaller size
local saved_MDSCOUNT=$MDSCOUNT
test_81() { # LU-4665
[[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.6.54) ]] ||
{ skip "Need MDS version at least 2.6.54" && return; }
- [[ $OSTCOUNT -ge 3 ]] || { skip_env "Need at least 3 OSTs" && return; }
+ [[ $OSTCOUNT -ge 3 ]] || { skip_env "needs >= 3 OSTs" && return; }
stopall
test_82a() { # LU-4665
[[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.6.54) ]] ||
{ skip "Need MDS version at least 2.6.54" && return; }
- [[ $OSTCOUNT -ge 3 ]] || { skip_env "Need at least 3 OSTs" && return; }
+ [[ $OSTCOUNT -ge 3 ]] || { skip_env "needs >= 3 OSTs" && return; }
stopall
# Remove OSTs from a pool and destroy the pool.
destroy_pool $ost_pool || true
+ if ! combined_mgs_mds ; then
+ umount_mgs_client
+ fi
restore_ostindex
}
test_82b() { # LU-4665
[[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.6.54) ]] ||
{ skip "Need MDS version at least 2.6.54" && return; }
- [[ $OSTCOUNT -ge 4 ]] || { skip_env "Need at least 4 OSTs" && return; }
+ [[ $OSTCOUNT -ge 4 ]] || { skip_env "needs >= 4 OSTs" && return; }
stopall
done
mount_client $MOUNT || error "mount client $MOUNT failed"
+ if ! combined_mgs_mds ; then
+ mount_mgs_client
+ fi
+
wait_osts_up
$LFS df $MOUNT || error "$LFS df $MOUNT failed"
mkdir $DIR/$tdir || error "mkdir $DIR/$tdir failed"
[[ $(lustre_version_code ost1) -ge $(version_code 2.6.91) ]] ||
{ skip "Need OST version at least 2.6.91" && return 0; }
if [ $(facet_fstype ost1) != ldiskfs ]; then
- skip "Only applicable to ldiskfs-based OSTs"
+ skip "ldiskfs only test"
return
fi
[[ $(lustre_version_code $SINGLEMDS1) -ge $(version_code 2.9.51) ]] ||
{ skip "Need MDS version at least 2.9.51" && return; }
[[ $(facet_fstype $SINGLEMDS) != ldiskfs ]] &&
- { skip "Only applicable to ldiskfs-based MDTs" && return; }
+ { skip "ldiskfs only test" && return; }
[[ $OSTCOUNT -gt 59 ]] &&
{ skip "Ignore wide striping situation" && return; }
test_99()
{
[[ $(facet_fstype ost1) != ldiskfs ]] &&
- { skip "Only applicable to ldiskfs-based OSTs" && return; }
+ { skip "ldiskfs only test" && return; }
[[ $(lustre_version_code ost1) -ge $(version_code 2.8.57) ]] ||
{ skip "Need OST version at least 2.8.57" && return 0; }
do_facet ost1 $DEBUGFS -c -R stats `ostdevname 1` | grep "meta_bg" ||
error "meta_bg is not set"
- return 0
+ reformat
}
run_test 99 "Adding meta_bg option"
echo "rename $FSNAME to $newname"
- if [ ! combined_mgs_mds ]; then
+ if ! combined_mgs_mds ; then
local facet=$(mgsdevname)
do_facet mgs \
cp $LUSTRE/tests/test-framework.sh $DIR/$tdir ||
error "(2) Fail to copy test-framework.sh"
+ if ! combined_mgs_mds ; then
+ mount_mgs_client
+ fi
do_facet mgs $LCTL pool_new $FSNAME.pool1 ||
error "(3) Fail to create $FSNAME.pool1"
# name the pool name as the fsname
$SETSTRIPE -p $FSNAME $DIR/$tdir/d0 ||
error "(6) Fail to setstripe on $DIR/$tdir/d0"
+ if ! combined_mgs_mds ; then
+ umount_mgs_client
+ fi
KEEP_ZPOOL=true
stopall
FSNAME="mylustre"
setupall
+ if ! combined_mgs_mds ; then
+ mount_mgs_client
+ fi
test_103_check_pool $save_fsname 7
if [ $OSTCOUNT -ge 2 ]; then
$SETSTRIPE -p $save_fsname $DIR/$tdir/f0 ||
error "(16) Fail to setstripe on $DIR/$tdir/f0"
+ if ! combined_mgs_mds ; then
+ umount_mgs_client
+ fi
stopall
FSNAME="tfs"
setupall
+ if ! combined_mgs_mds ; then
+ mount_mgs_client
+ fi
test_103_check_pool $save_fsname 17
+ if ! combined_mgs_mds ; then
+ umount_mgs_client
+ fi
stopall
test_renamefs $save_fsname
}
test_105() {
- cleanup
+ cleanup -f
reformat
setup
mkdir -p $TMP/$tdir
}
run_test 105 "check file creation for ro and rw bind mnt pt"
+test_106() {
+ local repeat=5
+
+ reformat
+ setupall
+ mkdir -p $DIR/$tdir || error "create $tdir failed"
+ lfs setstripe -c 1 -i 0 $DIR/$tdir
+#define OBD_FAIL_CAT_RECORDS 0x1312
+ do_facet mds1 $LCTL set_param fail_loc=0x1312 fail_val=$repeat
+
+ for ((i = 1; i <= $repeat; i++)); do
+
+ #one full plain llog
+ createmany -o $DIR/$tdir/f- 64768
+
+ createmany -u $DIR/$tdir/f- 64768
+ done
+ wait_delete_completed $((TIMEOUT * 7))
+#ASSERTION osp_sync_thread() ( thread->t_flags != SVC_RUNNING ) failed
+#shows that osp code is buggy
+ do_facet mds1 $LCTL set_param fail_loc=0 fail_val=0
+
+ cleanupall
+}
+run_test 106 "check osp llog processing when catalog is wrapped"
+
test_107() {
[[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.10.50) ]] ||
{ skip "Need MDS version > 2.10.50"; return; }