/linux/crypto/async_tx/ |
A D | async_pq.c | 46 int src_cnt = disks - 2; in do_async_gen_syndrome() 126 if (i < disks - 2) { in do_sync_gen_syndrome() 180 int src_cnt = disks - 2; in async_gen_syndrome() 187 BUG_ON(disks > MAX_DISKS || !(P(blocks, disks) || Q(blocks, disks))); in async_gen_syndrome() 225 if (P(blocks, disks)) in async_gen_syndrome() 227 P(offsets, disks), in async_gen_syndrome() 235 if (Q(blocks, disks)) in async_gen_syndrome() 259 P(offsets, disks) = 0; in async_gen_syndrome() 263 Q(offsets, disks) = 0; in async_gen_syndrome() 278 disks, len); in pq_val_chan() [all …]
|
A D | raid6test.c | 48 if (d == disks - 2) in disk_type() 50 else if (d == disks - 1) in disk_type() 68 if (failb == disks-1) { in raid6_dual_recov() 69 if (faila == disks-2) { in raid6_dual_recov() 80 BUG_ON(disks > NDISKS); in raid6_dual_recov() 100 if (failb == disks-2) { in raid6_dual_recov() 143 __func__, i, j, i, disk_type(i, disks), j, disk_type(j, disks), in test_disks() 160 recovi = data[disks]; in test() 161 recovj = data[disks+1]; in test() 162 spare = data[disks+2]; in test() [all …]
|
A D | async_raid6_recov.c | 168 p = blocks[disks-2]; in __2data_recov_4() 170 q = blocks[disks-1]; in __2data_recov_4() 231 p = blocks[disks-2]; in __2data_recov_5() 233 q = blocks[disks-1]; in __2data_recov_5() 309 p = blocks[disks-2]; in __2data_recov_n() 311 q = blocks[disks-1]; in __2data_recov_n() 337 blocks[disks-2] = p; in __2data_recov_n() 339 blocks[disks-1] = q; in __2data_recov_n() 525 p = blocks[disks-2]; in async_raid6_datap_recov() 527 q = blocks[disks-1]; in async_raid6_datap_recov() [all …]
|
/linux/lib/raid6/ |
A D | recov.c | 28 p = (u8 *)ptrs[disks-2]; in raid6_2data_recov_intx1() 29 q = (u8 *)ptrs[disks-1]; in raid6_2data_recov_intx1() 36 ptrs[disks-2] = dp; in raid6_2data_recov_intx1() 39 ptrs[disks-1] = dq; in raid6_2data_recov_intx1() 46 ptrs[disks-2] = p; in raid6_2data_recov_intx1() 47 ptrs[disks-1] = q; in raid6_2data_recov_intx1() 70 p = (u8 *)ptrs[disks-2]; in raid6_datap_recov_intx1() 71 q = (u8 *)ptrs[disks-1]; in raid6_datap_recov_intx1() 77 ptrs[disks-1] = dq; in raid6_datap_recov_intx1() 83 ptrs[disks-1] = q; in raid6_datap_recov_intx1() [all …]
|
A D | recov_neon.c | 36 p = (u8 *)ptrs[disks - 2]; in raid6_2data_recov_neon() 37 q = (u8 *)ptrs[disks - 1]; in raid6_2data_recov_neon() 46 ptrs[disks - 2] = dp; in raid6_2data_recov_neon() 49 ptrs[disks - 1] = dq; in raid6_2data_recov_neon() 51 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_neon() 56 ptrs[disks - 2] = p; in raid6_2data_recov_neon() 57 ptrs[disks - 1] = q; in raid6_2data_recov_neon() 75 p = (u8 *)ptrs[disks - 2]; in raid6_datap_recov_neon() 76 q = (u8 *)ptrs[disks - 1]; in raid6_datap_recov_neon() 84 ptrs[disks - 1] = dq; in raid6_datap_recov_neon() [all …]
|
A D | recov_s390xc.c | 31 p = (u8 *)ptrs[disks-2]; in raid6_2data_recov_s390xc() 32 q = (u8 *)ptrs[disks-1]; in raid6_2data_recov_s390xc() 39 ptrs[disks-2] = dp; in raid6_2data_recov_s390xc() 42 ptrs[disks-1] = dq; in raid6_2data_recov_s390xc() 44 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_s390xc() 49 ptrs[disks-2] = p; in raid6_2data_recov_s390xc() 50 ptrs[disks-1] = q; in raid6_2data_recov_s390xc() 79 p = (u8 *)ptrs[disks-2]; in raid6_datap_recov_s390xc() 80 q = (u8 *)ptrs[disks-1]; in raid6_datap_recov_s390xc() 86 ptrs[disks-1] = dq; in raid6_datap_recov_s390xc() [all …]
|
A D | recov_avx2.c | 24 p = (u8 *)ptrs[disks-2]; in raid6_2data_recov_avx2() 25 q = (u8 *)ptrs[disks-1]; in raid6_2data_recov_avx2() 32 ptrs[disks-2] = dp; in raid6_2data_recov_avx2() 35 ptrs[disks-1] = dq; in raid6_2data_recov_avx2() 37 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_avx2() 42 ptrs[disks-2] = p; in raid6_2data_recov_avx2() 43 ptrs[disks-1] = q; in raid6_2data_recov_avx2() 193 p = (u8 *)ptrs[disks-2]; in raid6_datap_recov_avx2() 194 q = (u8 *)ptrs[disks-1]; in raid6_datap_recov_avx2() 200 ptrs[disks-1] = dq; in raid6_datap_recov_avx2() [all …]
|
A D | recov_avx512.c | 32 p = (u8 *)ptrs[disks-2]; in raid6_2data_recov_avx512() 33 q = (u8 *)ptrs[disks-1]; in raid6_2data_recov_avx512() 43 ptrs[disks-2] = dp; in raid6_2data_recov_avx512() 46 ptrs[disks-1] = dq; in raid6_2data_recov_avx512() 48 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_avx512() 53 ptrs[disks-2] = p; in raid6_2data_recov_avx512() 54 ptrs[disks-1] = q; in raid6_2data_recov_avx512() 234 p = (u8 *)ptrs[disks-2]; in raid6_datap_recov_avx512() 235 q = (u8 *)ptrs[disks-1]; in raid6_datap_recov_avx512() 244 ptrs[disks-1] = dq; in raid6_datap_recov_avx512() [all …]
|
A D | recov_ssse3.c | 26 p = (u8 *)ptrs[disks-2]; in raid6_2data_recov_ssse3() 27 q = (u8 *)ptrs[disks-1]; in raid6_2data_recov_ssse3() 34 ptrs[disks-2] = dp; in raid6_2data_recov_ssse3() 37 ptrs[disks-1] = dq; in raid6_2data_recov_ssse3() 39 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_ssse3() 44 ptrs[disks-2] = p; in raid6_2data_recov_ssse3() 45 ptrs[disks-1] = q; in raid6_2data_recov_ssse3() 200 p = (u8 *)ptrs[disks-2]; in raid6_datap_recov_ssse3() 201 q = (u8 *)ptrs[disks-1]; in raid6_datap_recov_ssse3() 207 ptrs[disks-1] = dq; in raid6_datap_recov_ssse3() [all …]
|
A D | algos.c | 149 int start = (disks>>1)-1, stop = disks-3; /* work on the second half of the disks */ in raid6_choose_gen() 181 (perf * HZ * (disks-2)) >> in raid6_choose_gen() 195 (*algo)->xor_syndrome(disks, start, stop, in raid6_choose_gen() 205 (perf * HZ * (disks-2)) >> in raid6_choose_gen() 214 (bestgenperf * HZ * (disks-2)) >> in raid6_choose_gen() 218 (bestxorperf * HZ * (disks-2)) >> in raid6_choose_gen() 236 const int disks = RAID6_TEST_DISKS; in raid6_select_algo() local 252 for (i = 0; i < disks; i++) in raid6_select_algo() 255 cycle = ((disks - 2) * PAGE_SIZE) / 65536; in raid6_select_algo() 261 if ((disks - 2) * PAGE_SIZE % 65536) in raid6_select_algo() [all …]
|
A D | avx512.c | 50 z0 = disks - 3; /* Highest data disk */ in raid6_avx5121_gen_syndrome() 101 static void raid6_avx5121_xor_syndrome(int disks, int start, int stop, in raid6_avx5121_xor_syndrome() argument 109 p = dptr[disks-2]; /* XOR parity */ in raid6_avx5121_xor_syndrome() 110 q = dptr[disks-1]; /* RS syndrome */ in raid6_avx5121_xor_syndrome() 177 z0 = disks - 3; /* Highest data disk */ in raid6_avx5122_gen_syndrome() 233 static void raid6_avx5122_xor_syndrome(int disks, int start, int stop, in raid6_avx5122_xor_syndrome() argument 241 p = dptr[disks-2]; /* XOR parity */ in raid6_avx5122_xor_syndrome() 242 q = dptr[disks-1]; /* RS syndrome */ in raid6_avx5122_xor_syndrome() 336 z0 = disks - 3; /* Highest data disk */ in raid6_avx5124_gen_syndrome() 431 p = dptr[disks-2]; /* XOR parity */ in raid6_avx5124_xor_syndrome() [all …]
|
A D | sse2.c | 42 z0 = disks - 3; /* Highest data disk */ in raid6_sse21_gen_syndrome() 87 static void raid6_sse21_xor_syndrome(int disks, int start, int stop, in raid6_sse21_xor_syndrome() argument 95 p = dptr[disks-2]; /* XOR parity */ in raid6_sse21_xor_syndrome() 96 q = dptr[disks-1]; /* RS syndrome */ in raid6_sse21_xor_syndrome() 152 z0 = disks - 3; /* Highest data disk */ in raid6_sse22_gen_syndrome() 198 static void raid6_sse22_xor_syndrome(int disks, int start, int stop, in raid6_sse22_xor_syndrome() argument 206 p = dptr[disks-2]; /* XOR parity */ in raid6_sse22_xor_syndrome() 207 q = dptr[disks-1]; /* RS syndrome */ in raid6_sse22_xor_syndrome() 284 z0 = disks - 3; /* Highest data disk */ in raid6_sse24_gen_syndrome() 372 p = dptr[disks-2]; /* XOR parity */ in raid6_sse24_xor_syndrome() [all …]
|
A D | avx2.c | 40 z0 = disks - 3; /* Highest data disk */ in raid6_avx21_gen_syndrome() 82 static void raid6_avx21_xor_syndrome(int disks, int start, int stop, in raid6_avx21_xor_syndrome() argument 90 p = dptr[disks-2]; /* XOR parity */ in raid6_avx21_xor_syndrome() 91 q = dptr[disks-1]; /* RS syndrome */ in raid6_avx21_xor_syndrome() 147 z0 = disks - 3; /* Highest data disk */ in raid6_avx22_gen_syndrome() 192 static void raid6_avx22_xor_syndrome(int disks, int start, int stop, in raid6_avx22_xor_syndrome() argument 200 p = dptr[disks-2]; /* XOR parity */ in raid6_avx22_xor_syndrome() 201 q = dptr[disks-1]; /* RS syndrome */ in raid6_avx22_xor_syndrome() 279 z0 = disks - 3; /* Highest data disk */ in raid6_avx24_gen_syndrome() 361 p = dptr[disks-2]; /* XOR parity */ in raid6_avx24_xor_syndrome() [all …]
|
A D | neon.c | 30 static void raid6_neon ## _n ## _gen_syndrome(int disks, \ 36 raid6_neon ## _n ## _gen_syndrome_real(disks, \ 40 static void raid6_neon ## _n ## _xor_syndrome(int disks, \ 47 raid6_neon ## _n ## _xor_syndrome_real(disks, \
|
A D | mmx.c | 35 static void raid6_mmx1_gen_syndrome(int disks, size_t bytes, void **ptrs) in raid6_mmx1_gen_syndrome() argument 41 z0 = disks - 3; /* Highest data disk */ in raid6_mmx1_gen_syndrome() 83 static void raid6_mmx2_gen_syndrome(int disks, size_t bytes, void **ptrs) in raid6_mmx2_gen_syndrome() argument 89 z0 = disks - 3; /* Highest data disk */ in raid6_mmx2_gen_syndrome()
|
A D | sse1.c | 40 static void raid6_sse11_gen_syndrome(int disks, size_t bytes, void **ptrs) in raid6_sse11_gen_syndrome() argument 46 z0 = disks - 3; /* Highest data disk */ in raid6_sse11_gen_syndrome() 99 static void raid6_sse12_gen_syndrome(int disks, size_t bytes, void **ptrs) in raid6_sse12_gen_syndrome() argument 105 z0 = disks - 3; /* Highest data disk */ in raid6_sse12_gen_syndrome()
|
A D | vpermxor.uc | 43 static void noinline raid6_vpermxor$#_gen_syndrome_real(int disks, size_t bytes, 51 z0 = disks - 3; /* Highest data disk */ 72 static void raid6_vpermxor$#_gen_syndrome(int disks, size_t bytes, void **ptrs) 77 raid6_vpermxor$#_gen_syndrome_real(disks, bytes, ptrs);
|
A D | s390vx.uc | 83 static void raid6_s390vx$#_gen_syndrome(int disks, size_t bytes, void **ptrs) 93 z0 = disks - 3; /* Highest data disk */ 115 static void raid6_s390vx$#_xor_syndrome(int disks, int start, int stop, 124 p = dptr[disks - 2]; /* XOR parity */ 125 q = dptr[disks - 1]; /* RS syndrome */
|
A D | int.uc | 82 static void raid6_int$#_gen_syndrome(int disks, size_t bytes, void **ptrs) 90 z0 = disks - 3; /* Highest data disk */ 110 static void raid6_int$#_xor_syndrome(int disks, int start, int stop, 120 p = dptr[disks-2]; /* XOR parity */ 121 q = dptr[disks-1]; /* RS syndrome */
|
/linux/Documentation/driver-api/md/ |
A D | raid5-cache.rst | 6 disks. The role of RAID disks isn't changed with the cache disk. The cache disk 7 caches data to the RAID disks. The cache can be in write-through (supported 28 disks and it's possible the writes don't hit all RAID disks yet before the 35 is safe on the cache disk, the data will be flushed onto RAID disks. The 40 filesystems) after the data is safe on RAID disks, so cache disk failure 52 write. If a write crosses all RAID disks of a stripe, we call it full-stripe 57 RAID disks only after the data becomes a full stripe write. This will 63 disks later after specific conditions met. So cache disk failure will cause 90 order in which MD writes data to cache disk and RAID disks. Specifically, in 94 from raid disks as usual. [all …]
|
A D | raid5-ppl.rst | 7 may become inconsistent with data on other member disks. If the array is also 9 disks is missing. This can lead to silent data corruption when rebuilding the 19 which chunk writes have completed. If one of the not modified data disks of 22 unclean shutdown and all disks are available, eliminating the need to resync 27 parity are dispatched to disks. PPL is a distributed log - it is stored on 44 There is a limitation of maximum 64 disks in the array for PPL. It allows to 45 keep data structures and implementation simple. RAID5 arrays with so many disks 46 are not likely due to high risk of multiple disks failure. Such restriction
|
/linux/drivers/md/ |
A D | md-linear.c | 40 if (sector < conf->disks[mid].end_sector) in which_dev() 46 return conf->disks + lo; in which_dev() 69 conf = kzalloc(struct_size(conf, disks, raid_disks), GFP_KERNEL); in linear_conf() 78 struct dev_info *disk = conf->disks + j; in linear_conf() 117 conf->disks[0].end_sector = conf->disks[0].rdev->sectors; in linear_conf() 120 conf->disks[i].end_sector = in linear_conf() 121 conf->disks[i-1].end_sector + in linear_conf() 122 conf->disks[i].rdev->sectors; in linear_conf()
|
A D | raid5.c | 1060 int i, disks = sh->disks; in ops_run_io() local 1498 int disks = sh->disks; in ops_run_compute5() local 1552 int disks = sh->disks; in set_syndrome_sources() local 1595 int disks = sh->disks; in ops_run_compute6_1() local 1795 int disks = sh->disks; in ops_run_prexor5() local 1859 int disks = sh->disks; in ops_run_biodrain() local 1930 int disks = sh->disks; in ops_complete_reconstruct() local 1978 int disks = sh->disks; in ops_run_reconstruct5() local 2149 int disks = sh->disks; in ops_run_check_p() local 4587 int disks = sh->disks; in analyse_stripe() local [all …]
|
/linux/tools/testing/selftests/zram/ |
A D | README | 6 (<id> = 0, 1, ...). Pages written to these disks are compressed and stored 7 in memory itself. These disks allow very fast I/O and compression provides 9 use as swap disks, various caches under /var and maybe many more :) 26 zram01.sh: creates general purpose ram disks with ext4 filesystems
|
/linux/block/partitions/ |
A D | Kconfig | 10 Say Y here if you would like to use hard disks under Linux which 24 Support hard disks partitioned under Acorn operating systems. 31 Say Y here if you would like to use hard disks under Linux which 44 Say Y here if you would like to use hard disks under Linux which 72 to read disks partitioned under RISCiX. 80 "logical volumes" can be spread across one or multiple disks, 89 Say Y here if you would like to use hard disks under Linux which 96 Say Y here if you would like to use hard disks under Linux which 103 Say Y here if you would like to use hard disks under Linux which 118 Say Y here if you would like to use hard disks under Linux which [all …]
|