Lines Matching refs:zio

291 vdev_indirect_map_free(zio_t *zio)  in vdev_indirect_map_free()  argument
293 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_map_free()
1160 vdev_indirect_child_io_done(zio_t *zio) in vdev_indirect_child_io_done() argument
1162 zio_t *pio = zio->io_private; in vdev_indirect_child_io_done()
1165 pio->io_error = zio_worst_error(pio->io_error, zio->io_error); in vdev_indirect_child_io_done()
1168 abd_put(zio->io_abd); in vdev_indirect_child_io_done()
1179 zio_t *zio = arg; in vdev_indirect_gather_splits() local
1180 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_gather_splits()
1221 vdev_indirect_read_split_done(zio_t *zio) in vdev_indirect_read_split_done() argument
1223 indirect_child_t *ic = zio->io_private; in vdev_indirect_read_split_done()
1225 if (zio->io_error != 0) { in vdev_indirect_read_split_done()
1239 vdev_indirect_read_all(zio_t *zio) in vdev_indirect_read_all() argument
1241 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_read_all()
1243 ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ); in vdev_indirect_read_all()
1264 ic->ic_data = abd_alloc_sametype(zio->io_abd, in vdev_indirect_read_all()
1268 zio_nowait(zio_vdev_child_io(zio, NULL, in vdev_indirect_read_all()
1270 is->is_size, zio->io_type, zio->io_priority, 0, in vdev_indirect_read_all()
1278 vdev_indirect_io_start(zio_t *zio) in vdev_indirect_io_start() argument
1280 spa_t *spa = zio->io_spa; in vdev_indirect_io_start()
1285 zio->io_vsd = iv; in vdev_indirect_io_start()
1286 zio->io_vsd_ops = &vdev_indirect_vsd_ops; in vdev_indirect_io_start()
1289 if (zio->io_type != ZIO_TYPE_READ) { in vdev_indirect_io_start()
1290 ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE); in vdev_indirect_io_start()
1295 ASSERT((zio->io_flags & (ZIO_FLAG_SELF_HEAL | in vdev_indirect_io_start()
1299 vdev_indirect_remap(zio->io_vd, zio->io_offset, zio->io_size, in vdev_indirect_io_start()
1300 vdev_indirect_gather_splits, zio); in vdev_indirect_io_start()
1303 if (first->is_size == zio->io_size) { in vdev_indirect_io_start()
1320 zio_nowait(zio_vdev_child_io(zio, zio->io_bp, in vdev_indirect_io_start()
1322 abd_get_offset(zio->io_abd, 0), in vdev_indirect_io_start()
1323 zio->io_size, zio->io_type, zio->io_priority, 0, in vdev_indirect_io_start()
1324 vdev_indirect_child_io_done, zio)); in vdev_indirect_io_start()
1327 if (zio->io_type == ZIO_TYPE_READ && in vdev_indirect_io_start()
1328 zio->io_flags & (ZIO_FLAG_SCRUB | ZIO_FLAG_RESILVER)) { in vdev_indirect_io_start()
1334 vdev_indirect_read_all(zio); in vdev_indirect_io_start()
1351 zio_nowait(zio_vdev_child_io(zio, NULL, in vdev_indirect_io_start()
1353 abd_get_offset(zio->io_abd, in vdev_indirect_io_start()
1355 is->is_size, zio->io_type, in vdev_indirect_io_start()
1356 zio->io_priority, 0, in vdev_indirect_io_start()
1357 vdev_indirect_child_io_done, zio)); in vdev_indirect_io_start()
1362 zio_execute(zio); in vdev_indirect_io_start()
1369 vdev_indirect_checksum_error(zio_t *zio, in vdev_indirect_checksum_error() argument
1374 if (zio->io_flags & ZIO_FLAG_SPECULATIVE) in vdev_indirect_checksum_error()
1385 (void) zfs_ereport_post_checksum(zio->io_spa, vd, &zio->io_bookmark, in vdev_indirect_checksum_error()
1386 zio, is->is_target_offset, is->is_size, good_buf, bad_buf, &zbc); in vdev_indirect_checksum_error()
1402 vdev_indirect_repair(zio_t *zio) in vdev_indirect_repair() argument
1404 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_repair()
1408 if (!(zio->io_flags & (ZIO_FLAG_SCRUB | ZIO_FLAG_RESILVER))) in vdev_indirect_repair()
1411 if (!spa_writeable(zio->io_spa)) in vdev_indirect_repair()
1425 zio_nowait(zio_vdev_child_io(zio, NULL, in vdev_indirect_repair()
1432 vdev_indirect_checksum_error(zio, is, ic); in vdev_indirect_repair()
1441 vdev_indirect_all_checksum_errors(zio_t *zio) in vdev_indirect_all_checksum_errors() argument
1443 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_all_checksum_errors()
1445 if (zio->io_flags & ZIO_FLAG_SPECULATIVE) in vdev_indirect_all_checksum_errors()
1462 (void) zfs_ereport_post_checksum(zio->io_spa, vd, in vdev_indirect_all_checksum_errors()
1463 &zio->io_bookmark, zio, is->is_target_offset, in vdev_indirect_all_checksum_errors()
1474 vdev_indirect_splits_checksum_validate(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_checksum_validate() argument
1484 abd_copy_off(zio->io_abd, is->is_good_child->ic_data, in vdev_indirect_splits_checksum_validate()
1488 return (zio_checksum_error(zio, &zbc)); in vdev_indirect_splits_checksum_validate()
1499 vdev_indirect_splits_enumerate_all(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_enumerate_all() argument
1513 if (vdev_indirect_splits_checksum_validate(iv, zio) == 0) in vdev_indirect_splits_enumerate_all()
1540 vdev_indirect_splits_enumerate_randomly(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_enumerate_randomly() argument
1559 if (vdev_indirect_splits_checksum_validate(iv, zio) == 0) in vdev_indirect_splits_enumerate_randomly()
1573 vdev_indirect_splits_damage(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_damage() argument
1593 int error = vdev_indirect_splits_enumerate_randomly(iv, zio); in vdev_indirect_splits_damage()
1691 vdev_indirect_reconstruct_io_done(zio_t *zio) in vdev_indirect_reconstruct_io_done() argument
1693 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_reconstruct_io_done()
1710 known_good = (vdev_indirect_splits_damage(iv, zio) == 0); in vdev_indirect_reconstruct_io_done()
1751 zio->io_error = EIO; in vdev_indirect_reconstruct_io_done()
1752 vdev_indirect_all_checksum_errors(zio); in vdev_indirect_reconstruct_io_done()
1753 zio_checksum_verified(zio); in vdev_indirect_reconstruct_io_done()
1761 error = vdev_indirect_splits_enumerate_all(iv, zio); in vdev_indirect_reconstruct_io_done()
1763 error = vdev_indirect_splits_enumerate_randomly(iv, zio); in vdev_indirect_reconstruct_io_done()
1768 zio->io_error = error; in vdev_indirect_reconstruct_io_done()
1769 vdev_indirect_all_checksum_errors(zio); in vdev_indirect_reconstruct_io_done()
1776 ASSERT0(vdev_indirect_splits_checksum_validate(iv, zio)); in vdev_indirect_reconstruct_io_done()
1777 vdev_indirect_repair(zio); in vdev_indirect_reconstruct_io_done()
1778 zio_checksum_verified(zio); in vdev_indirect_reconstruct_io_done()
1783 vdev_indirect_io_done(zio_t *zio) in vdev_indirect_io_done() argument
1785 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_io_done()
1793 vdev_indirect_reconstruct_io_done(zio); in vdev_indirect_io_done()
1806 int ret = zio_checksum_error(zio, &zbc); in vdev_indirect_io_done()
1808 zio_checksum_verified(zio); in vdev_indirect_io_done()
1817 vdev_indirect_read_all(zio); in vdev_indirect_io_done()
1819 zio_vdev_io_redone(zio); in vdev_indirect_io_done()