+test_33h() {
+ [ $MDSCOUNT -lt 2 ] && skip_env "needs >= 2 MDTs"
+ [ $MDS1_VERSION -lt $(version_code 2.13.50) ] &&
+ skip "Need MDS version at least 2.13.50"
+
+ test_mkdir -c $MDSCOUNT -H crush $DIR/$tdir ||
+ error "mkdir $tdir failed"
+ touch $DIR/$tdir/$tfile || error "touch $tfile failed"
+
+ local index=$($LFS getstripe -m $DIR/$tdir/$tfile)
+ local index2
+
+ for fname in $DIR/$tdir/$tfile.bak \
+ $DIR/$tdir/$tfile.SAV \
+ $DIR/$tdir/$tfile.orig \
+ $DIR/$tdir/$tfile~; do
+ touch $fname || error "touch $fname failed"
+ index2=$($LFS getstripe -m $fname)
+ [ $index -eq $index2 ] ||
+ error "$fname MDT index mismatch $index != $index2"
+ done
+
+ local failed=0
+ for i in {1..50}; do
+ for fname in $(mktemp -u $DIR/$tdir/.$tfile.XXXXXX) \
+ $(mktemp $DIR/$tdir/$tfile.XXXXXXXX); do
+ touch $fname || error "touch $fname failed"
+ index2=$($LFS getstripe -m $fname)
+ if [[ $index != $index2 ]]; then
+ failed=$((failed + 1))
+ echo "$fname MDT index mismatch $index != $index2"
+ fi
+ done
+ done
+ echo "$failed MDT index mismatches"
+ (( failed < 4 )) || error "MDT index mismatch $failed times"
+
+}
+run_test 33h "temp file is located on the same MDT as target"
+