Whamcloud - gitweb
LU-11548 llite: increase readahead default values
[fs/lustre-release.git] / lustre / tests / sanity.sh
index 207d6b5..924d05a 100755 (executable)
@@ -7717,7 +7717,7 @@ test_60g() {
 
                do_facet mds$index $LCTL set_param fail_loc=0x8000019a \
                        > /dev/null
-               usleep 100
+               sleep 0.01
        done
 
        kill -9 $pid
@@ -9551,12 +9551,11 @@ test_101g_brw_size_test() {
                sed -n '/pages per rpc/,/^$/p' |
                awk '/'$pages':/ { reads += $2; writes += $6 }; \
                END { print reads,writes }'))
-       [ ${rpcs[0]} -ne $count ] && error "${rpcs[0]} != $count read RPCs" &&
-               return 5
-       [ ${rpcs[1]} -ne $count ] && error "${rpcs[1]} != $count write RPCs" &&
-               return 6
-
-       return 0
+       # allow one extra full-sized read RPC for async readahead
+       [[ ${rpcs[0]} == $count || ${rpcs[0]} == $((count + 1)) ]] ||
+               { error "${rpcs[0]} != $count read RPCs"; return 5; }
+       [[ ${rpcs[1]} == $count ]] ||
+               { error "${rpcs[1]} != $count write RPCs"; return 6; }
 }
 
 test_101g() {
@@ -11814,18 +11813,18 @@ test_124a() {
                skip "Limit is too small $LIMIT"
        fi
 
-        # Make LVF so higher that sleeping for $SLEEP is enough to _start_
-        # killing locks. Some time was spent for creating locks. This means
-        # that up to the moment of sleep finish we must have killed some of
-        # them (10-100 locks). This depends on how fast ther were created.
-        # Many of them were touched in almost the same moment and thus will
-        # be killed in groups.
-        local LVF=$(($MAX_HRS * 60 * 60 / $SLEEP * $LIMIT / $LRU_SIZE))
-
-        # Use $LRU_SIZE_B here to take into account real number of locks
-        # created in the case of CMD, LRU_SIZE_B != $NR in most of cases
-        local LRU_SIZE_B=$LRU_SIZE
-        log "LVF=$LVF"
+       # Make LVF so higher that sleeping for $SLEEP is enough to _start_
+       # killing locks. Some time was spent for creating locks. This means
+       # that up to the moment of sleep finish we must have killed some of
+       # them (10-100 locks). This depends on how fast ther were created.
+       # Many of them were touched in almost the same moment and thus will
+       # be killed in groups.
+       local LVF=$(($MAX_HRS * 60 * 60 / $SLEEP * $LIMIT / $LRU_SIZE * 100))
+
+       # Use $LRU_SIZE_B here to take into account real number of locks
+       # created in the case of CMD, LRU_SIZE_B != $NR in most of cases
+       local LRU_SIZE_B=$LRU_SIZE
+       log "LVF=$LVF"
        local OLD_LVF=$($LCTL get_param -n $NSDIR.pool.lock_volume_factor)
        log "OLD_LVF=$OLD_LVF"
        $LCTL set_param -n $NSDIR.pool.lock_volume_factor $LVF
@@ -22048,6 +22047,11 @@ test_398d() { #  LU-13846
        aiocp -a $PAGE_SIZE -b 64M -s 64M -f O_DIRECT $DIR/$tfile $aio_file
 
        diff $DIR/$tfile $aio_file || "file diff after aiocp"
+
+       # make sure we don't crash and fail properly
+       aiocp -a 512 -b 64M -s 64M -f O_DIRECT $DIR/$tfile $aio_file &&
+               error "aio not aligned with PAGE SIZE should fail"
+
        rm -rf $DIR/$tfile $aio_file
 }
 run_test 398d "run aiocp to verify block size > stripe size"
@@ -23366,6 +23370,41 @@ test_424() {
 }
 run_test 424 "simulate ENOMEM in ptl_send_rpc bulk reply ME attach"
 
+test_425() {
+       test_mkdir -c -1 $DIR/$tdir
+       $LFS setstripe -c -1 $DIR/$tdir
+
+       lru_resize_disable "" 100
+       stack_trap "lru_resize_enable" EXIT
+
+       sleep 5
+
+       for i in $(seq $((MDSCOUNT * 125))); do
+               local t=$DIR/$tdir/$tfile_$i
+
+               dd if=/dev/zero of=$t bs=4K count=1 > /dev/null 2>&1 ||
+                       error_noexit "Create file $t"
+       done
+       stack_trap "rm -rf $DIR/$tdir" EXIT
+
+       for oscparam in $($LCTL list_param ldlm.namespaces.*osc-[-0-9a-f]*); do
+               local lru_size=$($LCTL get_param -n $oscparam.lru_size)
+               local lock_count=$($LCTL get_param -n $oscparam.lock_count)
+
+               [ $lock_count -le $lru_size ] ||
+                       error "osc lock count $lock_count > lru size $lru_size"
+       done
+
+       for mdcparam in $($LCTL list_param ldlm.namespaces.*mdc-*); do
+               local lru_size=$($LCTL get_param -n $mdcparam.lru_size)
+               local lock_count=$($LCTL get_param -n $mdcparam.lock_count)
+
+               [ $lock_count -le $lru_size ] ||
+                       error "mdc lock count $lock_count > lru size $lru_size"
+       done
+}
+run_test 425 "lock count should not exceed lru size"
+
 prep_801() {
        [[ $MDS1_VERSION -lt $(version_code 2.9.55) ]] ||
        [[ $OST1_VERSION -lt $(version_code 2.9.55) ]] &&