#!/bin/bash
set -ux -o pipefail

source ~/xfstests/local.config

SCRATCH_DEV_ARRAY=($SCRATCH_DEV_POOL)
umount $SCRATCH_MNT
set -e
uname -a

mkfs.btrfs -f -draid5 -mraid1 ${SCRATCH_DEV_ARRAY[@]}
mount ${SCRATCH_DEV_ARRAY[0]} $SCRATCH_MNT # -o compress=zstd,noatime
mkdir -p $SCRATCH_MNT/dir1

/bin/cp -a /usr/hpc-bio $SCRATCH_MNT/dir1/
sync
du -sh $SCRATCH_MNT
cd $SCRATCH_MNT
while true; do
	find -type f -exec cat {} + > /dev/null
done &

for((i=1;i>=0;++i)); do

	sync; sleep 2; sync; sleep 4; sync; sleep 20; # change the device to discard in every loop
	echo 3 > /proc/sys/vm/drop_caches; free -h
	j=$(( i % ${#SCRATCH_DEV_ARRAY[@]} ))
	/usr/sbin/blkdiscard -f ${SCRATCH_DEV_ARRAY[$j]} >/dev/null 2>&1

	btrfs scrub start -Bd $SCRATCH_MNT | grep 'summary\|Uncorrectable'
done &
wait

