Lines Matching refs:zio
162 vdev_raidz_map_free_vsd(zio_t *zio) in vdev_raidz_map_free_vsd() argument
164 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_map_free_vsd()
277 vdev_raidz_cksum_report(zio_t *zio, zio_cksum_report_t *zcr, void *arg) in vdev_raidz_cksum_report() argument
282 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_cksum_report()
338 vdev_raidz_map_alloc(zio_t *zio, uint64_t ashift, uint64_t dcols, in vdev_raidz_map_alloc() argument
343 uint64_t b = zio->io_offset >> ashift; in vdev_raidz_map_alloc()
345 uint64_t s = zio->io_size >> ashift; in vdev_raidz_map_alloc()
438 rm->rm_col[c].rc_abd = abd_get_offset_size(zio->io_abd, 0, in vdev_raidz_map_alloc()
443 rm->rm_col[c].rc_abd = abd_get_offset_size(zio->io_abd, off, in vdev_raidz_map_alloc()
471 if (rm->rm_firstdatacol == 1 && (zio->io_offset & (1ULL << 20))) { in vdev_raidz_map_alloc()
1713 zio_t *zio = kmem_zalloc(sizeof (zio_t), KM_SLEEP); in vdev_raidz_dumpio() local
1714 zio->io_offset = origoffset; in vdev_raidz_dumpio()
1715 zio->io_size = SPA_OLD_MAXBLOCKSIZE; in vdev_raidz_dumpio()
1716 zio->io_abd = abd_get_from_buf(data - (offset - origoffset), in vdev_raidz_dumpio()
1719 rm = vdev_raidz_map_alloc(zio, tvd->vdev_ashift, vd->vdev_children, in vdev_raidz_dumpio()
1763 abd_put(zio->io_abd); in vdev_raidz_dumpio()
1764 kmem_free(zio, sizeof (zio_t)); in vdev_raidz_dumpio()
1787 vdev_raidz_child_done(zio_t *zio) in vdev_raidz_child_done() argument
1789 raidz_col_t *rc = zio->io_private; in vdev_raidz_child_done()
1791 rc->rc_error = zio->io_error; in vdev_raidz_child_done()
1797 vdev_raidz_io_verify(zio_t *zio, raidz_map_t *rm, int col) in vdev_raidz_io_verify() argument
1800 vdev_t *vd = zio->io_vd; in vdev_raidz_io_verify()
1804 logical_rs.rs_start = zio->io_offset; in vdev_raidz_io_verify()
1806 vdev_raidz_asize(zio->io_vd, zio->io_size); in vdev_raidz_io_verify()
1847 vdev_raidz_io_start(zio_t *zio) in vdev_raidz_io_start() argument
1849 vdev_t *vd = zio->io_vd; in vdev_raidz_io_start()
1856 rm = vdev_raidz_map_alloc(zio, tvd->vdev_ashift, vd->vdev_children, in vdev_raidz_io_start()
1859 zio->io_vsd = rm; in vdev_raidz_io_start()
1860 zio->io_vsd_ops = &vdev_raidz_vsd_ops; in vdev_raidz_io_start()
1862 ASSERT3U(rm->rm_asize, ==, vdev_psize_to_asize(vd, zio->io_size)); in vdev_raidz_io_start()
1864 if (zio->io_type == ZIO_TYPE_WRITE) { in vdev_raidz_io_start()
1874 vdev_raidz_io_verify(zio, rm, c); in vdev_raidz_io_start()
1876 zio_nowait(zio_vdev_child_io(zio, NULL, cvd, in vdev_raidz_io_start()
1878 zio->io_type, zio->io_priority, 0, in vdev_raidz_io_start()
1892 zio_nowait(zio_vdev_child_io(zio, NULL, cvd, in vdev_raidz_io_start()
1895 zio->io_type, zio->io_priority, in vdev_raidz_io_start()
1899 zio_execute(zio); in vdev_raidz_io_start()
1903 ASSERT(zio->io_type == ZIO_TYPE_READ); in vdev_raidz_io_start()
1922 if (vdev_dtl_contains(cvd, DTL_MISSING, zio->io_txg, 1)) { in vdev_raidz_io_start()
1932 (zio->io_flags & (ZIO_FLAG_SCRUB | ZIO_FLAG_RESILVER))) { in vdev_raidz_io_start()
1933 zio_nowait(zio_vdev_child_io(zio, NULL, cvd, in vdev_raidz_io_start()
1935 zio->io_type, zio->io_priority, 0, in vdev_raidz_io_start()
1940 zio_execute(zio); in vdev_raidz_io_start()
1948 raidz_checksum_error(zio_t *zio, raidz_col_t *rc, abd_t *bad_data) in raidz_checksum_error() argument
1950 vdev_t *vd = zio->io_vd->vdev_child[rc->rc_devidx]; in raidz_checksum_error()
1952 if (!(zio->io_flags & ZIO_FLAG_SPECULATIVE)) { in raidz_checksum_error()
1954 raidz_map_t *rm = zio->io_vsd; in raidz_checksum_error()
1963 (void) zfs_ereport_post_checksum(zio->io_spa, vd, in raidz_checksum_error()
1964 &zio->io_bookmark, zio, rc->rc_offset, rc->rc_size, in raidz_checksum_error()
1974 raidz_checksum_verify(zio_t *zio) in raidz_checksum_verify() argument
1977 raidz_map_t *rm = zio->io_vsd; in raidz_checksum_verify()
1979 int ret = zio_checksum_error(zio, &zbc); in raidz_checksum_verify()
1993 raidz_parity_verify(zio_t *zio, raidz_map_t *rm) in raidz_parity_verify() argument
1999 blkptr_t *bp = zio->io_bp; in raidz_parity_verify()
2000 enum zio_checksum checksum = (bp == NULL ? zio->io_prop.zp_checksum : in raidz_parity_verify()
2021 raidz_checksum_error(zio, rc, orig[c]); in raidz_parity_verify()
2051 vdev_raidz_combrec(zio_t *zio, int total_errors, int data_errors) in vdev_raidz_combrec() argument
2053 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_combrec()
2135 if (raidz_checksum_verify(zio) == 0) { in vdev_raidz_combrec()
2142 raidz_checksum_error(zio, rc, in vdev_raidz_combrec()
2225 vdev_raidz_io_done(zio_t *zio) in vdev_raidz_io_done() argument
2227 vdev_t *vd = zio->io_vd; in vdev_raidz_io_done()
2229 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_io_done()
2240 ASSERT(zio->io_bp != NULL); /* XXX need to add code to enforce this */ in vdev_raidz_io_done()
2265 if (zio->io_type == ZIO_TYPE_WRITE) { in vdev_raidz_io_done()
2278 zio->io_error = vdev_raidz_worst_error(rm); in vdev_raidz_io_done()
2283 ASSERT(zio->io_type == ZIO_TYPE_READ); in vdev_raidz_io_done()
2303 if (raidz_checksum_verify(zio) == 0) { in vdev_raidz_io_done()
2314 (zio->io_flags & ZIO_FLAG_RESILVER)) { in vdev_raidz_io_done()
2315 n = raidz_parity_verify(zio, rm); in vdev_raidz_io_done()
2349 if (raidz_checksum_verify(zio) == 0) { in vdev_raidz_io_done()
2364 (zio->io_flags & ZIO_FLAG_RESILVER)) { in vdev_raidz_io_done()
2365 n = raidz_parity_verify(zio, rm); in vdev_raidz_io_done()
2391 zio_vdev_io_redone(zio); in vdev_raidz_io_done()
2396 zio_nowait(zio_vdev_child_io(zio, NULL, in vdev_raidz_io_done()
2399 zio->io_type, zio->io_priority, 0, in vdev_raidz_io_done()
2417 zio->io_error = vdev_raidz_worst_error(rm); in vdev_raidz_io_done()
2420 (code = vdev_raidz_combrec(zio, total_errors, data_errors)) != 0) { in vdev_raidz_io_done()
2427 (void) raidz_parity_verify(zio, rm); in vdev_raidz_io_done()
2441 zio->io_error = SET_ERROR(ECKSUM); in vdev_raidz_io_done()
2443 if (!(zio->io_flags & ZIO_FLAG_SPECULATIVE)) { in vdev_raidz_io_done()
2453 zio->io_spa, in vdev_raidz_io_done()
2455 &zio->io_bookmark, zio, in vdev_raidz_io_done()
2464 zio_checksum_verified(zio); in vdev_raidz_io_done()
2466 if (zio->io_error == 0 && spa_writeable(zio->io_spa) && in vdev_raidz_io_done()
2467 (unexpected_errors || (zio->io_flags & ZIO_FLAG_RESILVER))) { in vdev_raidz_io_done()
2478 zio_nowait(zio_vdev_child_io(zio, NULL, cvd, in vdev_raidz_io_done()