diff options
Diffstat (limited to 'lib/raid6/test')
| -rw-r--r-- | lib/raid6/test/Makefile | 2 | ||||
| -rw-r--r-- | lib/raid6/test/test.c | 32 | 
2 files changed, 22 insertions, 12 deletions
| diff --git a/lib/raid6/test/Makefile b/lib/raid6/test/Makefile index aa651697b6dc..c76151d94764 100644 --- a/lib/raid6/test/Makefile +++ b/lib/raid6/test/Makefile @@ -23,7 +23,7 @@ RANLIB	 = ranlib  all:	raid6.a raid6test  raid6.a: int1.o int2.o int4.o int8.o int16.o int32.o mmx.o sse1.o sse2.o \ -	 altivec1.o altivec2.o altivec4.o altivec8.o recov.o algos.o \ +	 altivec1.o altivec2.o altivec4.o altivec8.o recov.o recov_ssse3.o algos.o \  	 tables.o  	 rm -f $@  	 $(AR) cq $@ $^ diff --git a/lib/raid6/test/test.c b/lib/raid6/test/test.c index 7a930318b17d..5a485b7a7d3c 100644 --- a/lib/raid6/test/test.c +++ b/lib/raid6/test/test.c @@ -90,25 +90,35 @@ static int test_disks(int i, int j)  int main(int argc, char *argv[])  {  	const struct raid6_calls *const *algo; +	const struct raid6_recov_calls *const *ra;  	int i, j;  	int err = 0;  	makedata(); -	for (algo = raid6_algos; *algo; algo++) { -		if (!(*algo)->valid || (*algo)->valid()) { -			raid6_call = **algo; +	for (ra = raid6_recov_algos; *ra; ra++) { +		if ((*ra)->valid  && !(*ra)->valid()) +			continue; +		raid6_2data_recov = (*ra)->data2; +		raid6_datap_recov = (*ra)->datap; -			/* Nuke syndromes */ -			memset(data[NDISKS-2], 0xee, 2*PAGE_SIZE); +		printf("using recovery %s\n", (*ra)->name); -			/* Generate assumed good syndrome */ -			raid6_call.gen_syndrome(NDISKS, PAGE_SIZE, -						(void **)&dataptrs); +		for (algo = raid6_algos; *algo; algo++) { +			if (!(*algo)->valid || (*algo)->valid()) { +				raid6_call = **algo; -			for (i = 0; i < NDISKS-1; i++) -				for (j = i+1; j < NDISKS; j++) -					err += test_disks(i, j); +				/* Nuke syndromes */ +				memset(data[NDISKS-2], 0xee, 2*PAGE_SIZE); + +				/* Generate assumed good syndrome */ +				raid6_call.gen_syndrome(NDISKS, PAGE_SIZE, +							(void **)&dataptrs); + +				for (i = 0; i < NDISKS-1; i++) +					for (j = i+1; j < NDISKS; j++) +						err += test_disks(i, j); +			}  		}  		printf("\n");  	} | 
