| /Linux-v5.15/crypto/async_tx/ | 
| D | async_pq.c | 36 		      const unsigned char *scfs, int disks,  in do_async_gen_syndrome()  argument46 	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()
 136 			raid6_call.xor_syndrome(disks, start, stop, len, srcs);  in do_sync_gen_syndrome()
 [all …]
 
 | 
| D | raid6test.c | 35 static void makedata(int disks)  in makedata()  argument39 	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 …]
 
 | 
| D | async_raid6_recov.c | 153 __2data_recov_4(int disks, size_t bytes, int faila, int failb,  in __2data_recov_4()  argument168 	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-v5.15/lib/raid6/ | 
| D | recov.c | 20 static void raid6_2data_recov_intx1(int disks, size_t bytes, int faila,  in raid6_2data_recov_intx1()  argument28 	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()
 41 	raid6_call.gen_syndrome(disks, bytes, ptrs);  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()
 64 static void raid6_datap_recov_intx1(int disks, size_t bytes, int faila,  in raid6_datap_recov_intx1()  argument
 70 	p = (u8 *)ptrs[disks-2];  in raid6_datap_recov_intx1()
 [all …]
 
 | 
| D | recov_neon.c | 29 static void raid6_2data_recov_neon(int disks, size_t bytes, int faila,  in raid6_2data_recov_neon()  argument36 	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()
 69 static void raid6_datap_recov_neon(int disks, size_t bytes, int faila,  in raid6_datap_recov_neon()  argument
 75 	p = (u8 *)ptrs[disks - 2];  in raid6_datap_recov_neon()
 [all …]
 
 | 
| D | recov_s390xc.c | 23 static void raid6_2data_recov_s390xc(int disks, size_t bytes, int faila,  in raid6_2data_recov_s390xc()  argument31 	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()
 72 static void raid6_datap_recov_s390xc(int disks, size_t bytes, int faila,  in raid6_datap_recov_s390xc()  argument
 79 	p = (u8 *)ptrs[disks-2];  in raid6_datap_recov_s390xc()
 [all …]
 
 | 
| D | recov_avx2.c | 16 static void raid6_2data_recov_avx2(int disks, size_t bytes, int faila,  in raid6_2data_recov_avx2()  argument24 	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 …]
 
 | 
| D | recov_avx512.c | 24 static void raid6_2data_recov_avx512(int disks, size_t bytes, int faila,  in raid6_2data_recov_avx512()  argument32 	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()
 227 static void raid6_datap_recov_avx512(int disks, size_t bytes, int faila,  in raid6_datap_recov_avx512()  argument
 234 	p = (u8 *)ptrs[disks-2];  in raid6_datap_recov_avx512()
 [all …]
 
 | 
| D | recov_ssse3.c | 16 static void raid6_2data_recov_ssse3(int disks, size_t bytes, int faila,  in raid6_2data_recov_ssse3()  argument26 	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 …]
 
 | 
| D | algos.c | 146 	void *(*const dptrs)[RAID6_TEST_DISKS], const int disks)  in raid6_choose_gen()  argument149 	int start = (disks>>1)-1, stop = disks-3;	/* work on the second half of the disks */  in raid6_choose_gen()
 171 				(*algo)->gen_syndrome(disks, PAGE_SIZE, *dptrs);  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()
 [all …]
 
 | 
| D | avx512.c | 44 static void raid6_avx5121_gen_syndrome(int disks, size_t bytes, void **ptrs)  in raid6_avx5121_gen_syndrome()  argument50 	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()
 171 static void raid6_avx5122_gen_syndrome(int disks, size_t bytes, void **ptrs)  in raid6_avx5122_gen_syndrome()  argument
 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()
 [all …]
 
 | 
| D | avx2.c | 34 static void raid6_avx21_gen_syndrome(int disks, size_t bytes, void **ptrs)  in raid6_avx21_gen_syndrome()  argument40 	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 …]
 
 | 
| D | sse2.c | 36 static void raid6_sse21_gen_syndrome(int disks, size_t bytes, void **ptrs)  in raid6_sse21_gen_syndrome()  argument42 	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 …]
 
 | 
| 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,		\
 
 | 
| D | mmx.c | 35 static void raid6_mmx1_gen_syndrome(int disks, size_t bytes, void **ptrs)  in raid6_mmx1_gen_syndrome()  argument41 	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()
 
 | 
| D | sse1.c | 40 static void raid6_sse11_gen_syndrome(int disks, size_t bytes, void **ptrs)  in raid6_sse11_gen_syndrome()  argument46 	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()
 
 | 
| 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);
 
 | 
| 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 */
 
 | 
| D | neon.uc | 56 void raid6_neon$#_gen_syndrome_real(int disks, unsigned long bytes, void **ptrs)65 	z0 = disks - 3;		/* Highest data disk */
 86 void raid6_neon$#_xor_syndrome_real(int disks, int start, int stop,
 97 	p = dptr[disks-2];	/* XOR parity */
 98 	q = dptr[disks-1];	/* RS syndrome */
 
 | 
| /Linux-v5.15/Documentation/driver-api/md/ | 
| D | raid5-cache.rst | 6 disks. The role of RAID disks isn't changed with the cache disk. The cache disk7 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 …]
 
 | 
| D | raid5-ppl.rst | 7 may become inconsistent with data on other member disks. If the array is also9 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-v5.15/drivers/md/ | 
| 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()
 
 | 
| D | raid5.c | 118 	if (sh->qd_idx == sh->disks - 1)  in raid6_d0()222 		for (i = sh->disks; i--; )  in do_release_stripe()
 490 init_stripe_shared_pages(struct stripe_head *sh, struct r5conf *conf, int disks)  in init_stripe_shared_pages()  argument
 499 	nr_pages = (disks + cnt - 1) / cnt;  in init_stripe_shared_pages()
 580 	sh->disks = previous ? conf->previous_raid_disks : conf->raid_disks;  in init_stripe()
 585 	for (i = sh->disks; i--; ) {  in init_stripe()
 641 		struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev);  in raid5_calc_degraded()
 643 			rdev = rcu_dereference(conf->disks[i].replacement);  in raid5_calc_degraded()
 667 		struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev);  in raid5_calc_degraded()
 669 			rdev = rcu_dereference(conf->disks[i].replacement);  in raid5_calc_degraded()
 [all …]
 
 | 
| /Linux-v5.15/tools/testing/selftests/zram/ | 
| D | README | 6 (<id> = 0, 1, ...). Pages written to these disks are compressed and stored7 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-v5.15/block/partitions/ | 
| D | Kconfig | 8 	  Say Y here if you would like to use hard disks under Linux which22 	  Support hard disks partitioned under Acorn operating systems.
 29 	  Say Y here if you would like to use hard disks under Linux which
 42 	  Say Y here if you would like to use hard disks under Linux which
 70 	  to read disks partitioned under RISCiX.
 78 	  "logical volumes" can be spread across one or multiple disks,
 87 	  Say Y here if you would like to use hard disks under Linux which
 94 	  Say Y here if you would like to use hard disks under Linux which
 101 	  Say Y here if you would like to use hard disks under Linux which
 109 	  partition table format used by IBM DASD disks operating under CMS.
 [all …]
 
 |