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()
1384 (void) zfs_ereport_post_checksum(zio->io_spa, vd, &zio->io_bookmark, in vdev_indirect_checksum_error()
1385 zio, is->is_target_offset, is->is_size, good_abd, bad_abd, &zbc); in vdev_indirect_checksum_error()
1399 vdev_indirect_repair(zio_t *zio) in vdev_indirect_repair() argument
1401 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_repair()
1405 if (!(zio->io_flags & (ZIO_FLAG_SCRUB | ZIO_FLAG_RESILVER))) in vdev_indirect_repair()
1408 if (!spa_writeable(zio->io_spa)) in vdev_indirect_repair()
1422 zio_nowait(zio_vdev_child_io(zio, NULL, in vdev_indirect_repair()
1429 vdev_indirect_checksum_error(zio, is, ic); in vdev_indirect_repair()
1438 vdev_indirect_all_checksum_errors(zio_t *zio) in vdev_indirect_all_checksum_errors() argument
1440 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_all_checksum_errors()
1442 if (zio->io_flags & ZIO_FLAG_SPECULATIVE) in vdev_indirect_all_checksum_errors()
1459 (void) zfs_ereport_post_checksum(zio->io_spa, vd, in vdev_indirect_all_checksum_errors()
1460 &zio->io_bookmark, zio, is->is_target_offset, in vdev_indirect_all_checksum_errors()
1471 vdev_indirect_splits_checksum_validate(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_checksum_validate() argument
1481 abd_copy_off(zio->io_abd, is->is_good_child->ic_data, in vdev_indirect_splits_checksum_validate()
1485 return (zio_checksum_error(zio, &zbc)); in vdev_indirect_splits_checksum_validate()
1496 vdev_indirect_splits_enumerate_all(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_enumerate_all() argument
1510 if (vdev_indirect_splits_checksum_validate(iv, zio) == 0) in vdev_indirect_splits_enumerate_all()
1537 vdev_indirect_splits_enumerate_randomly(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_enumerate_randomly() argument
1556 if (vdev_indirect_splits_checksum_validate(iv, zio) == 0) in vdev_indirect_splits_enumerate_randomly()
1570 vdev_indirect_splits_damage(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_damage() argument
1590 int error = vdev_indirect_splits_enumerate_randomly(iv, zio); in vdev_indirect_splits_damage()
1688 vdev_indirect_reconstruct_io_done(zio_t *zio) in vdev_indirect_reconstruct_io_done() argument
1690 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_reconstruct_io_done()
1707 known_good = (vdev_indirect_splits_damage(iv, zio) == 0); in vdev_indirect_reconstruct_io_done()
1748 zio->io_error = EIO; in vdev_indirect_reconstruct_io_done()
1749 vdev_indirect_all_checksum_errors(zio); in vdev_indirect_reconstruct_io_done()
1750 zio_checksum_verified(zio); in vdev_indirect_reconstruct_io_done()
1758 error = vdev_indirect_splits_enumerate_all(iv, zio); in vdev_indirect_reconstruct_io_done()
1760 error = vdev_indirect_splits_enumerate_randomly(iv, zio); in vdev_indirect_reconstruct_io_done()
1765 zio->io_error = error; in vdev_indirect_reconstruct_io_done()
1766 vdev_indirect_all_checksum_errors(zio); in vdev_indirect_reconstruct_io_done()
1773 ASSERT0(vdev_indirect_splits_checksum_validate(iv, zio)); in vdev_indirect_reconstruct_io_done()
1774 vdev_indirect_repair(zio); in vdev_indirect_reconstruct_io_done()
1775 zio_checksum_verified(zio); in vdev_indirect_reconstruct_io_done()
1780 vdev_indirect_io_done(zio_t *zio) in vdev_indirect_io_done() argument
1782 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_io_done()
1790 vdev_indirect_reconstruct_io_done(zio); in vdev_indirect_io_done()
1803 int ret = zio_checksum_error(zio, &zbc); in vdev_indirect_io_done()
1805 zio_checksum_verified(zio); in vdev_indirect_io_done()
1814 vdev_indirect_read_all(zio); in vdev_indirect_io_done()
1816 zio_vdev_io_redone(zio); in vdev_indirect_io_done()