ONLY=${ONLY:-"$*"}
-# bug number for skipped test: LU-2828
-ALWAYS_EXCEPT="$CONF_SANITY_EXCEPT 59 64"
+# bug number for skipped test:
+ALWAYS_EXCEPT="$CONF_SANITY_EXCEPT"
# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
is_sles11() # LU-2181
run_test 1 "start up ost twice (should return errors)"
test_2() {
- start_mdt 1 || error "MDT0 start fail"
+ start_mds || error "MDT start failed"
echo "start mds second time.."
- start_mdt 1 && error "2nd MDT start should fail"
+ start_mds && error "2nd MDT start should fail"
start_ost || error "OST start failed"
mount_client $MOUNT || error "mount_client failed to start client"
check_mount || error "check_mount failed"
# Check 3.
# prepare a non-symlink parameter in the OSD
- name="lma_self_repair"
+ name="auto_scrub"
param="$device.osd.$name"
cmd="$LCTL get_param -n osd-*.$device.$name"
done
echo "waiting for dev on $node: dev $devices loop $loops given up"
do_rpc_nodes $node "losetup -a"
- do_rpc_nodes $node "$LCTL devices_list"
+ do_rpc_nodes $node "$LCTL device_list"
return 1
}
echo " Commit: $img_commit"
echo " Kernel: $img_kernel"
echo " Arch: $img_arch"
- echo "OST version: $(get_lustre_version ost1)"
+ echo "OST version: $(lustre_build_version ost1)"
# The conversion can be made only when both of the following
# conditions are satisfied:
local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/})
- start $SINGLEMDS $MDSDEV $MDS_MOUNT_OPTS -o nosvc -n
+ start_mdt 1 -o nosvc -n
+ if [ $MDSCOUNT -ge 2 ]; then
+ for num in $(seq 2 $MDSCOUNT); do
+ start_mdt $num || return
+ done
+ fi
start ost1 $(ostdevname 1) $OST_MOUNT_OPTS
- start $SINGLEMDS $MDSDEV $MDS_MOUNT_OPTS -o nomgs,force
+ start_mdt 1 -o nomgs,force
mount_client $MOUNT || error "mount_client $MOUNT failed"
sleep 5
reformat
local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/})
- start $SINGLEMDS $MDSDEV $MDS_MOUNT_OPTS -o nosvc -n
+ start_mdt 1 -o nosvc -n
+ if [ $MDSCOUNT -ge 2 ]; then
+ for num in $(seq 2 $MDSCOUNT); do
+ start_mdt $num || return
+ done
+ fi
start_ost || error "Unable to start OST1"
- start $SINGLEMDS $MDSDEV $MDS_MOUNT_OPTS -o nomgs,force
+ start_mdt 1 -o nomgs,force
mount_client $MOUNT || error "mount_client $MOUNT failed"
sleep 5
{ skip "Need MDS version 2.5.4+ or 2.5.26+ or 2.6.52+"; return; }
cleanup
- # MDT concurent start
+ # MDT concurrent start
#define OBD_FAIL_TGT_DELAY_CONNECT 0x703
do_facet $SINGLEMDS "$LCTL set_param fail_loc=0x703"
start mds1 $(mdsdevname 1) $MDS_MOUNT_OPTS &
echo "2nd MDT start succeed"
else
stop mds1 -f
- error "unexpected concurent MDT mounts result, rc=$rc rc2=$rc2"
+ error "unexpected concurrent MDT mounts result, rc=$rc rc2=$rc2"
+ fi
+
+ if [ $MDSCOUNT -ge 2 ]; then
+ for num in $(seq 2 $MDSCOUNT); do
+ start_mdt $num || return
+ done
fi
- # OST concurent start
+ # OST concurrent start
+
#define OBD_FAIL_TGT_DELAY_CONNECT 0x703
do_facet ost1 "$LCTL set_param fail_loc=0x703"
start ost1 $(ostdevname 1) $OST_MOUNT_OPTS &
echo "1st OST start failed with EALREADY"
echo "2nd OST start succeed"
else
- stop mds1 -f
+ stop_mds -f
stop ost1 -f
- error "unexpected concurent OST mounts result, rc=$rc rc2=$rc2"
+ error "unexpected concurrent OST mounts result, rc=$rc rc2=$rc2"
fi
# cleanup
- stop mds1 -f
+ stop_mds
stop ost1 -f
# verify everything ok
start_mds
if [ $? != 0 ]
then
- stop mds1 -f
+ stop_mds
error "MDT(s) start failed"
fi
start_ost
if [ $? != 0 ]
then
- stop mds1 -f
+ stop_mds
stop ost1 -f
error "OST(s) start failed"
fi
mount_client $MOUNT
if [ $? != 0 ]
then
- stop mds1 -f
+ stop_mds
stop ost1 -f
error "client start failed"
fi
check_mount
if [ $? != 0 ]
then
- stop mds1 -f
+ stop_mds
stop ost1 -f
error "client mount failed"
fi
cleanup
}
-run_test 41c "concurent mounts of MDT/OST should all fail but one"
+run_test 41c "concurrent mounts of MDT/OST should all fail but one"
test_42() { #bug 14693
setup
cleanup_48() {
trap 0
- # reformat after this test is needed - if test will failed
+ # reformat after this test is needed - if the test fails,
# we will have unkillable file at FS
reformat_and_config
}
[ $? -eq 0 ] || { error "Unable to move objects"; return 14; }
# recover objects dry-run
- echo "ll_recover_lost_found_objs dry_run"
- do_node $ost1node "ll_recover_lost_found_objs -n -d $ost1mnt/O" ||
- error "ll_recover_lost_found_objs failed"
+ if [ $(lustre_version_code ost1) -ge $(version_code 2.5.56) ]; then
+ echo "ll_recover_lost_found_objs dry_run"
+ do_node $ost1node \
+ "ll_recover_lost_found_objs -n -d $ost1mnt/O" ||
+ error "ll_recover_lost_found_objs failed"
+ fi
# recover objects
echo "ll_recover_lost_found_objs fix run"
start_mdt 1 || error "MDT0 start fail"
start_ost || error "OST0 start fail"
-
- start_mdt 2 || error "MDT1 start fail"
+ for num in $(seq 2 $MDSCOUNT); do
+ start_mdt $num || return
+ done
mount_client $MOUNT || error "mount client fails"
start_ost || error "OST0 start fail"
- start_mdt 1 || error "MDT0 start fail"
- start_mdt 2 || error "MDT1 start fail"
+ start_mds || error "MDS start fail"
mount_client $MOUNT || error "mount client fails"
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
local MDTIDX=1
- start_mdt 1 || error "MDT0 start fail"
- start_mdt 2 || error "MDT1 start fail"
+ start_mds || error "MDS start fail"
start_ost || error "OST0 start fail"
mount_client $MOUNT || error "mount client fails"
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
local MDTIDX=1
- start_mdt 1 || error "MDT0 start fail"
- start_mdt 2 || error "MDT1 start fail"
+ start_mds || error "MDS start fail"
start_ost || error "OST0 start fail"
mount_client $MOUNT || error "mount client fails"
start_mdt 1 || error "MDT0 start fail"
start_ost || error "OST0 start fail"
- start_mdt 2 || error "MDT1 start fail"
+ for num in $(seq 2 $MDSCOUNT); do
+ start_mdt $num || return
+ done
+
start_ost2 || error "OST1 start fail"
mount_client $MOUNT || error "mount client fails"
rm -rf $DIR/$tdir || error "delete dir fail"
umount_client $MOUNT || error "umount_client failed"
- stop_mdt 1 || error "MDT0 stop fail"
- stop_mdt 2 || error "MDT1 stop fail"
+ stop_mds || error "MDS stop fail"
stop_ost || error "OST0 stop fail"
stop_ost2 || error "OST1 stop fail"
}
fi
local MDTIDX=1
- start_mdt 2 || error "MDT1 start fail"
+ for num in $(seq 2 $MDSCOUNT); do
+ start_mdt $num || return
+ done
start_ost || error "OST0 start fail"
start_mdt 1 || error "MDT0 start fail"
start_ost2 || error "OST1 start fail"
rm -rf $DIR/$tdir || error "delete dir fail"
umount_client $MOUNT || error "umount_client failed"
- stop_mdt 1 || error "MDT0 stop fail"
- stop_mdt 2 || error "MDT1 stop fail"
+ stop_mds || error "MDT0 stop fail"
stop_ost || error "OST0 stop fail"
stop_ost2 || error "OST1 stop fail"
}
start_ost || error "OST0 start fail"
start_ost2 || error "OST1 start fail"
- start_mdt 2 || error "MDT1 start fail"
+ for num in $(seq 2 $MDSCOUNT); do
+ start_mdt $num || return
+ done
start_mdt 1 || error "MDT0 start fail"
mount_client $MOUNT || error "mount client fails"
rm -rf $DIR/$tdir || error "delete dir fail"
umount_client $MOUNT || error "umount_client failed"
- stop_mdt 1 || error "MDT0 stop fail"
- stop_mdt 2 || error "MDT1 stop fail"
+ stop_mds || error "MDS stop fail"
stop_ost || error "OST0 stop fail"
stop_ost2 || error "OST1 stop fail"
local MDTIDX=1
start_ost || error "OST0 start fail"
- start_mdt 2 || error "MDT0 start fail"
+ for num in $(seq 2 $MDSCOUNT); do
+ start_mdt $num || return
+ done
start_mdt 1 || error "MDT0 start fail"
start_ost2 || error "OST1 start fail"
rm -rf $DIR/$tdir || error "delete dir fail"
umount_client $MOUNT || error "umount_client failed"
- stop_mdt 1 || error "MDT0 stop fail"
- stop_mdt 2 || error "MDT1 stop fail"
+ stop_mds || error "MDS stop fail"
stop_ost || error "OST0 stop fail"
stop_ost2 || error "OST1 stop fail"
local MDTIDX=1
start_ost || error "OST0 start fail"
- start_mdt 2 || error "MDT1 start fail"
+ for num in $(seq 2 $MDSCOUNT); do
+ start_mdt $num || return
+ done
start_ost2 || error "OST1 start fail"
start_mdt 1 || error "MDT0 start fail"
rm -rf $DIR/$tdir || error "delete dir fail"
umount_client $MOUNT || error "umount_client failed"
- stop_mdt 1 || error "MDT0 stop fail"
- stop_mdt 2 || error "MDT1 stop fail"
+ stop_mds || error "MDS stop fail"
stop_ost || error "OST0 stop fail"
stop_ost2 || error "OST1 stop fail"
add mds${num} $(mkfs_opts mds$num $(mdsdevname $num)) \
--reformat $(mdsdevname $num) $(mdsvdevname $num) ||
error "add mds $num failed"
- $TUNE2FS -O extents $(mdsdevname $num)
+ do_facet mds${num} "$TUNE2FS -O extents $(mdsdevname $num)" ||
+ error "$TUNE2FS failed on mds${num}"
done
add ost1 $(mkfs_opts ost1 $ostdev) --reformat $ostdev ||
run_test 82b "specify OSTs for file with --pool and --ost-list options"
test_83() {
- local dev
- local ostmnt
- local fstype
- local mnt_opts
-
+ [[ $(lustre_version_code ost1) -ge $(version_code 2.6.91) ]] ||
+ { skip "Need OST version at least 2.6.91" && return 0; }
if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
skip "Only applicable to ldiskfs-based MDTs"
return
fi
+ local dev
+ local ostmnt
+ local fstype
+ local mnt_opts
+
dev=$(ostdevname 1)
ostmnt=$(facet_mntpt ost1)
fstype=$(facet_fstype ost1)