Whamcloud - gitweb
LU-12025 osp: allow OS_STATE_* flags from OSTs
[fs/lustre-release.git] / lustre / tests / sanity.sh
index 3f784ff..5427831 100644 (file)
@@ -2468,11 +2468,11 @@ test_27D() {
        [ $MDS1_VERSION -lt $(version_code 2.9.55) ] ||
                [ $CLIENT_VERSION -lt $(version_code 2.9.55) ] &&
                        skip27D+=" -s 30,31"
-       [ $(lustre_version_code $SINGLEMDS) -lt $(version_code $SEL_VER) ] &&
-               skip27D+="-s 32"
        [[ ! $($LCTL get_param mdc.*.import) =~ connect_flags.*overstriping ||
          $OSTCOUNT -ge $(($LOV_MAX_STRIPE_COUNT / 2)) ]] &&
                skip27D+=" -s 32,33"
+       [[ $MDS_VERSION -lt $(version_code $SEL_VER) ]] &&
+               skip27D+=" -s 34"
        llapi_layout_test -d$DIR/$tdir -p$POOL -o$OSTCOUNT $skip27D ||
                error "llapi_layout_test failed"
 
@@ -2612,6 +2612,8 @@ run_test 27H "Set specific OSTs stripe"
 test_27I() {
        [ $PARALLEL == "yes" ] && skip "skip parallel run"
        [[ $OSTCOUNT -lt 2 ]] && skip_env "needs >= 2 OSTs"
+       [[ $MDS1_VERSION -gt $(version_code 2.12.52) ]] ||
+               skip "Need MDS version newer than 2.12.52"
        local pool=$TESTNAME
        local ostrange="1 1 1"
 
@@ -5493,19 +5495,27 @@ test_56c() {
                skip_env "OST $ost_name is in $old_status status"
 
        do_facet ost1 $LCTL set_param -n obdfilter.$ost_name.degraded=1
+       [[ $OST1_VERSION -ge $(version_code 2.12.55) ]] && do_facet ost1 \
+               $LCTL set_param -n obdfilter.$ost_name.no_precreate=1
        sleep_maxage
 
        local new_status=$(ost_dev_status $ost_idx)
 
-       [[ "$new_status" = "D" ]] ||
-               error "OST $ost_name is in status of '$new_status', not 'D'"
+       [[ "$new_status" =~ "D" ]] ||
+               error "$ost_name status is '$new_status', missing 'D'"
+       if [[ $OST1_VERSION -ge $(version_code 2.12.55) ]]; then
+               [[ "$new_status" =~ "N" ]] ||
+                       error "$ost_name status is '$new_status', missing 'N'"
+       fi
 
        do_facet ost1 $LCTL set_param -n obdfilter.$ost_name.degraded=0
+       [[ $OST1_VERSION -ge $(version_code 2.12.55) ]] && do_facet ost1 \
+               $LCTL set_param -n obdfilter.$ost_name.no_precreate=0
        sleep_maxage
 
        new_status=$(ost_dev_status $ost_idx)
-       [[ -z "$new_status" ]] ||
-               error "OST $ost_name is in status of '$new_status', not ''"
+       [[ ! "$new_status" =~ "D" && ! "$new_status" =~ "N" ]] ||
+               error "$ost_name status is '$new_status', has 'D' and/or 'N'"
 }
 run_test 56c "check 'lfs df' showing device status"
 
@@ -5857,6 +5867,8 @@ test_56r() {
 run_test 56r "check lfs find -size works"
 
 test_56ra() {
+       [[ $MDS1_VERSION -gt $(version_code 2.12.58) ]] ||
+               skip "MDS < 2.12.58 doesn't return LSOM data"
        local dir=$DIR/$tdir
 
        [[ $OSC == "mdc" ]] && skip "DoM files" && return
@@ -6227,7 +6239,7 @@ test_56w() {
        done
 
        # $LFS_MIGRATE will fail if hard link migration is unsupported
-       if [[ $(lustre_version_code mds1) -gt $(version_code 2.5.55) ]]; then
+       if [[ $MDS1_VERSION -gt $(version_code 2.5.55) ]]; then
                createmany -l$dir/dir1/file1 $dir/dir1/link 200 ||
                        error "creating links to $dir/dir1/file1 failed"
        fi
@@ -6565,6 +6577,7 @@ check_migrate_links() {
        local file1="$dir/file1"
        local begin="$2"
        local count="$3"
+       local runas="$4"
        local total_count=$(($begin + $count - 1))
        local symlink_count=10
        local uniq_count=10
@@ -6609,7 +6622,7 @@ check_migrate_links() {
        fi
 
        echo -n "migrating files..."
-       local migrate_out=$($LFS_MIGRATE -y -S '1m' $dir)
+       local migrate_out=$($runas $LFS_MIGRATE -y -S '1m' $dir)
        local rc=$?
        [ $rc -eq 0 ] || error "migrate failed rc = $rc"
        echo "done"
@@ -6664,6 +6677,9 @@ test_56xb() {
        echo "testing rsync mode when all links do not fit within xattrs"
        LFS_MIGRATE_RSYNC_MODE=true check_migrate_links "$dir" 101 100
 
+       chown -R $RUNAS_ID $dir
+       echo "testing non-root lfs migrate mode when not all links are in xattr"
+       LFS_MIGRATE_RSYNC_MODE=false check_migrate_links "$dir" 101 100 "$RUNAS"
 
        # clean up
        rm -rf $dir
@@ -22144,6 +22160,8 @@ run_test 809 "Verify no SOM xattr store for DoM-only files"
 test_810() {
        [ $PARALLEL == "yes" ] && skip "skip parallel run"
        $GSS && skip_env "could not run with gss"
+       [[ $OST1_VERSION -gt $(version_code 2.12.58) ]] ||
+               skip "OST < 2.12.58 doesn't align checksum"
 
        set_checksums 1
        stack_trap "set_checksums $ORIG_CSUM" EXIT