#!/bin/bash

# Test cluster snapshot

. ./common
for i in `seq 0 5`; do
	_start_sheep $i;
done
_wait_for_sheep 6

TMPDIR="$STORE/tmp"
rm -rf $TMPDIR

_cluster_format -c 6

_vdi_create test1 10M
_vdi_create test2 10M

_random | $DOG vdi write test1
_random | $DOG vdi write test2
$DOG vdi read test1 | md5sum > $STORE/csum.11.org
$DOG vdi read test2 | md5sum > $STORE/csum.21.org
$DOG vdi snapshot test1
$DOG vdi snapshot test2
$DOG cluster snapshot save s1 $TMPDIR
$DOG cluster snapshot list $TMPDIR | _filter_date

_random | $DOG vdi write test1
_random | $DOG vdi write test2
$DOG vdi read test1 | md5sum > $STORE/csum.12.org
$DOG vdi read test2 | md5sum > $STORE/csum.22.org
$DOG vdi snapshot test1
$DOG vdi snapshot test2
$DOG cluster snapshot save s2 $TMPDIR
$DOG cluster snapshot list $TMPDIR | _filter_date

_vdi_list

_cleanup
for i in `seq 0 5`; do
	_start_sheep $i;
done
_wait_for_sheep 6

_cluster_format -c 6
$DOG cluster snapshot load s1 $TMPDIR
_vdi_list

$DOG vdi read test1 | md5sum > $STORE/csum.11.new
$DOG vdi read test2 | md5sum > $STORE/csum.21.new
diff -u $STORE/csum.11.org $STORE/csum.11.new
diff -u $STORE/csum.21.org $STORE/csum.21.new

_cleanup
for i in `seq 0 5`; do
	_start_sheep $i;
done
_wait_for_sheep 6

$DOG cluster snapshot load s2 $TMPDIR
_vdi_list

_cleanup
for i in `seq 0 5`; do
	_start_sheep $i;
done
_wait_for_sheep 6

$DOG cluster snapshot load 2 $TMPDIR
_vdi_list

$DOG vdi read -s 2 test1 | md5sum > $STORE/csum.12.new
$DOG vdi read -s 2 test2 | md5sum > $STORE/csum.22.new
diff -u $STORE/csum.12.org $STORE/csum.12.new
diff -u $STORE/csum.22.org $STORE/csum.22.new

$DOG vdi read test1 | md5sum > $STORE/csum.12.new
$DOG vdi read test2 | md5sum > $STORE/csum.22.new
diff -u $STORE/csum.12.org $STORE/csum.12.new
diff -u $STORE/csum.22.org $STORE/csum.22.new

$DOG vdi read -s 1 test1 | md5sum > $STORE/csum.11.new
$DOG vdi read -s 1 test2 | md5sum > $STORE/csum.21.new
diff -u $STORE/csum.11.org $STORE/csum.11.new
diff -u $STORE/csum.21.org $STORE/csum.21.new
