test_recover_01.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash
  2. # SPDX-License-Identifier: GPL-2.0
  3. . "$(cd "$(dirname "$0")" && pwd)"/test_common.sh
  4. ERR_CODE=0
  5. ublk_run_recover_test()
  6. {
  7. run_io_and_recover 256M "kill_daemon" "$@"
  8. ERR_CODE=$?
  9. if [ ${ERR_CODE} -ne 0 ]; then
  10. echo "$TID failure: $*"
  11. _show_result $TID $ERR_CODE
  12. fi
  13. }
  14. if ! _have_program fio; then
  15. exit "$UBLK_SKIP_CODE"
  16. fi
  17. _prep_test "recover" "basic recover function verification"
  18. _create_backfile 0 256M
  19. _create_backfile 1 128M
  20. _create_backfile 2 128M
  21. ublk_run_recover_test -t null -q 2 -r 1 -b &
  22. ublk_run_recover_test -t loop -q 2 -r 1 -b "${UBLK_BACKFILES[0]}" &
  23. ublk_run_recover_test -t stripe -q 2 -r 1 -b "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
  24. wait
  25. ublk_run_recover_test -t null -q 2 -r 1 &
  26. ublk_run_recover_test -t loop -q 2 -r 1 "${UBLK_BACKFILES[0]}" &
  27. ublk_run_recover_test -t stripe -q 2 -r 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
  28. wait
  29. ublk_run_recover_test -t null -q 2 -r 1 -i 1 &
  30. ublk_run_recover_test -t loop -q 2 -r 1 -i 1 "${UBLK_BACKFILES[0]}" &
  31. ublk_run_recover_test -t stripe -q 2 -r 1 -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
  32. wait
  33. _cleanup_test "recover"
  34. _show_result $TID $ERR_CODE