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