Lines Matching defs:rows
985 * data values. We begin by removing the rows in V|I and d|p that correspond
987 * sized n by removing rows corresponding to unused parity from the bottom up
1092 * As is apparent from the example above, the only non-trivial rows in the
1094 * reconstruct. Indeed, those are the only rows we need as the others would
1096 * that reason, we only build the coefficients in the rows that correspond to
1103 uint8_t **rows)
1111 * Fill in the missing rows of interest.
1126 rows[i][j] = vdev_raidz_pow2[pow];
1133 uint8_t **rows, uint8_t **invrows, const uint8_t *used)
1151 * First initialize the storage where we'll compute the inverse rows.
1160 * Subtract all trivial rows from the rows of consequence.
1167 invrows[i][j] = rows[i][jj];
1168 rows[i][jj] = 0;
1173 * For each of the rows of interest, we must normalize it and subtract
1174 * a multiple of it from the other rows.
1178 ASSERT0(rows[i][j]);
1180 ASSERT3U(rows[i][missing[i]], !=, 0);
1186 log = 255 - vdev_raidz_log2[rows[i][missing[i]]];
1189 rows[i][j] = vdev_raidz_exp2(rows[i][j], log);
1197 ASSERT3U(rows[ii][missing[i]], !=, 0);
1199 log = vdev_raidz_log2[rows[ii][missing[i]]];
1202 rows[ii][j] ^=
1203 vdev_raidz_exp2(rows[i][j], log);
1211 * Verify that the data that is left in the rows are properly part of
1217 ASSERT3U(rows[i][j], ==, 1);
1219 ASSERT0(rows[i][j]);
1312 uint8_t *rows[VDEV_RAIDZ_MAXPARITY];
1357 psize = (sizeof (rows[0][0]) + sizeof (invrows[0][0])) *
1362 rows[i] = pp;
1386 * Initialize the interesting rows of the matrix.
1388 vdev_raidz_matrix_init(rm, n, nmissing_rows, parity_map, rows);
1393 vdev_raidz_matrix_invert(rm, n, nmissing_rows, missing_rows, rows,