1*63276182SCaleb Sander Mateos#!/bin/bash 2*63276182SCaleb Sander Mateos# SPDX-License-Identifier: GPL-2.0 3*63276182SCaleb Sander Mateos 4*63276182SCaleb Sander Mateos. "$(cd "$(dirname "$0")" && pwd)"/test_common.sh 5*63276182SCaleb Sander Mateos 6*63276182SCaleb Sander MateosTID="generic_14" 7*63276182SCaleb Sander MateosERR_CODE=0 8*63276182SCaleb Sander Mateos 9*63276182SCaleb Sander Mateosublk_run_recover_test() 10*63276182SCaleb Sander Mateos{ 11*63276182SCaleb Sander Mateos run_io_and_recover 256M "kill_daemon" "$@" 12*63276182SCaleb Sander Mateos ERR_CODE=$? 13*63276182SCaleb Sander Mateos if [ ${ERR_CODE} -ne 0 ]; then 14*63276182SCaleb Sander Mateos echo "$TID failure: $*" 15*63276182SCaleb Sander Mateos _show_result $TID $ERR_CODE 16*63276182SCaleb Sander Mateos fi 17*63276182SCaleb Sander Mateos} 18*63276182SCaleb Sander Mateos 19*63276182SCaleb Sander Mateosif ! _have_program fio; then 20*63276182SCaleb Sander Mateos exit "$UBLK_SKIP_CODE" 21*63276182SCaleb Sander Mateosfi 22*63276182SCaleb Sander Mateos 23*63276182SCaleb Sander Mateos_prep_test "recover" "basic recover function verification (user copy)" 24*63276182SCaleb Sander Mateos 25*63276182SCaleb Sander Mateos_create_backfile 0 256M 26*63276182SCaleb Sander Mateos_create_backfile 1 128M 27*63276182SCaleb Sander Mateos_create_backfile 2 128M 28*63276182SCaleb Sander Mateos 29*63276182SCaleb Sander Mateosublk_run_recover_test -t null -q 2 -r 1 -u & 30*63276182SCaleb Sander Mateosublk_run_recover_test -t loop -q 2 -r 1 -u "${UBLK_BACKFILES[0]}" & 31*63276182SCaleb Sander Mateosublk_run_recover_test -t stripe -q 2 -r 1 -u "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 32*63276182SCaleb Sander Mateoswait 33*63276182SCaleb Sander Mateos 34*63276182SCaleb Sander Mateosublk_run_recover_test -t null -q 2 -r 1 -u -i 1 & 35*63276182SCaleb Sander Mateosublk_run_recover_test -t loop -q 2 -r 1 -u -i 1 "${UBLK_BACKFILES[0]}" & 36*63276182SCaleb Sander Mateosublk_run_recover_test -t stripe -q 2 -r 1 -u -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 37*63276182SCaleb Sander Mateoswait 38*63276182SCaleb Sander Mateos 39*63276182SCaleb Sander Mateos_cleanup_test "recover" 40*63276182SCaleb Sander Mateos_show_result $TID $ERR_CODE 41