Home
last modified time | relevance | path

Searched full:disks (Results 1 – 25 of 188) sorted by relevance

12345678

/linux/crypto/async_tx/
H A Dasync_pq.c22 * blocks[disks-2] and the 'Q' destination address at blocks[disks-1]
36 const unsigned char *scfs, int disks, in do_async_gen_syndrome() argument
46 int src_cnt = disks - 2; in do_async_gen_syndrome()
76 dma_dest[0] = unmap->addr[disks - 2]; in do_async_gen_syndrome()
77 dma_dest[1] = unmap->addr[disks - 1]; in do_async_gen_syndrome()
107 do_sync_gen_syndrome(struct page **blocks, unsigned int *offsets, int disks, in do_sync_gen_syndrome() argument
112 int start = -1, stop = disks - 3; in do_sync_gen_syndrome()
119 for (i = 0; i < disks; i++) { in do_sync_gen_syndrome()
121 BUG_ON(i > disks - 3); /* P or Q can't be zero */ in do_sync_gen_syndrome()
126 if (i < disks - 2) { in do_sync_gen_syndrome()
[all …]
H A Draid6test.c35 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()
[all …]
H A Dasync_raid6_recov.c153 __2data_recov_4(int disks, size_t bytes, int faila, int failb, in __2data_recov_4() argument
168 p = blocks[disks-2]; in __2data_recov_4()
169 p_off = offs[disks-2]; in __2data_recov_4()
170 q = blocks[disks-1]; in __2data_recov_4()
171 q_off = offs[disks-1]; in __2data_recov_4()
203 __2data_recov_5(int disks, size_t bytes, int faila, int failb, in __2data_recov_5() argument
221 for (i = 0; i < disks-2; i++) { in __2data_recov_5()
231 p = blocks[disks-2]; in __2data_recov_5()
232 p_off = offs[disks-2]; in __2data_recov_5()
233 q = blocks[disks-1]; in __2data_recov_5()
[all …]
/linux/lib/raid6/
H A Drecov.c19 static void raid6_2data_recov_intx1(int disks, size_t bytes, int faila, in raid6_2data_recov_intx1() argument
27 p = (u8 *)ptrs[disks-2]; in raid6_2data_recov_intx1()
28 q = (u8 *)ptrs[disks-1]; in raid6_2data_recov_intx1()
35 ptrs[disks-2] = dp; in raid6_2data_recov_intx1()
38 ptrs[disks-1] = dq; in raid6_2data_recov_intx1()
40 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_intx1()
45 ptrs[disks-2] = p; in raid6_2data_recov_intx1()
46 ptrs[disks-1] = q; in raid6_2data_recov_intx1()
63 static void raid6_datap_recov_intx1(int disks, size_t bytes, int faila, in raid6_datap_recov_intx1() argument
69 p = (u8 *)ptrs[disks-2]; in raid6_datap_recov_intx1()
[all …]
H A Drecov_neon.c22 static void raid6_2data_recov_neon(int disks, size_t bytes, int faila, in raid6_2data_recov_neon() argument
29 p = (u8 *)ptrs[disks - 2]; in raid6_2data_recov_neon()
30 q = (u8 *)ptrs[disks - 1]; in raid6_2data_recov_neon()
39 ptrs[disks - 2] = dp; in raid6_2data_recov_neon()
42 ptrs[disks - 1] = dq; in raid6_2data_recov_neon()
44 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_neon()
49 ptrs[disks - 2] = p; in raid6_2data_recov_neon()
50 ptrs[disks - 1] = q; in raid6_2data_recov_neon()
61 static void raid6_datap_recov_neon(int disks, size_t bytes, int faila, in raid6_datap_recov_neon() argument
67 p = (u8 *)ptrs[disks - 2]; in raid6_datap_recov_neon()
[all …]
H A Drecov_s390xc.c22 static void raid6_2data_recov_s390xc(int disks, size_t bytes, int faila, in raid6_2data_recov_s390xc() argument
30 p = (u8 *)ptrs[disks-2]; in raid6_2data_recov_s390xc()
31 q = (u8 *)ptrs[disks-1]; in raid6_2data_recov_s390xc()
38 ptrs[disks-2] = dp; in raid6_2data_recov_s390xc()
41 ptrs[disks-1] = dq; in raid6_2data_recov_s390xc()
43 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_s390xc()
48 ptrs[disks-2] = p; in raid6_2data_recov_s390xc()
49 ptrs[disks-1] = q; in raid6_2data_recov_s390xc()
71 static void raid6_datap_recov_s390xc(int disks, size_t bytes, int faila, in raid6_datap_recov_s390xc() argument
78 p = (u8 *)ptrs[disks-2]; in raid6_datap_recov_s390xc()
[all …]
H A Dneon.h3 void raid6_neon1_gen_syndrome_real(int disks, unsigned long bytes, void **ptrs);
4 void raid6_neon1_xor_syndrome_real(int disks, int start, int stop,
6 void raid6_neon2_gen_syndrome_real(int disks, unsigned long bytes, void **ptrs);
7 void raid6_neon2_xor_syndrome_real(int disks, int start, int stop,
9 void raid6_neon4_gen_syndrome_real(int disks, unsigned long bytes, void **ptrs);
10 void raid6_neon4_xor_syndrome_real(int disks, int start, int stop,
12 void raid6_neon8_gen_syndrome_real(int disks, unsigned long bytes, void **ptrs);
13 void raid6_neon8_xor_syndrome_real(int disks, int start, int stop,
H A Dalgos.c156 void *(*const dptrs)[RAID6_TEST_DISKS], const int disks) in raid6_choose_gen() argument
159 int start = (disks>>1)-1, stop = disks-3; /* work on the second half of the disks */ in raid6_choose_gen()
181 (*algo)->gen_syndrome(disks, PAGE_SIZE, *dptrs); in raid6_choose_gen()
191 (perf * HZ * (disks-2)) >> in raid6_choose_gen()
211 (bestgenperf * HZ * (disks - 2)) >> in raid6_choose_gen()
223 best->xor_syndrome(disks, start, stop, in raid6_choose_gen()
230 (perf * HZ * (disks - 2)) >> in raid6_choose_gen()
244 const int disks = RAID6_TEST_DISKS; in raid6_select_algo() local
260 for (i = 0; i < disks; i++) in raid6_select_algo()
263 cycle = ((disks - 2) * PAGE_SIZE) / 65536; in raid6_select_algo()
[all …]
H A Drecov_rvv.c145 static void raid6_2data_recov_rvv(int disks, size_t bytes, int faila, in raid6_2data_recov_rvv() argument
152 p = (u8 *)ptrs[disks - 2]; in raid6_2data_recov_rvv()
153 q = (u8 *)ptrs[disks - 1]; in raid6_2data_recov_rvv()
162 ptrs[disks - 2] = dp; in raid6_2data_recov_rvv()
165 ptrs[disks - 1] = dq; in raid6_2data_recov_rvv()
167 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_rvv()
172 ptrs[disks - 2] = p; in raid6_2data_recov_rvv()
173 ptrs[disks - 1] = q; in raid6_2data_recov_rvv()
185 static void raid6_datap_recov_rvv(int disks, size_t bytes, int faila, in raid6_datap_recov_rvv() argument
191 p = (u8 *)ptrs[disks - 2]; in raid6_datap_recov_rvv()
[all …]
H A Drecov_loongarch_simd.c29 static void raid6_2data_recov_lsx(int disks, size_t bytes, int faila, in raid6_2data_recov_lsx() argument
36 p = (u8 *)ptrs[disks - 2]; in raid6_2data_recov_lsx()
37 q = (u8 *)ptrs[disks - 1]; in raid6_2data_recov_lsx()
46 ptrs[disks - 2] = dp; in raid6_2data_recov_lsx()
49 ptrs[disks - 1] = dq; in raid6_2data_recov_lsx()
51 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_lsx()
56 ptrs[disks - 2] = p; in raid6_2data_recov_lsx()
57 ptrs[disks - 1] = q; in raid6_2data_recov_lsx()
186 static void raid6_datap_recov_lsx(int disks, size_t bytes, int faila, in raid6_datap_recov_lsx() argument
192 p = (u8 *)ptrs[disks - 2]; in raid6_datap_recov_lsx()
[all …]
H A Drecov_avx2.c16 static void raid6_2data_recov_avx2(int disks, size_t bytes, int faila, in raid6_2data_recov_avx2() argument
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()
186 static void raid6_datap_recov_avx2(int disks, size_t bytes, int faila, in raid6_datap_recov_avx2() argument
193 p = (u8 *)ptrs[disks-2]; in raid6_datap_recov_avx2()
[all …]
H A Drecov_avx512.c22 static void raid6_2data_recov_avx512(int disks, size_t bytes, int faila, in raid6_2data_recov_avx512() argument
30 p = (u8 *)ptrs[disks-2]; in raid6_2data_recov_avx512()
31 q = (u8 *)ptrs[disks-1]; in raid6_2data_recov_avx512()
41 ptrs[disks-2] = dp; in raid6_2data_recov_avx512()
44 ptrs[disks-1] = dq; in raid6_2data_recov_avx512()
46 raid6_call.gen_syndrome(disks, bytes, ptrs); in raid6_2data_recov_avx512()
51 ptrs[disks-2] = p; in raid6_2data_recov_avx512()
52 ptrs[disks-1] = q; in raid6_2data_recov_avx512()
225 static void raid6_datap_recov_avx512(int disks, size_t bytes, int faila, in raid6_datap_recov_avx512() argument
232 p = (u8 *)ptrs[disks-2]; in raid6_datap_recov_avx512()
[all …]
H A Drecov_ssse3.c16 static void raid6_2data_recov_ssse3(int disks, size_t bytes, int faila, in raid6_2data_recov_ssse3() argument
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()
191 static void raid6_datap_recov_ssse3(int disks, size_t bytes, int faila, in raid6_datap_recov_ssse3() argument
200 p = (u8 *)ptrs[disks-2]; in raid6_datap_recov_ssse3()
[all …]
H A Drvv.h28 static void raid6_rvv ## _n ## _gen_syndrome(int disks, \
34 raid6_rvv ## _n ## _gen_syndrome_real(disks, \
38 static void raid6_rvv ## _n ## _xor_syndrome(int disks, \
46 raid6_rvv ## _n ## _xor_syndrome_real(disks, \
H A Dneon.c29 static void raid6_neon ## _n ## _gen_syndrome(int disks, \
35 raid6_neon ## _n ## _gen_syndrome_real(disks, \
38 static void raid6_neon ## _n ## _xor_syndrome(int disks, \
45 raid6_neon ## _n ## _xor_syndrome_real(disks, \
H A Dsse2.c36 static void raid6_sse21_gen_syndrome(int disks, size_t bytes, void **ptrs) in raid6_sse21_gen_syndrome() argument
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()
146 static void raid6_sse22_gen_syndrome(int disks, size_t bytes, void **ptrs) in raid6_sse22_gen_syndrome() argument
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()
[all …]
H A Ds390vx.uc47 static void raid6_s390vx$#_gen_syndrome(int disks, size_t bytes, void **ptrs)
57 z0 = disks - 3; /* Highest data disk */
79 static void raid6_s390vx$#_xor_syndrome(int disks, int start, int stop,
88 p = dptr[disks - 2]; /* XOR parity */
89 q = dptr[disks - 1]; /* RS syndrome */
H A Davx2.c34 static void raid6_avx21_gen_syndrome(int disks, size_t bytes, void **ptrs) in raid6_avx21_gen_syndrome() argument
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()
141 static void raid6_avx22_gen_syndrome(int disks, size_t bytes, void **ptrs) in raid6_avx22_gen_syndrome() argument
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()
[all …]
H A Davx512.c42 static void raid6_avx5121_gen_syndrome(int disks, size_t bytes, void **ptrs) in raid6_avx5121_gen_syndrome() argument
48 z0 = disks - 3; /* Highest data disk */ in raid6_avx5121_gen_syndrome()
99 static void raid6_avx5121_xor_syndrome(int disks, int start, int stop, in raid6_avx5121_xor_syndrome() argument
107 p = dptr[disks-2]; /* XOR parity */ in raid6_avx5121_xor_syndrome()
108 q = dptr[disks-1]; /* RS syndrome */ in raid6_avx5121_xor_syndrome()
169 static void raid6_avx5122_gen_syndrome(int disks, size_t bytes, void **ptrs) in raid6_avx5122_gen_syndrome() argument
175 z0 = disks - 3; /* Highest data disk */ in raid6_avx5122_gen_syndrome()
231 static void raid6_avx5122_xor_syndrome(int disks, int start, int stop, in raid6_avx5122_xor_syndrome() argument
239 p = dptr[disks-2]; /* XOR parity */ in raid6_avx5122_xor_syndrome()
240 q = dptr[disks-1]; /* RS syndrome */ in raid6_avx5122_xor_syndrome()
[all …]
/linux/Documentation/driver-api/md/
H A Draid5-cache.rst6 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
92 parity to the log, writes the data and parity to RAID disks after the data and
[all …]
H A Draid5-ppl.rst7 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/
H A Dmd-linear.c24 struct dev_info disks[] __counted_by(raid_disks);
46 if (sector < conf->disks[mid].end_sector) in which_dev()
52 return conf->disks + lo; in which_dev()
95 conf = kzalloc_flex(*conf, disks, raid_disks); in linear_conf()
103 * conf->disks[] when it is updated in linear_add() and used to in linear_conf()
104 * iterate old conf->disks[] earray in linear_congested(). in linear_conf()
106 * pointers in conf->disks[] array, and mddev->private is updated in linear_conf()
117 struct dev_info *disk = conf->disks + j; in linear_conf()
145 conf->disks[0].end_sector = conf->disks[0].rdev->sectors; in linear_conf()
148 conf->disks[i].end_sector = in linear_conf()
[all …]
H A Draid5.c130 if (sh->qd_idx == sh->disks - 1) in raid6_d0()
141 /* When walking through the disks in a raid5, starting at raid6_d0,
142 * We need to map each disk to a 'slot', where the data disks are slot
236 for (i = sh->disks; i--; ) in do_release_stripe()
505 init_stripe_shared_pages(struct stripe_head *sh, struct r5conf *conf, int disks) in init_stripe_shared_pages() argument
514 nr_pages = (disks + cnt - 1) / cnt; in init_stripe_shared_pages()
595 sh->disks = previous ? conf->previous_raid_disks : conf->raid_disks; in init_stripe()
600 for (i = sh->disks; i--; ) { in init_stripe()
702 struct md_rdev *rdev = READ_ONCE(conf->disks[i].rdev); in raid5_calc_degraded()
705 rdev = READ_ONCE(conf->disks[i].replacement); in raid5_calc_degraded()
[all …]
/linux/tools/testing/selftests/zram/
H A DREADME6 (<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 :)
25 zram01.sh: creates general purpose ram disks with ext4 filesystems
/linux/drivers/s390/block/
H A DKconfig32 prompt "Support for ECKD Disks"
40 prompt "Support for FBA Disks"
48 prompt "Support for DIAG access to Disks"
52 Disks under VM. If you are not running under VM or unsure what it is,

12345678