Lines Matching full:disks
47 static void makedata(int disks) in makedata() argument
51 for (i = 0; i < disks; i++) { in makedata()
57 static char disk_type(int d, int disks) in disk_type() argument
59 if (d == disks - 2) in disk_type()
61 else if (d == disks - 1) in disk_type()
68 static void raid6_dual_recov(int disks, size_t bytes, int faila, int failb, struct page **ptrs) in raid6_dual_recov() argument
78 if (failb == disks-1) { in raid6_dual_recov()
79 if (faila == disks-2) { in raid6_dual_recov()
82 tx = async_gen_syndrome(ptrs, 0, disks, bytes, &submit); in raid6_dual_recov()
89 BUG_ON(disks > NDISKS); in raid6_dual_recov()
94 for (i = disks; i-- ; ) { in raid6_dual_recov()
105 tx = async_gen_syndrome(ptrs, 0, disks, bytes, &submit); in raid6_dual_recov()
108 if (failb == disks-2) { in raid6_dual_recov()
111 tx = async_raid6_datap_recov(disks, bytes, faila, ptrs, &submit); in raid6_dual_recov()
115 tx = async_raid6_2data_recov(disks, bytes, faila, failb, ptrs, &submit); in raid6_dual_recov()
120 tx = async_syndrome_val(ptrs, 0, disks, bytes, &result, spare, &submit); in raid6_dual_recov()
124 pr("%s: timeout! (faila: %d failb: %d disks: %d)\n", in raid6_dual_recov()
125 __func__, faila, failb, disks); in raid6_dual_recov()
132 static int test_disks(int i, int j, int disks) in test_disks() argument
142 raid6_dual_recov(disks, PAGE_SIZE, i, j, dataptrs); in test_disks()
148 __func__, i, j, i, disk_type(i, disks), j, disk_type(j, disks), in test_disks()
157 static int test(int disks, int *tests) in test() argument
165 recovi = data[disks]; in test()
166 recovj = data[disks+1]; in test()
167 spare = data[disks+2]; in test()
169 makedata(disks); in test()
172 memset(page_address(data[disks-2]), 0xee, PAGE_SIZE); in test()
173 memset(page_address(data[disks-1]), 0xee, PAGE_SIZE); in test()
178 tx = async_gen_syndrome(dataptrs, 0, disks, PAGE_SIZE, &submit); in test()
182 pr("error: initial gen_syndrome(%d) timed out\n", disks); in test()
186 pr("testing the %d-disk case...\n", disks); in test()
187 for (i = 0; i < disks-1; i++) in test()
188 for (j = i+1; j < disks; j++) { in test()
190 err += test_disks(i, j, disks); in test()