diff options
Diffstat (limited to 'lib/raid6/test/test.c')
| -rw-r--r-- | lib/raid6/test/test.c | 32 |
1 files changed, 21 insertions, 11 deletions
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) | |||
| 90 | int main(int argc, char *argv[]) | 90 | int main(int argc, char *argv[]) |
| 91 | { | 91 | { |
| 92 | const struct raid6_calls *const *algo; | 92 | const struct raid6_calls *const *algo; |
| 93 | const struct raid6_recov_calls *const *ra; | ||
| 93 | int i, j; | 94 | int i, j; |
| 94 | int err = 0; | 95 | int err = 0; |
| 95 | 96 | ||
| 96 | makedata(); | 97 | makedata(); |
| 97 | 98 | ||
| 98 | for (algo = raid6_algos; *algo; algo++) { | 99 | for (ra = raid6_recov_algos; *ra; ra++) { |
| 99 | if (!(*algo)->valid || (*algo)->valid()) { | 100 | if ((*ra)->valid && !(*ra)->valid()) |
| 100 | raid6_call = **algo; | 101 | continue; |
| 102 | raid6_2data_recov = (*ra)->data2; | ||
| 103 | raid6_datap_recov = (*ra)->datap; | ||
| 101 | 104 | ||
| 102 | /* Nuke syndromes */ | 105 | printf("using recovery %s\n", (*ra)->name); |
| 103 | memset(data[NDISKS-2], 0xee, 2*PAGE_SIZE); | ||
| 104 | 106 | ||
| 105 | /* Generate assumed good syndrome */ | 107 | for (algo = raid6_algos; *algo; algo++) { |
| 106 | raid6_call.gen_syndrome(NDISKS, PAGE_SIZE, | 108 | if (!(*algo)->valid || (*algo)->valid()) { |
| 107 | (void **)&dataptrs); | 109 | raid6_call = **algo; |
| 108 | 110 | ||
| 109 | for (i = 0; i < NDISKS-1; i++) | 111 | /* Nuke syndromes */ |
| 110 | for (j = i+1; j < NDISKS; j++) | 112 | memset(data[NDISKS-2], 0xee, 2*PAGE_SIZE); |
| 111 | err += test_disks(i, j); | 113 | |
| 114 | /* Generate assumed good syndrome */ | ||
| 115 | raid6_call.gen_syndrome(NDISKS, PAGE_SIZE, | ||
| 116 | (void **)&dataptrs); | ||
| 117 | |||
| 118 | for (i = 0; i < NDISKS-1; i++) | ||
| 119 | for (j = i+1; j < NDISKS; j++) | ||
| 120 | err += test_disks(i, j); | ||
| 121 | } | ||
| 112 | } | 122 | } |
| 113 | printf("\n"); | 123 | printf("\n"); |
| 114 | } | 124 | } |
