From: Andreas Dilger Date: Sun, 22 Mar 2020 00:17:14 +0000 (-0600) Subject: LU-13148 tests: clean up sanity 56ra add debugging X-Git-Tag: 2.12.5-RC1~54 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=9ef44ab89cf8a0e079b8d1878832b7ece483d765;p=fs%2Flustre-release.git LU-13148 tests: clean up sanity 56ra add debugging Consolidate duplicate code from sanity.sh test_56ra() into a helper function to make it easier to see what is being run. Print out the before and after values for each test. Skip test_56ra for versions older than 2.12.4, since it was backported in commit v2_12_3-24-gd55982d842. Test-Parameters: trivial testlist=sanity env=ONLY=56ra,ONLY_REPEAT=50 Signed-off-by: Andreas Dilger Change-Id: Ia28c1b556f53ea88643805cbf4ada725a53ebbe5 Reviewed-on: https://review.whamcloud.com/38021 Tested-by: jenkins Tested-by: Maloo Reviewed-by: James Nunez Reviewed-by: Oleg Drokin --- diff --git a/lustre/tests/sanity.sh b/lustre/tests/sanity.sh index 517694c..23adcc1 100755 --- a/lustre/tests/sanity.sh +++ b/lustre/tests/sanity.sh @@ -5376,152 +5376,67 @@ test_56r() { } run_test 56r "check lfs find -size works" -test_56ra() { - local dir=$DIR/$tdir - - [[ $OSC == "mdc" ]] && skip "DoM files" && return - - setup_56 $dir $NUMFILES $NUMDIRS "-c 1" +test_56ra_sub() { + local expected=$1 + local glimpses=$2 + local cmd="$3" cancel_lru_locks $OSC local rpcs_before=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - local expected=12 - local cmd="$LFS find -size 0 -type f -lazy $dir" local nums=$($cmd | wc -l) [ $nums -eq $expected ] || error "'$cmd' wrong: found $nums, expected $expected" local rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - [ $rpcs_before -eq $rpcs_after ] || - error "'$cmd' should not send glimpse RPCs to OST" - cmd="$LFS find -size 0 -type f $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - echo "Before: $rpcs_before After: $rpcs_after $NUMFILES" - $LCTL get_param osc.*.stats - [ $rpcs_after -eq $((rpcs_before + 12)) ] || - error "'$cmd' should send 12 glimpse RPCs to OST" - cancel_lru_locks $OSC - rpcs_before=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - expected=0 - cmd="$LFS find ! -size 0 -type f -lazy $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - $LCTL get_param mdc.*.stats - [ $rpcs_before -eq $rpcs_after ] || - error "'$cmd' should not send glimpse RPCs to OST" - cmd="$LFS find ! -size 0 -type f $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - echo "Before: $rpcs_before After: $rpcs_after $NUMFILES" - [ $rpcs_after -eq $((rpcs_before + 12)) ] || - error "'$cmd' should send 12 glimpse RPCs to OST" + if (( rpcs_before + glimpses != rpcs_after )); then + echo "Before: $rpcs_before After: $rpcs_after $NUMFILES" + $LCTL get_param osc.*.stats | grep ldlm_glimpse_enqueue - echo "test" > $dir/$tfile - echo "test2" > $dir/$tfile.2 && sync - cancel_lru_locks $OSC - rpcs_before=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - expected=1 - cmd="$LFS find -size 5 -type f -lazy $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - [ $rpcs_before -eq $rpcs_after ] || - error "'$cmd' should not send glimpse RPCs to OST" - cmd="$LFS find -size 5 -type f $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - echo "Before: $rpcs_before After: $rpcs_after $NUMFILES" - [ $rpcs_after -eq $((rpcs_before + 14)) ] || - error "'$cmd' should send 14 glimpse RPCs to OST" + if [[ $glimpses == 0 ]]; then + error "'$cmd' should not send glimpse RPCs to OST" + else + error "'$cmd' should send $glimpses glimpse RPCs to OST" + fi + fi +} - cancel_lru_locks $OSC - rpcs_before=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - expected=1 - cmd="$LFS find -size +5 -type f -lazy $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - [ $rpcs_before -eq $rpcs_after ] || - error "'$cmd' should not send glimpse RPCs to OST" - cmd="$LFS find -size +5 -type f $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - echo "Before: $rpcs_before After: $rpcs_after $NUMFILES" - [ $rpcs_after -eq $((rpcs_before + 14)) ] || - error "'$cmd' should send 14 glimpse RPCs to OST" +test_56ra() { + [[ $MDS1_VERSION -ge $(version_code 2.12.4) ]] || + skip "MDS < 2.12.4 doesn't return LSOM data" + local dir=$DIR/$tdir - cancel_lru_locks $OSC - rpcs_before=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - expected=2 - cmd="$LFS find -size +0 -type f -lazy $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - [ $rpcs_before -eq $rpcs_after ] || - error "'$cmd' should not send glimpse RPCs to OST" - cmd="$LFS find -size +0 -type f $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - echo "Before: $rpcs_before After: $rpcs_after $NUMFILES" - [ $rpcs_after -eq $((rpcs_before + 14)) ] || - error "'$cmd' should send 14 glimpse RPCs to OST" + [[ $OSC == "mdc" ]] && skip "DoM files" + setup_56 $dir $NUMFILES $NUMDIRS "-c 1" + # open and close all files to ensure LSOM is updated cancel_lru_locks $OSC - rpcs_before=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - expected=2 - cmd="$LFS find ! -size -5 -type f -lazy $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - [ $rpcs_before -eq $rpcs_after ] || - error "'$cmd' should not send glimpse RPCs to OST" - cmd="$LFS find ! -size -5 -type f $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - echo "Before: $rpcs_before After: $rpcs_after $NUMFILES" - [ $rpcs_after -eq $((rpcs_before + 14)) ] || - error "'$cmd' should send 14 glimpse RPCs to OST" + find $dir -type f | xargs cat > /dev/null + # expect_found glimpse_rpcs command_to_run + test_56ra_sub 12 0 "$LFS find -size 0 -type f -lazy $dir" + test_56ra_sub 12 12 "$LFS find -size 0 -type f $dir" + test_56ra_sub 0 0 "$LFS find ! -size 0 -type f -lazy $dir" + test_56ra_sub 0 12 "$LFS find ! -size 0 -type f $dir" + + echo "test" > $dir/$tfile + echo "test2" > $dir/$tfile.2 && sync cancel_lru_locks $OSC - rpcs_before=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - expected=12 - cmd="$LFS find -size -5 -type f -lazy $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - [ $rpcs_before -eq $rpcs_after ] || - error "'$cmd' should not send glimpse RPCs to OST" - cmd="$LFS find -size -5 -type f $dir" - nums=$($cmd | wc -l) - [ $nums -eq $expected ] || - error "'$cmd' wrong: found $nums, expected $expected" - rpcs_after=$(calc_stats $OSC.*$OSC*.stats ldlm_glimpse_enqueue) - echo "Before: $rpcs_before After: $rpcs_after $NUMFILES" - [ $rpcs_after -eq $((rpcs_before + 14)) ] || - error "'$cmd' should send 14 glimpse RPCs to OST" + cat $dir/$tfile $dir/$tfile.2 > /dev/null + + test_56ra_sub 1 0 "$LFS find -size 5 -type f -lazy $dir" + test_56ra_sub 1 14 "$LFS find -size 5 -type f $dir" + test_56ra_sub 1 0 "$LFS find -size +5 -type f -lazy $dir" + test_56ra_sub 1 14 "$LFS find -size +5 -type f $dir" + + test_56ra_sub 2 0 "$LFS find -size +0 -type f -lazy $dir" + test_56ra_sub 2 14 "$LFS find -size +0 -type f $dir" + test_56ra_sub 2 0 "$LFS find ! -size -5 -type f -lazy $dir" + test_56ra_sub 2 14 "$LFS find ! -size -5 -type f $dir" + test_56ra_sub 12 0 "$LFS find -size -5 -type f -lazy $dir" + test_56ra_sub 12 14 "$LFS find -size -5 -type f $dir" } run_test 56ra "check lfs find -size -lazy works for data on OSTs"