• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/

Lines Matching refs:zio

37 #include <sys/zio.h>
295 vdev_raidz_map_free_vsd(zio_t *zio)
297 raidz_map_t *rm = zio->io_vsd;
410 vdev_raidz_cksum_report(zio_t *zio, zio_cksum_report_t *zcr, void *arg)
415 raidz_map_t *rm = zio->io_vsd;
432 * to copy the data aside; there's no guarantee that our zio's buffer
475 /* The zio's size in units of the vdev's minimum sector size. */
1891 vdev_raidz_child_done(zio_t *zio)
1893 raidz_col_t *rc = zio->io_private;
1895 rc->rc_error = zio->io_error;
1901 vdev_raidz_io_verify(zio_t *zio, raidz_map_t *rm, int col)
1904 vdev_t *vd = zio->io_vd;
1908 logical_rs.rs_start = zio->io_offset;
1910 vdev_raidz_asize(zio->io_vd, zio->io_size);
1939 * 2. Create child zio write operations to each column's vdev, for both
1942 * write zio children for those areas to improve aggregation continuity.
1944 * 1. Create child zio read operations to each data column's vdev to read
1945 * the range of data required for zio.
1947 * vdevs have had errors, then create zio read operations to the parity
1951 vdev_raidz_io_start(zio_t *zio)
1953 vdev_t *vd = zio->io_vd;
1960 rm = vdev_raidz_map_alloc(zio->io_abd, zio->io_size, zio->io_offset,
1961 zio->io_type == ZIO_TYPE_FREE,
1965 zio->io_vsd = rm;
1966 zio->io_vsd_ops = &vdev_raidz_vsd_ops;
1968 ASSERT3U(rm->rm_asize, ==, vdev_psize_to_asize(vd, zio->io_size));
1970 if (zio->io_type == ZIO_TYPE_FREE) {
1974 zio_nowait(zio_vdev_child_io(zio, NULL, cvd,
1976 zio->io_type, zio->io_priority, 0,
1980 zio_execute(zio);
1984 if (zio->io_type == ZIO_TYPE_WRITE) {
1994 vdev_raidz_io_verify(zio, rm, c);
1996 zio_nowait(zio_vdev_child_io(zio, NULL, cvd,
1998 zio->io_type, zio->io_priority, 0,
2012 zio_nowait(zio_vdev_child_io(zio, NULL, cvd,
2015 zio->io_type, zio->io_priority,
2019 zio_execute(zio);
2023 ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ);
2042 if (vdev_dtl_contains(cvd, DTL_MISSING, zio->io_txg, 1)) {
2052 (zio->io_flags & (ZIO_FLAG_SCRUB | ZIO_FLAG_RESILVER))) {
2053 zio_nowait(zio_vdev_child_io(zio, NULL, cvd,
2055 zio->io_type, zio->io_priority, 0,
2060 zio_execute(zio);
2068 raidz_checksum_error(zio_t *zio, raidz_col_t *rc, void *bad_data)
2071 vdev_t *vd = zio->io_vd->vdev_child[rc->rc_devidx];
2073 if (!(zio->io_flags & ZIO_FLAG_SPECULATIVE)) {
2075 raidz_map_t *rm = zio->io_vsd;
2085 zfs_ereport_post_checksum(zio->io_spa, vd, zio,
2097 raidz_checksum_verify(zio_t *zio)
2100 raidz_map_t *rm = zio->io_vsd;
2102 int ret = zio_checksum_error(zio, &zbc);
2116 raidz_parity_verify(zio_t *zio, raidz_map_t *rm)
2122 blkptr_t *bp = zio->io_bp;
2123 enum zio_checksum checksum = (bp == NULL ? zio->io_prop.zp_checksum :
2144 raidz_checksum_error(zio, rc, orig[c]);
2179 vdev_raidz_combrec(zio_t *zio, int total_errors, int data_errors)
2181 raidz_map_t *rm = zio->io_vsd;
2260 if (raidz_checksum_verify(zio) == 0) {
2268 raidz_checksum_error(zio, rc,
2350 vdev_raidz_io_done(zio_t *zio)
2352 vdev_t *vd = zio->io_vd;
2354 raidz_map_t *rm = zio->io_vsd;
2365 ASSERT(zio->io_bp != NULL); /* XXX need to add code to enforce this */
2390 if (zio->io_type == ZIO_TYPE_WRITE) {
2403 zio->io_error = vdev_raidz_worst_error(rm);
2406 } else if (zio->io_type == ZIO_TYPE_FREE) {
2410 ASSERT(zio->io_type == ZIO_TYPE_READ);
2430 if (raidz_checksum_verify(zio) == 0) {
2441 (zio->io_flags & ZIO_FLAG_RESILVER)) {
2442 n = raidz_parity_verify(zio, rm);
2476 if (raidz_checksum_verify(zio) == 0) {
2493 (zio->io_flags & ZIO_FLAG_RESILVER)) {
2494 n = raidz_parity_verify(zio, rm);
2520 zio_vdev_io_redone(zio);
2525 zio_nowait(zio_vdev_child_io(zio, NULL,
2528 zio->io_type, zio->io_priority, 0,
2546 zio->io_error = vdev_raidz_worst_error(rm);
2549 (code = vdev_raidz_combrec(zio, total_errors, data_errors)) != 0) {
2556 (void) raidz_parity_verify(zio, rm);
2570 zio->io_error = SET_ERROR(ECKSUM);
2572 if (!(zio->io_flags & ZIO_FLAG_SPECULATIVE)) {
2582 zio->io_spa,
2584 zio, rc->rc_offset, rc->rc_size,
2592 zio_checksum_verified(zio);
2594 if (zio->io_error == 0 && spa_writeable(zio->io_spa) &&
2595 (unexpected_errors || (zio->io_flags & ZIO_FLAG_RESILVER))) {
2606 zio_nowait(zio_vdev_child_io(zio, NULL, cvd,
2641 /* The zio's size in units of the vdev's minimum sector size. */