#!/bin/bash

# Test md with single failure, multiple failure and all failure
seq=`basename $0`
echo "QA output created by $seq"

here=`pwd`
tmp=/tmp/$$
status=1        # failure is the default!
md=true

# get standard environment, filters and checks
. ./common.rc
. ./common.filter

_cleanup

for i in 0 1 2; do
	_start_sheep $i
done
_wait_for_sheep 3
$COLLIE cluster format -c 2
sleep 1
$COLLIE vdi create test 200M -P

# simulate one disk failure
_safe_remove $STORE/0/d0
_random | $COLLIE vdi write test
_wait_for_sheep_recovery 0
$COLLIE vdi check test
$COLLIE cluster info | _filter_cluster_info

# simulate multiple disk failure
_safe_remove $STORE/1/d0
_random | $COLLIE vdi write test &
sleep 1
_safe_remove $STORE/1/d1
_wait_for_sheep_recovery 0
wait
$COLLIE vdi check test
$COLLIE cluster info | _filter_cluster_info

# simulate all disks failure
_safe_remove $STORE/1/d2
_random | $COLLIE vdi write test
$COLLIE vdi check test
$COLLIE cluster info | _filter_cluster_info

# simulate simultaneous multiple disks failure
_safe_remove $STORE/2/d0
_safe_remove $STORE/2/d1
dd if=/dev/zero | $COLLIE vdi write test
$COLLIE vdi check test
$COLLIE cluster info | _filter_cluster_info
