Home
last modified time | relevance | path

Searched refs:disks (Results 1 – 25 of 90) sorted by relevance

1234

/linux/crypto/async_tx/
H A Dasync_pq.c23 * blocks[disks-2] and the 'Q' destination address at blocks[disks-1]
37 const unsigned char *scfs, int disks, in do_async_gen_syndrome()
47 int src_cnt = disks - 2; in do_async_gen_syndrome()
77 dma_dest[0] = unmap->addr[disks - 2]; in do_async_gen_syndrome()
78 dma_dest[1] = unmap->addr[disks - 1]; in do_async_gen_syndrome()
108 do_sync_gen_syndrome(struct page **blocks, unsigned int *offsets, int disks, in do_sync_gen_syndrome()
113 int start = -1, stop = disks - 3; in do_sync_gen_syndrome()
120 for (i = 0; i < disks; i++) { in do_sync_gen_syndrome()
122 BUG_ON(i > disks in do_sync_gen_syndrome()
36 do_async_gen_syndrome(struct dma_chan * chan,const unsigned char * scfs,int disks,struct dmaengine_unmap_data * unmap,enum dma_ctrl_flags dma_flags,struct async_submit_ctl * submit) do_async_gen_syndrome() argument
107 do_sync_gen_syndrome(struct page ** blocks,unsigned int * offsets,int disks,size_t len,struct async_submit_ctl * submit) do_sync_gen_syndrome() argument
177 async_gen_syndrome(struct page ** blocks,unsigned int * offsets,int disks,size_t len,struct async_submit_ctl * submit) async_gen_syndrome() argument
272 pq_val_chan(struct async_submit_ctl * submit,struct page ** blocks,int disks,size_t len) pq_val_chan() argument
298 async_syndrome_val(struct page ** blocks,unsigned int * offsets,int disks,size_t len,enum sum_check_flags * pqres,struct page * spare,unsigned int s_off,struct async_submit_ctl * submit) async_syndrome_val() argument
[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.c154 __2data_recov_4(int disks, size_t bytes, int faila, int failb, in __2data_recov_4()
169 p = blocks[disks-2]; in __2data_recov_4()
170 p_off = offs[disks-2]; in __2data_recov_4()
171 q = blocks[disks-1]; in __2data_recov_4()
172 q_off = offs[disks-1]; in __2data_recov_4()
204 __2data_recov_5(int disks, size_t bytes, int faila, int failb, in __2data_recov_5()
222 for (i = 0; i < disks-2; i++) { in __2data_recov_5()
232 p = blocks[disks-2]; in __2data_recov_5()
233 p_off = offs[disks-2]; in __2data_recov_5()
234 q = blocks[disks in __2data_recov_5()
153 __2data_recov_4(int disks,size_t bytes,int faila,int failb,struct page ** blocks,unsigned int * offs,struct async_submit_ctl * submit) __2data_recov_4() argument
203 __2data_recov_5(int disks,size_t bytes,int faila,int failb,struct page ** blocks,unsigned int * offs,struct async_submit_ctl * submit) __2data_recov_5() argument
294 __2data_recov_n(int disks,size_t bytes,int faila,int failb,struct page ** blocks,unsigned int * offs,struct async_submit_ctl * submit) __2data_recov_n() argument
393 async_raid6_2data_recov(int disks,size_t bytes,int faila,int failb,struct page ** blocks,unsigned int * offs,struct async_submit_ctl * submit) async_raid6_2data_recov() argument
471 async_raid6_datap_recov(int disks,size_t bytes,int faila,struct page ** blocks,unsigned int * offs,struct async_submit_ctl * submit) async_raid6_datap_recov() argument
[all...]
/linux/lib/raid6/
H A Drecov.c
H A Drecov_loongarch_simd.c
H A Drecov_neon.c
H A Drecov_s390xc.c
H A Drecov_avx2.c
H A Drecov_rvv.c
H A Drecov_avx512.c
H A Drecov_ssse3.c
H A Dneon.h
H A Dalgos.c
H A Davx512.c
H A Davx2.c
H A Dsse2.c
H A Drvv.c
H A Dloongarch_simd.c
H A Dneon.c
H A Drvv.h
H A Dmmx.c
/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()
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()
149 conf->disks[i-1].end_sector + in linear_conf()
150 conf->disks[i].rdev->sectors; in linear_conf()
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[ in raid5_calc_degraded()
1145 int i, disks = sh->disks; ops_run_io() local
1554 int disks = sh->disks; ops_run_compute5() local
1608 int disks = sh->disks; set_syndrome_sources() local
1651 int disks = sh->disks; ops_run_compute6_1() local
1715 int i, count, disks = sh->disks; ops_run_compute6_2() local
1851 int disks = sh->disks; ops_run_prexor5() local
1915 int disks = sh->disks; ops_run_biodrain() local
1986 int disks = sh->disks; ops_complete_reconstruct() local
2034 int disks = sh->disks; ops_run_reconstruct5() local
2205 int disks = sh->disks; ops_run_check_p() local
2269 int overlap_clear = 0, i, disks = sh->disks; raid_run_ops() local
2350 alloc_stripe(struct kmem_cache * sc,gfp_t gfp,int disks,struct r5conf * conf) alloc_stripe() argument
2714 int disks = sh->disks, i; raid5_end_read_request() local
2840 int disks = sh->disks, i; raid5_end_write_request() local
3328 int i, pd_idx = sh->pd_idx, qd_idx = sh->qd_idx, disks = sh->disks; schedule_reconstruction() local
3576 int disks = previous ? conf->previous_raid_disks : conf->raid_disks; stripe_set_idx() local
3587 handle_failed_stripe(struct r5conf * conf,struct stripe_head * sh,struct stripe_head_state * s,int disks) handle_failed_stripe() argument
3749 need_this_block(struct stripe_head * sh,struct stripe_head_state * s,int disk_idx,int disks) need_this_block() argument
3861 fetch_block(struct stripe_head * sh,struct stripe_head_state * s,int disk_idx,int disks) fetch_block() argument
3950 handle_stripe_fill(struct stripe_head * sh,struct stripe_head_state * s,int disks) handle_stripe_fill() argument
3990 handle_stripe_clean_event(struct r5conf * conf,struct stripe_head * sh,int disks) handle_stripe_clean_event() argument
4104 handle_stripe_dirtying(struct r5conf * conf,struct stripe_head * sh,struct stripe_head_state * s,int disks) handle_stripe_dirtying() argument
4273 handle_parity_checks5(struct r5conf * conf,struct stripe_head * sh,struct stripe_head_state * s,int disks) handle_parity_checks5() argument
4366 handle_parity_checks6(struct r5conf * conf,struct stripe_head * sh,struct stripe_head_state * s,int disks) handle_parity_checks6() argument
4602 int disks = sh->disks; analyse_stripe() local
4910 int disks = sh->disks; handle_stripe() local
[all...]

1234