X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fscrub-performance.sh;h=0c90e45957cdb9817e53f2b670723eb4d2173d4f;hb=HEAD;hp=fe9f05bda744cd98bd58ebbfe60152e09e2efdde;hpb=64af83190180a8f3e90aea270e2baaecb1ecdb93;p=fs%2Flustre-release.git diff --git a/lustre/tests/scrub-performance.sh b/lustre/tests/scrub-performance.sh index fe9f05b..7512f38 100644 --- a/lustre/tests/scrub-performance.sh +++ b/lustre/tests/scrub-performance.sh @@ -3,23 +3,23 @@ set -e ONLY=${ONLY:-"$*"} -ALWAYS_EXCEPT="$SCRUB_PERFORMANCE_EXCEPT" -[ "$SLOW" = "no" ] && EXCEPT_SLOW="" -# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT! -LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)} +LUSTRE=${LUSTRE:-$(dirname $0)/..} . $LUSTRE/tests/test-framework.sh -init_test_env $@ -. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} +init_test_env "$@" init_logging -[ $(facet_fstype $SINGLEMDS) != ldiskfs ] && - skip "OI scrub performance only for ldiskfs" && exit 0 -[[ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.2.90) ]] && - skip "Need MDS version at least 2.2.90" && exit 0 -require_dsh_mds || exit 0 -[ "$SLOW" = "no" ] && skip "skip scrub performance test under non-SLOW mode" +ALWAYS_EXCEPT="$SCRUB_PERFORMANCE_EXCEPT" +build_test_filter +[ "$SLOW" = "no" ] && + skip "skip scrub performance test under non-SLOW mode" && exit 0 + +[ "$mds1_FSTYPE" != ldiskfs ] && + skip "ldiskfs only test" +[[ "$MDS1_VERSION" -lt $(version_code 2.2.90) ]] && + skip "Need MDS version at least 2.2.90" +require_dsh_mds || exit 0 NTHREADS=${NTHREADS:-0} UNIT=${UNIT:-1048576} @@ -40,11 +40,22 @@ if [ ${NTHREADS} -eq 0 ]; then NTHREADS=$((CPUCORE * 2)) fi -stopall +cleanupall + +if ! combined_mgs_mds ; then + do_rpc_nodes $(facet_active_host mgs) load_modules_local + add mgs $(mkfs_opts mgs $(mgsdevname)) --backfstype ldiskfs \ + --reformat $(mgsdevname) $(mgsvdevname) ${quiet:+>/dev/null} || + exit 1 + + start mgs $(mgsdevname) $MGS_MOUNT_OPTS || error "Fail to start MGS!" +fi + do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local -reformat_external_journal +reformat_external_journal ${SINGLEMDS} add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype ldiskfs \ - --reformat ${MDT_DEVNAME} $(mdsvdevname 1) > /dev/null || exit 2 + --reformat ${MDT_DEVNAME} $(mdsvdevname 1) ${quiet:+>/dev/null} || + exit 2 scrub_attach() { ${ECHOCMD} "${LCTL} <<-EOF @@ -55,9 +66,8 @@ scrub_attach() { scrub_detach() { ${ECHOCMD} "${LCTL} <<-EOF - device scrub-MDT0000 - cleanup - detach + --device scrub-MDT0000 cleanup + --device scrub-MDT0000 detach EOF" } @@ -65,28 +75,24 @@ scrub_create() { local echodev=$(${RLCTL} dl | grep echo_client|awk '{print $1}') local j - ${ECHOCMD} "${LCTL} <<-EOF - cfg_device ${echodev} - test_mkdir ${tdir} - EOF" + ${ECHOCMD} "${LCTL} --device ${echodev} test_mkdir ${tdir}" - for ((j=1; j<${threads}; j++)); do - ${ECHOCMD} "${LCTL} <<-EOF - cfg_device ${echodev} - test_mkdir ${tdir}${j} - EOF" + for ((j = 1; j < ${threads}; j++)); do + ${ECHOCMD} "${LCTL} --device ${echodev} test_mkdir ${tdir}${j}" done - ${ECHOCMD} "${LCTL} <<-EOF - cfg_device ${echodev} - --threads ${threads} 0 ${echodev} test_create \ - -d ${tdir} -D ${threads} -b ${lbase} -c 0 -n ${usize} - EOF" + ${ECHOCMD} "${LCTL} --device ${echodev} \ + --threads ${threads} 0 ${echodev} \ + test_create -d${tdir} -D${threads} -b${lbase} -c0 -n${usize}" } scrub_cleanup() { + cleanupall do_rpc_nodes $(facet_active_host $SINGLEMDS) unload_modules - formatall + if ! combined_mgs_mds ; then + do_rpc_nodes $(facet_active_host mgs) unload_modules + fi + REFORMAT="yes" cleanup_and_setup_lustre } scrub_create_nfiles() { @@ -119,8 +125,6 @@ scrub_create_nfiles() { done } -build_test_filter - test_0() { local BASECOUNT=0 local i @@ -143,7 +147,8 @@ test_0() { if [ ${BACKUP} -ne 0 ]; then stime=$(date +%s) echo "backup/restore ${i} files start at: $(date)" - mds_backup_restore || error "Fail to backup/restore!" + mds_backup_restore $SINGLEMDS || + error "Fail to backup/restore!" echo "backup/restore ${i} files end at: $(date)" etime=$(date +%s) delta=$((etime - stime)) @@ -151,7 +156,8 @@ test_0() { echo "backup/restore ${i} files used ${delta} seconds" echo "backup/restore speed is $((i / delta))/sec" else - mds_remove_ois || error "Fail to remove/recreate!" + mds_remove_ois $SINGLEMDS || + error "Fail to remove/recreate!" fi echo "--- start to rebuild OI for $i files set at: $(date) ---" @@ -177,5 +183,6 @@ run_test 0 "OI scrub performance test" # cleanup the system at last scrub_cleanup -complete $SECONDS +complete_test $SECONDS +check_and_cleanup_lustre exit_status