Lines Matching refs:disks
35 static void makedata(int disks)
39 for (i = 0; i < disks; i++) {
46 static char disk_type(int d, int disks)
48 if (d == disks - 2)
50 else if (d == disks - 1)
57 static void raid6_dual_recov(int disks, size_t bytes, int faila, int failb,
68 if (failb == disks-1) {
69 if (faila == disks-2) {
73 disks, bytes, &submit);
80 BUG_ON(disks > NDISKS);
85 for (i = disks; i-- ; ) {
97 disks, bytes, &submit);
100 if (failb == disks-2) {
103 tx = async_raid6_datap_recov(disks, bytes,
108 tx = async_raid6_2data_recov(disks, bytes,
115 disks, bytes, &result, spare, 0, &submit);
119 pr("%s: timeout! (faila: %d failb: %d disks: %d)\n",
120 __func__, faila, failb, disks);
127 static int test_disks(int i, int j, int disks)
137 raid6_dual_recov(disks, PAGE_SIZE, i, j, dataptrs, dataoffs);
143 __func__, i, j, i, disk_type(i, disks), j, disk_type(j, disks),
152 static int test(int disks, int *tests)
160 recovi = data[disks];
161 recovj = data[disks+1];
162 spare = data[disks+2];
164 makedata(disks);
167 memset(page_address(data[disks-2]), 0xee, PAGE_SIZE);
168 memset(page_address(data[disks-1]), 0xee, PAGE_SIZE);
173 tx = async_gen_syndrome(dataptrs, dataoffs, disks, PAGE_SIZE, &submit);
177 pr("error: initial gen_syndrome(%d) timed out\n", disks);
181 pr("testing the %d-disk case...\n", disks);
182 for (i = 0; i < disks-1; i++)
183 for (j = i+1; j < disks; j++) {
185 err += test_disks(i, j, disks);