usr/src/boot/libsa/zfs/zfsimpl.c
552
zio_t *zio = arg;
usr/src/boot/libsa/zfs/zfsimpl.c
553
indirect_vsd_t *iv = zio->io_vsd;
usr/src/boot/libsa/zfs/zfsimpl.c
564
zio->io_error = ENOMEM;
usr/src/boot/libsa/zfs/zfsimpl.c
600
zio_t *zio = arg;
usr/src/boot/libsa/zfs/zfsimpl.c
609
zio->io_error = ENOMEM;
usr/src/boot/libsa/zfs/zfsimpl.c
620
zio->io_error = ENOMEM;
usr/src/boot/libsa/zfs/zfsimpl.c
641
zio->io_error = ENOMEM;
usr/src/boot/libsa/zfs/zfsimpl.c
655
if (zio->io_error != 0)
usr/src/boot/libsa/zfs/zfsimpl.c
664
if (zio->io_error != 0)
usr/src/boot/libsa/zfs/zfsimpl.c
672
vdev_indirect_map_free(zio_t *zio)
usr/src/boot/libsa/zfs/zfsimpl.c
674
indirect_vsd_t *iv = zio->io_vsd;
usr/src/boot/libsa/zfs/zfsimpl.c
692
zio_t zio;
usr/src/boot/libsa/zfs/zfsimpl.c
705
bzero(&zio, sizeof (zio));
usr/src/boot/libsa/zfs/zfsimpl.c
706
zio.io_spa = spa;
usr/src/boot/libsa/zfs/zfsimpl.c
707
zio.io_bp = (blkptr_t *)bp;
usr/src/boot/libsa/zfs/zfsimpl.c
708
zio.io_data = buf;
usr/src/boot/libsa/zfs/zfsimpl.c
709
zio.io_size = bytes;
usr/src/boot/libsa/zfs/zfsimpl.c
710
zio.io_offset = offset;
usr/src/boot/libsa/zfs/zfsimpl.c
711
zio.io_vd = vdev;
usr/src/boot/libsa/zfs/zfsimpl.c
712
zio.io_vsd = iv;
usr/src/boot/libsa/zfs/zfsimpl.c
722
vdev_indirect_remap(vdev, offset, bytes, &zio);
usr/src/boot/libsa/zfs/zfsimpl.c
723
if (zio.io_error != 0)
usr/src/boot/libsa/zfs/zfsimpl.c
724
return (zio.io_error);
usr/src/boot/libsa/zfs/zfsimpl.c
727
if (first->is_size == zio.io_size) {
usr/src/boot/libsa/zfs/zfsimpl.c
742
rc = first->is_vdev->v_read(first->is_vdev, zio.io_bp,
usr/src/boot/libsa/zfs/zfsimpl.c
743
zio.io_data, first->is_target_offset, bytes);
usr/src/boot/libsa/zfs/zfsimpl.c
757
char *ptr = zio.io_data;
usr/src/boot/libsa/zfs/zfsimpl.c
759
rc = is->is_vdev->v_read(is->is_vdev, zio.io_bp,
usr/src/boot/libsa/zfs/zfsimpl.c
763
if (zio_checksum_verify(spa, zio.io_bp, zio.io_data))
usr/src/boot/libsa/zfs/zfsimpl.c
769
vdev_indirect_map_free(&zio);
usr/src/boot/libsa/zfs/zfsimpl.c
771
rc = zio.io_error;
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
1600
if (vdev_dtl_contains(cvd, DTL_MISSING, zio->io_txg, 1)) {
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2577
mdb_zio_t zio;
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2580
if (mdb_ctf_vread(&zio, ZFS_STRUCT "zio", "mdb_zio_t", addr, 0) == -1)
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2594
if ((type = mdb_ctf_enum_name(type_enum, zio.io_type)) != NULL)
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2599
if (zio.io_error == 0) {
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2600
stage = mdb_ctf_enum_name(stage_enum, zio.io_stage);
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2615
if (zio.io_waiter != 0)
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2616
mdb_printf("%-16lx ", zio.io_waiter);
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3150
mdb_zio_t zio;
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3153
if (mdb_ctf_vread(&zio, ZFS_STRUCT "zio", "mdb_zio_t",
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3157
if (spa != 0 && spa != zio.io_spa)
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3160
return (wsp->walk_callback(wsp->walk_addr, &zio, wsp->walk_cbdata));
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3171
mdb_zio_t zio;
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3174
if (mdb_ctf_vread(&zio, ZFS_STRUCT "zio", "mdb_zio_t",
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3178
if (spa != 0 && spa != zio.io_spa)
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3182
if (zio.io_parent_list.list_head.list_next !=
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3188
return (wsp->walk_callback(wsp->walk_addr, &zio, wsp->walk_cbdata));
usr/src/cmd/raidz_test/raidz_test.c
242
init_zio_abd(zio_t *zio)
usr/src/cmd/raidz_test/raidz_test.c
244
(void) abd_iterate_func(zio->io_abd, 0, zio->io_size, init_rand, NULL);
usr/src/cmd/raidz_test/raidz_test.c
248
fini_raidz_map(zio_t **zio, raidz_map_t **rm)
usr/src/cmd/raidz_test/raidz_test.c
251
raidz_free((*zio)->io_abd, (*zio)->io_size);
usr/src/cmd/raidz_test/raidz_test.c
252
umem_free(*zio, sizeof (zio_t));
usr/src/cmd/raidz_test/raidz_test.c
254
*zio = NULL;
usr/src/cmd/raidz_test/raidz_test.c
309
init_raidz_map(raidz_test_opts_t *opts, zio_t **zio, const int parity)
usr/src/cmd/raidz_test/raidz_test.c
316
VERIFY(zio);
usr/src/cmd/raidz_test/raidz_test.c
319
*zio = umem_zalloc(sizeof (zio_t), UMEM_NOFAIL);
usr/src/cmd/raidz_test/raidz_test.c
321
(*zio)->io_offset = 0;
usr/src/cmd/raidz_test/raidz_test.c
322
(*zio)->io_size = alloc_dsize;
usr/src/cmd/raidz_test/raidz_test.c
323
(*zio)->io_abd = raidz_alloc(alloc_dsize);
usr/src/cmd/raidz_test/raidz_test.c
324
init_zio_abd(*zio);
usr/src/cmd/raidz_test/raidz_test.c
326
rm = vdev_raidz_map_alloc(*zio, opts->rto_ashift,
usr/src/cmd/raidz_test/raidz_test.h
107
void init_zio_abd(zio_t *zio);
usr/src/cmd/zdb/zdb.c
3593
zdb_blkptr_done(zio_t *zio)
usr/src/cmd/zdb/zdb.c
3595
spa_t *spa = zio->io_spa;
usr/src/cmd/zdb/zdb.c
3596
blkptr_t *bp = zio->io_bp;
usr/src/cmd/zdb/zdb.c
3597
int ioerr = zio->io_error;
usr/src/cmd/zdb/zdb.c
3598
zdb_cb_t *zcb = zio->io_private;
usr/src/cmd/zdb/zdb.c
3599
zbookmark_phys_t *zb = &zio->io_bookmark;
usr/src/cmd/zdb/zdb.c
3601
abd_free(zio->io_abd);
usr/src/cmd/zdb/zdb.c
3607
if (ioerr && !(zio->io_flags & ZIO_FLAG_SPECULATIVE)) {
usr/src/cmd/zdb/zdb.c
6013
zio_t *zio;
usr/src/cmd/zdb/zdb.c
6114
zio = zio_root(spa, NULL, NULL, 0);
usr/src/cmd/zdb/zdb.c
6120
zio_nowait(zio_read(zio, spa, bp, pabd, psize, NULL, NULL,
usr/src/cmd/zdb/zdb.c
6127
zio_nowait(zio_vdev_child_io(zio, bp, vd, offset, pabd,
usr/src/cmd/zdb/zdb.c
6135
error = zio_wait(zio);
usr/src/cmd/ztest/ztest.c
2081
zio_t *zio)
usr/src/cmd/ztest/ztest.c
2096
ASSERT3P(zio, !=, NULL);
usr/src/cmd/ztest/ztest.c
2153
error = dmu_sync(zio, lr->lr_common.lrc_txg,
usr/src/grub/grub-0.97/stage2/zfs-include/zio.h
50
#define ZIO_GET_IOSIZE(zio) \
usr/src/grub/grub-0.97/stage2/zfs-include/zio.h
51
(BP_IS_GANG((zio)->io_bp) ? \
usr/src/grub/grub-0.97/stage2/zfs-include/zio.h
52
SPA_GANGBLOCKSIZE : BP_GET_PSIZE((zio)->io_bp))
usr/src/uts/common/fs/zfs/arc.c
1334
arc_cksum_is_equal(arc_buf_hdr_t *hdr, zio_t *zio)
usr/src/uts/common/fs/zfs/arc.c
1336
ASSERT(!BP_IS_EMBEDDED(zio->io_bp));
usr/src/uts/common/fs/zfs/arc.c
1337
VERIFY3U(BP_GET_PSIZE(zio->io_bp), ==, HDR_GET_PSIZE(hdr));
usr/src/uts/common/fs/zfs/arc.c
1352
return (zio_checksum_error_impl(zio->io_spa, zio->io_bp,
usr/src/uts/common/fs/zfs/arc.c
1353
BP_GET_CHECKSUM(zio->io_bp), zio->io_abd, zio->io_size,
usr/src/uts/common/fs/zfs/arc.c
1354
zio->io_offset, NULL) == 0);
usr/src/uts/common/fs/zfs/arc.c
2713
static void l2arc_log_blk_fetch_abort(zio_t *zio);
usr/src/uts/common/fs/zfs/arc.c
2733
static void l2arc_blk_fetch_done(zio_t *zio);
usr/src/uts/common/fs/zfs/arc.c
5297
arc_bcopy_func(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/arc.c
5309
arc_getbuf_func(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/arc.c
5315
ASSERT(zio == NULL || zio->io_error != 0);
usr/src/uts/common/fs/zfs/arc.c
5318
ASSERT(zio == NULL || zio->io_error == 0);
usr/src/uts/common/fs/zfs/arc.c
5385
arc_read_done(zio_t *zio)
usr/src/uts/common/fs/zfs/arc.c
5387
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/arc.c
5388
arc_buf_hdr_t *hdr = zio->io_private;
usr/src/uts/common/fs/zfs/arc.c
5403
ASSERT3U(hdr->b_birth, ==, BP_PHYSICAL_BIRTH(zio->io_bp));
usr/src/uts/common/fs/zfs/arc.c
5405
BP_IDENTITY(zio->io_bp)->dva_word[0]);
usr/src/uts/common/fs/zfs/arc.c
5407
BP_IDENTITY(zio->io_bp)->dva_word[1]);
usr/src/uts/common/fs/zfs/arc.c
5409
arc_buf_hdr_t *found = buf_hash_find(hdr->b_spa, zio->io_bp,
usr/src/uts/common/fs/zfs/arc.c
5413
DVA_EQUAL(&hdr->b_dva, BP_IDENTITY(zio->io_bp))) ||
usr/src/uts/common/fs/zfs/arc.c
5420
hdr->b_crypt_hdr.b_dsobj = zio->io_bookmark.zb_objset;
usr/src/uts/common/fs/zfs/arc.c
5427
tmpbuf = abd_borrow_buf_copy(zio->io_abd,
usr/src/uts/common/fs/zfs/arc.c
5431
abd_return_buf(zio->io_abd, tmpbuf,
usr/src/uts/common/fs/zfs/arc.c
5438
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/arc.c
5440
if (BP_SHOULD_BYTESWAP(zio->io_bp)) {
usr/src/uts/common/fs/zfs/arc.c
5441
if (BP_GET_LEVEL(zio->io_bp) > 0) {
usr/src/uts/common/fs/zfs/arc.c
5445
DMU_OT_BYTESWAP(BP_GET_TYPE(zio->io_bp));
usr/src/uts/common/fs/zfs/arc.c
5457
if (hash_lock && zio->io_error == 0 &&
usr/src/uts/common/fs/zfs/arc.c
5481
if (zio->io_error != 0)
usr/src/uts/common/fs/zfs/arc.c
5484
int error = arc_buf_alloc_impl(hdr, zio->io_spa,
usr/src/uts/common/fs/zfs/arc.c
5493
ASSERT((zio->io_flags & ZIO_FLAG_SPECULATIVE) ||
usr/src/uts/common/fs/zfs/arc.c
5503
if ((zio->io_flags & ZIO_FLAG_SPECULATIVE) == 0) {
usr/src/uts/common/fs/zfs/arc.c
5504
spa_log_error(zio->io_spa, &acb->acb_zb);
usr/src/uts/common/fs/zfs/arc.c
5507
zio->io_spa, NULL, &acb->acb_zb, zio, 0, 0);
usr/src/uts/common/fs/zfs/arc.c
5526
zio->io_error = error;
usr/src/uts/common/fs/zfs/arc.c
5547
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/arc.c
5548
arc_hdr_verify(hdr, zio->io_bp);
usr/src/uts/common/fs/zfs/arc.c
5582
if (zio->io_error != 0 && acb->acb_buf != NULL) {
usr/src/uts/common/fs/zfs/arc.c
5591
acb->acb_done(zio, &zio->io_bookmark, zio->io_bp,
usr/src/uts/common/fs/zfs/arc.c
5596
acb->acb_zio_dummy->io_error = zio->io_error;
usr/src/uts/common/fs/zfs/arc.c
6402
arc_write_ready(zio_t *zio)
usr/src/uts/common/fs/zfs/arc.c
6404
arc_write_callback_t *callback = zio->io_private;
usr/src/uts/common/fs/zfs/arc.c
6407
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/arc.c
6419
if (zio->io_flags & ZIO_FLAG_REEXECUTED) {
usr/src/uts/common/fs/zfs/arc.c
6438
callback->awcb_ready(zio, buf, callback->awcb_private);
usr/src/uts/common/fs/zfs/arc.c
6441
ASSERT(zio->io_flags & ZIO_FLAG_REEXECUTED);
usr/src/uts/common/fs/zfs/arc.c
6465
hdr->b_crypt_hdr.b_dsobj = zio->io_bookmark.zb_objset;
usr/src/uts/common/fs/zfs/arc.c
6498
if (zio->io_error != 0 || psize == 0)
usr/src/uts/common/fs/zfs/arc.c
6519
abd_copy(hdr->b_crypt_hdr.b_rabd, zio->io_abd, psize);
usr/src/uts/common/fs/zfs/arc.c
6530
abd_copy(hdr->b_crypt_hdr.b_rabd, zio->io_abd, psize);
usr/src/uts/common/fs/zfs/arc.c
6535
abd_copy(hdr->b_l1hdr.b_pabd, zio->io_abd, psize);
usr/src/uts/common/fs/zfs/arc.c
6537
ASSERT3U(zio->io_orig_size, ==, arc_hdr_size(hdr));
usr/src/uts/common/fs/zfs/arc.c
6543
ASSERT3P(buf->b_data, ==, abd_to_buf(zio->io_orig_abd));
usr/src/uts/common/fs/zfs/arc.c
6544
ASSERT3U(zio->io_orig_size, ==, arc_buf_size(buf));
usr/src/uts/common/fs/zfs/arc.c
6554
arc_write_children_ready(zio_t *zio)
usr/src/uts/common/fs/zfs/arc.c
6556
arc_write_callback_t *callback = zio->io_private;
usr/src/uts/common/fs/zfs/arc.c
6559
callback->awcb_children_ready(zio, buf, callback->awcb_private);
usr/src/uts/common/fs/zfs/arc.c
6567
arc_write_physdone(zio_t *zio)
usr/src/uts/common/fs/zfs/arc.c
6569
arc_write_callback_t *cb = zio->io_private;
usr/src/uts/common/fs/zfs/arc.c
6571
cb->awcb_physdone(zio, cb->awcb_buf, cb->awcb_private);
usr/src/uts/common/fs/zfs/arc.c
6575
arc_write_done(zio_t *zio)
usr/src/uts/common/fs/zfs/arc.c
6577
arc_write_callback_t *callback = zio->io_private;
usr/src/uts/common/fs/zfs/arc.c
6583
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/arc.c
6584
arc_hdr_verify(hdr, zio->io_bp);
usr/src/uts/common/fs/zfs/arc.c
6586
if (BP_IS_HOLE(zio->io_bp) || BP_IS_EMBEDDED(zio->io_bp)) {
usr/src/uts/common/fs/zfs/arc.c
6589
hdr->b_dva = *BP_IDENTITY(zio->io_bp);
usr/src/uts/common/fs/zfs/arc.c
6590
hdr->b_birth = BP_PHYSICAL_BIRTH(zio->io_bp);
usr/src/uts/common/fs/zfs/arc.c
6606
ASSERT3U(zio->io_error, ==, 0);
usr/src/uts/common/fs/zfs/arc.c
6617
if (zio->io_flags & ZIO_FLAG_IO_REWRITE) {
usr/src/uts/common/fs/zfs/arc.c
6618
if (!BP_EQUAL(&zio->io_bp_orig, zio->io_bp))
usr/src/uts/common/fs/zfs/arc.c
6628
} else if (zio->io_flags & ZIO_FLAG_NOPWRITE) {
usr/src/uts/common/fs/zfs/arc.c
6630
ASSERT(zio->io_prop.zp_nopwrite);
usr/src/uts/common/fs/zfs/arc.c
6631
if (!BP_EQUAL(&zio->io_bp_orig, zio->io_bp))
usr/src/uts/common/fs/zfs/arc.c
6638
ASSERT(BP_GET_DEDUP(zio->io_bp));
usr/src/uts/common/fs/zfs/arc.c
6639
ASSERT(BP_GET_LEVEL(zio->io_bp) == 0);
usr/src/uts/common/fs/zfs/arc.c
6652
callback->awcb_done(zio, buf, callback->awcb_private);
usr/src/uts/common/fs/zfs/arc.c
6654
abd_put(zio->io_abd);
usr/src/uts/common/fs/zfs/arc.c
6667
zio_t *zio;
usr/src/uts/common/fs/zfs/arc.c
6741
zio = zio_write(pio, spa, txg, bp,
usr/src/uts/common/fs/zfs/arc.c
6748
return (zio);
usr/src/uts/common/fs/zfs/arc.c
7693
l2arc_write_done(zio_t *zio)
usr/src/uts/common/fs/zfs/arc.c
7705
cb = zio->io_private;
usr/src/uts/common/fs/zfs/arc.c
7714
DTRACE_PROBE2(l2arc__iodone, zio_t *, zio,
usr/src/uts/common/fs/zfs/arc.c
7768
if (zio->io_error != 0) {
usr/src/uts/common/fs/zfs/arc.c
7802
if (zio->io_error != 0) {
usr/src/uts/common/fs/zfs/arc.c
7823
if (zio->io_error != 0) {
usr/src/uts/common/fs/zfs/arc.c
7869
l2arc_untransform(zio_t *zio, l2arc_read_callback_t *cb)
usr/src/uts/common/fs/zfs/arc.c
7872
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/arc.c
7874
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/arc.c
7919
zio->io_abd = eabd;
usr/src/uts/common/fs/zfs/arc.c
7949
zio->io_abd = cabd;
usr/src/uts/common/fs/zfs/arc.c
7950
zio->io_size = HDR_GET_LSIZE(hdr);
usr/src/uts/common/fs/zfs/arc.c
7965
l2arc_read_done(zio_t *zio)
usr/src/uts/common/fs/zfs/arc.c
7968
l2arc_read_callback_t *cb = zio->io_private;
usr/src/uts/common/fs/zfs/arc.c
7975
ASSERT3P(zio->io_vd, !=, NULL);
usr/src/uts/common/fs/zfs/arc.c
7976
ASSERT(zio->io_flags & ZIO_FLAG_DONT_PROPAGATE);
usr/src/uts/common/fs/zfs/arc.c
7978
spa_config_exit(zio->io_spa, SCL_L2ARC, zio->io_vd);
usr/src/uts/common/fs/zfs/arc.c
7993
ASSERT3U(arc_hdr_size(hdr), <, zio->io_size);
usr/src/uts/common/fs/zfs/arc.c
7994
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/arc.c
8016
zio->io_size = zio->io_orig_size = arc_hdr_size(hdr);
usr/src/uts/common/fs/zfs/arc.c
8020
zio->io_abd = zio->io_orig_abd =
usr/src/uts/common/fs/zfs/arc.c
8024
zio->io_abd = zio->io_orig_abd = hdr->b_l1hdr.b_pabd;
usr/src/uts/common/fs/zfs/arc.c
8028
ASSERT3P(zio->io_abd, !=, NULL);
usr/src/uts/common/fs/zfs/arc.c
8033
ASSERT(zio->io_abd == hdr->b_l1hdr.b_pabd ||
usr/src/uts/common/fs/zfs/arc.c
8034
(HDR_HAS_RABD(hdr) && zio->io_abd == hdr->b_crypt_hdr.b_rabd));
usr/src/uts/common/fs/zfs/arc.c
8035
zio->io_bp_copy = cb->l2rcb_bp; /* XXX fix in L2ARC 2.0 */
usr/src/uts/common/fs/zfs/arc.c
8036
zio->io_bp = &zio->io_bp_copy; /* XXX fix in L2ARC 2.0 */
usr/src/uts/common/fs/zfs/arc.c
8038
valid_cksum = arc_cksum_is_equal(hdr, zio);
usr/src/uts/common/fs/zfs/arc.c
8046
tfm_error = l2arc_untransform(zio, cb);
usr/src/uts/common/fs/zfs/arc.c
8048
if (valid_cksum && tfm_error == 0 && zio->io_error == 0 &&
usr/src/uts/common/fs/zfs/arc.c
8051
zio->io_private = hdr;
usr/src/uts/common/fs/zfs/arc.c
8052
arc_read_done(zio);
usr/src/uts/common/fs/zfs/arc.c
8058
if (zio->io_error != 0) {
usr/src/uts/common/fs/zfs/arc.c
8061
zio->io_error = SET_ERROR(EIO);
usr/src/uts/common/fs/zfs/arc.c
8071
if (zio->io_waiter == NULL) {
usr/src/uts/common/fs/zfs/arc.c
8072
zio_t *pio = zio_unique_parent(zio);
usr/src/uts/common/fs/zfs/arc.c
8078
zio = zio_read(pio, zio->io_spa, zio->io_bp,
usr/src/uts/common/fs/zfs/arc.c
8079
abd, zio->io_size, arc_read_done,
usr/src/uts/common/fs/zfs/arc.c
8080
hdr, zio->io_priority, cb->l2rcb_flags,
usr/src/uts/common/fs/zfs/arc.c
8090
acb->acb_zio_head = zio;
usr/src/uts/common/fs/zfs/arc.c
8093
zio_nowait(zio);
usr/src/uts/common/fs/zfs/arc.c
8478
l2arc_blk_fetch_done(zio_t *zio)
usr/src/uts/common/fs/zfs/arc.c
8482
cb = zio->io_private;
usr/src/uts/common/fs/zfs/arc.c
9761
l2arc_log_blk_fetch_abort(zio_t *zio)
usr/src/uts/common/fs/zfs/arc.c
9763
(void) zio_wait(zio);
usr/src/uts/common/fs/zfs/dbuf.c
1001
ASSERT(zio == NULL || zio->io_error != 0);
usr/src/uts/common/fs/zfs/dbuf.c
1007
ASSERT(zio == NULL || zio->io_error == 0);
usr/src/uts/common/fs/zfs/dbuf.c
1020
ASSERT(zio == NULL || zio->io_error == 0);
usr/src/uts/common/fs/zfs/dbuf.c
1090
dbuf_read_impl(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags,
usr/src/uts/common/fs/zfs/dbuf.c
1227
(void) arc_read(zio, db->db_objset->os_spa, &bp,
usr/src/uts/common/fs/zfs/dbuf.c
1311
dbuf_read(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags)
usr/src/uts/common/fs/zfs/dbuf.c
1375
if (zio == NULL &&
usr/src/uts/common/fs/zfs/dbuf.c
1377
zio = zio_root(spa, NULL, NULL, ZIO_FLAG_CANFAIL);
usr/src/uts/common/fs/zfs/dbuf.c
1380
err = dbuf_read_impl(db, zio, flags, dblt, FTAG);
usr/src/uts/common/fs/zfs/dbuf.c
1399
err = zio_wait(zio);
usr/src/uts/common/fs/zfs/dbuf.c
1401
(void) zio_wait(zio);
usr/src/uts/common/fs/zfs/dbuf.c
1427
db, zio_t *, zio);
usr/src/uts/common/fs/zfs/dbuf.c
2625
dbuf_issue_final_prefetch_done(zio_t *zio, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/dbuf.c
2668
dbuf_prefetch_indirect_done(zio_t *zio, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/dbuf.c
2677
ASSERT(zio == NULL || zio->io_error != 0);
usr/src/uts/common/fs/zfs/dbuf.c
2680
ASSERT(zio == NULL || zio->io_error == 0);
usr/src/uts/common/fs/zfs/dbuf.c
2693
if (zio != NULL) {
usr/src/uts/common/fs/zfs/dbuf.c
2694
ASSERT3S(BP_GET_LEVEL(zio->io_bp), ==, dpa->dpa_curlevel);
usr/src/uts/common/fs/zfs/dbuf.c
2695
if (zio->io_flags & ZIO_FLAG_RAW_COMPRESS) {
usr/src/uts/common/fs/zfs/dbuf.c
2696
ASSERT3U(BP_GET_PSIZE(zio->io_bp), ==, zio->io_size);
usr/src/uts/common/fs/zfs/dbuf.c
2698
ASSERT3U(BP_GET_LSIZE(zio->io_bp), ==, zio->io_size);
usr/src/uts/common/fs/zfs/dbuf.c
2700
ASSERT3P(zio->io_spa, ==, dpa->dpa_spa);
usr/src/uts/common/fs/zfs/dbuf.c
3461
zio_t *zio;
usr/src/uts/common/fs/zfs/dbuf.c
3495
zio = dr->dr_zio;
usr/src/uts/common/fs/zfs/dbuf.c
3500
zio_nowait(zio);
usr/src/uts/common/fs/zfs/dbuf.c
3700
dbuf_write_ready(zio_t *zio, arc_buf_t *buf, void *vdb)
usr/src/uts/common/fs/zfs/dbuf.c
3704
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/dbuf.c
3705
blkptr_t *bp_orig = &zio->io_bp_orig;
usr/src/uts/common/fs/zfs/dbuf.c
3706
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/dbuf.c
3717
dnode_diduse_space(dn, delta - zio->io_prev_space_delta);
usr/src/uts/common/fs/zfs/dbuf.c
3718
zio->io_prev_space_delta = delta;
usr/src/uts/common/fs/zfs/dbuf.c
3798
dbuf_write_children_ready(zio_t *zio, arc_buf_t *buf, void *vdb)
usr/src/uts/common/fs/zfs/dbuf.c
3845
dbuf_write_physdone(zio_t *zio, arc_buf_t *buf, void *arg)
usr/src/uts/common/fs/zfs/dbuf.c
3854
ASSERT3U(dr->dr_txg, ==, zio->io_txg);
usr/src/uts/common/fs/zfs/dbuf.c
3862
delta = dr->dr_accounted / zio->io_phys_children;
usr/src/uts/common/fs/zfs/dbuf.c
3863
dsl_pool_undirty_space(dp, delta, zio->io_txg);
usr/src/uts/common/fs/zfs/dbuf.c
3868
dbuf_write_done(zio_t *zio, arc_buf_t *buf, void *vdb)
usr/src/uts/common/fs/zfs/dbuf.c
3871
blkptr_t *bp_orig = &zio->io_bp_orig;
usr/src/uts/common/fs/zfs/dbuf.c
3877
ASSERT0(zio->io_error);
usr/src/uts/common/fs/zfs/dbuf.c
3884
if (zio->io_flags & (ZIO_FLAG_IO_REWRITE | ZIO_FLAG_NOPWRITE)) {
usr/src/uts/common/fs/zfs/dbuf.c
3953
dbuf_write_nofill_ready(zio_t *zio)
usr/src/uts/common/fs/zfs/dbuf.c
3955
dbuf_write_ready(zio, NULL, zio->io_private);
usr/src/uts/common/fs/zfs/dbuf.c
3959
dbuf_write_nofill_done(zio_t *zio)
usr/src/uts/common/fs/zfs/dbuf.c
3961
dbuf_write_done(zio, NULL, zio->io_private);
usr/src/uts/common/fs/zfs/dbuf.c
3965
dbuf_write_override_ready(zio_t *zio)
usr/src/uts/common/fs/zfs/dbuf.c
3967
dbuf_dirty_record_t *dr = zio->io_private;
usr/src/uts/common/fs/zfs/dbuf.c
3970
dbuf_write_ready(zio, NULL, db);
usr/src/uts/common/fs/zfs/dbuf.c
3974
dbuf_write_override_done(zio_t *zio)
usr/src/uts/common/fs/zfs/dbuf.c
3976
dbuf_dirty_record_t *dr = zio->io_private;
usr/src/uts/common/fs/zfs/dbuf.c
3981
if (!BP_EQUAL(zio->io_bp, obp)) {
usr/src/uts/common/fs/zfs/dbuf.c
3983
dsl_free(spa_get_dsl(zio->io_spa), zio->io_txg, obp);
usr/src/uts/common/fs/zfs/dbuf.c
3987
dbuf_write_done(zio, NULL, db);
usr/src/uts/common/fs/zfs/dbuf.c
3989
if (zio->io_abd != NULL)
usr/src/uts/common/fs/zfs/dbuf.c
3990
abd_put(zio->io_abd);
usr/src/uts/common/fs/zfs/dbuf.c
4144
zio_t *zio;
usr/src/uts/common/fs/zfs/dbuf.c
4181
zio = parent->db_data_pending->dr_zio;
usr/src/uts/common/fs/zfs/dbuf.c
4190
zio = dn->dn_zio;
usr/src/uts/common/fs/zfs/dbuf.c
4195
ASSERT(zio);
usr/src/uts/common/fs/zfs/dbuf.c
4226
dr->dr_zio = zio_write(zio, os->os_spa, txg, &dr->dr_bp_copy,
usr/src/uts/common/fs/zfs/dbuf.c
4239
dr->dr_zio = zio_write(zio, os->os_spa, txg,
usr/src/uts/common/fs/zfs/dbuf.c
4257
dr->dr_zio = arc_write(zio, os->os_spa, txg,
usr/src/uts/common/fs/zfs/dbuf.c
986
dbuf_read_done(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/ddt.c
536
zio_t *zio = dde->dde_lead_zio[p];
usr/src/uts/common/fs/zfs/ddt.c
538
if (zio != NULL)
usr/src/uts/common/fs/zfs/ddt.c
539
refcnt += zio->io_parent_count; /* pending refs */
usr/src/uts/common/fs/zfs/ddt.c
954
ddt_repair_entry_done(zio_t *zio)
usr/src/uts/common/fs/zfs/ddt.c
956
ddt_entry_t *rdde = zio->io_private;
usr/src/uts/common/fs/zfs/ddt.c
968
zio_t *zio;
usr/src/uts/common/fs/zfs/ddt.c
971
zio = zio_null(rio, rio->io_spa, NULL,
usr/src/uts/common/fs/zfs/ddt.c
980
zio_nowait(zio_rewrite(zio, zio->io_spa, 0, &blk,
usr/src/uts/common/fs/zfs/ddt.c
982
ZIO_PRIORITY_SYNC_WRITE, ZIO_DDT_CHILD_FLAGS(zio), NULL));
usr/src/uts/common/fs/zfs/ddt.c
985
zio_nowait(zio);
usr/src/uts/common/fs/zfs/dmu.c
1824
dmu_sync_ready(zio_t *zio, arc_buf_t *buf, void *varg)
usr/src/uts/common/fs/zfs/dmu.c
1828
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/dmu.c
1830
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/dmu.c
1845
dmu_sync_late_arrival_ready(zio_t *zio)
usr/src/uts/common/fs/zfs/dmu.c
1847
dmu_sync_ready(zio, NULL, zio->io_private);
usr/src/uts/common/fs/zfs/dmu.c
1852
dmu_sync_done(zio_t *zio, arc_buf_t *buf, void *varg)
usr/src/uts/common/fs/zfs/dmu.c
1863
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/dmu.c
1869
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/dmu.c
1870
dr->dt.dl.dr_nopwrite = !!(zio->io_flags & ZIO_FLAG_NOPWRITE);
usr/src/uts/common/fs/zfs/dmu.c
1872
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/dmu.c
1873
blkptr_t *bp_orig = &zio->io_bp_orig;
usr/src/uts/common/fs/zfs/dmu.c
1878
ASSERT(zio->io_prop.zp_compress != ZIO_COMPRESS_OFF);
usr/src/uts/common/fs/zfs/dmu.c
1882
dr->dt.dl.dr_overridden_by = *zio->io_bp;
usr/src/uts/common/fs/zfs/dmu.c
1884
dr->dt.dl.dr_copies = zio->io_prop.zp_copies;
usr/src/uts/common/fs/zfs/dmu.c
1905
dsa->dsa_done(dsa->dsa_zgd, zio->io_error);
usr/src/uts/common/fs/zfs/dmu.c
1911
dmu_sync_late_arrival_done(zio_t *zio)
usr/src/uts/common/fs/zfs/dmu.c
1913
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/dmu.c
1914
dmu_sync_arg_t *dsa = zio->io_private;
usr/src/uts/common/fs/zfs/dmu.c
1915
blkptr_t *bp_orig = &zio->io_bp_orig;
usr/src/uts/common/fs/zfs/dmu.c
1918
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/dmu.c
1926
ASSERT(!(zio->io_flags & ZIO_FLAG_NOPWRITE));
usr/src/uts/common/fs/zfs/dmu.c
1928
ASSERT(zio->io_bp->blk_birth == zio->io_txg);
usr/src/uts/common/fs/zfs/dmu.c
1929
ASSERT(zio->io_txg > spa_syncing_txg(zio->io_spa));
usr/src/uts/common/fs/zfs/dmu.c
1930
zio_free(zio->io_spa, zio->io_txg, zio->io_bp);
usr/src/uts/common/fs/zfs/dmu.c
1936
dsa->dsa_done(dsa->dsa_zgd, zio->io_error);
usr/src/uts/common/fs/zfs/dmu.c
1938
abd_put(zio->io_abd);
usr/src/uts/common/fs/zfs/dmu.c
556
zio_t *zio;
usr/src/uts/common/fs/zfs/dmu.c
588
zio = zio_root(dn->dn_objset->os_spa, NULL, NULL, ZIO_FLAG_CANFAIL);
usr/src/uts/common/fs/zfs/dmu.c
595
zio_nowait(zio);
usr/src/uts/common/fs/zfs/dmu.c
601
(void) dbuf_read(db, zio, dbuf_flags);
usr/src/uts/common/fs/zfs/dmu.c
613
err = zio_wait(zio);
usr/src/uts/common/fs/zfs/dmu_objset.c
1594
dmu_objset_write_ready(zio_t *zio, arc_buf_t *abuf, void *arg)
usr/src/uts/common/fs/zfs/dmu_objset.c
1596
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/dmu_objset.c
1624
dmu_objset_write_done(zio_t *zio, arc_buf_t *abuf, void *arg)
usr/src/uts/common/fs/zfs/dmu_objset.c
1626
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/dmu_objset.c
1627
blkptr_t *bp_orig = &zio->io_bp_orig;
usr/src/uts/common/fs/zfs/dmu_objset.c
1630
if (zio->io_flags & ZIO_FLAG_IO_REWRITE) {
usr/src/uts/common/fs/zfs/dmu_objset.c
1672
zio_t *zio;
usr/src/uts/common/fs/zfs/dmu_objset.c
1716
zio = arc_write(pio, os->os_spa, tx->tx_txg,
usr/src/uts/common/fs/zfs/dmu_objset.c
1724
DMU_META_DNODE(os)->dn_zio = zio;
usr/src/uts/common/fs/zfs/dmu_objset.c
1731
DMU_USERUSED_DNODE(os)->dn_zio = zio;
usr/src/uts/common/fs/zfs/dmu_objset.c
1733
DMU_GROUPUSED_DNODE(os)->dn_zio = zio;
usr/src/uts/common/fs/zfs/dmu_objset.c
1739
DMU_PROJECTUSED_DNODE(os)->dn_zio = zio;
usr/src/uts/common/fs/zfs/dmu_objset.c
1794
zio_nowait(zio);
usr/src/uts/common/fs/zfs/dmu_tx.c
191
dmu_tx_check_ioerr(zio_t *zio, dnode_t *dn, int level, uint64_t blkid)
usr/src/uts/common/fs/zfs/dmu_tx.c
201
err = dbuf_read(db, zio, DB_RF_CANFAIL | DB_RF_NOPREFETCH);
usr/src/uts/common/fs/zfs/dmu_tx.c
239
zio_t *zio = zio_root(dn->dn_objset->os_spa,
usr/src/uts/common/fs/zfs/dmu_tx.c
245
err = dmu_tx_check_ioerr(zio, dn, 0, start);
usr/src/uts/common/fs/zfs/dmu_tx.c
255
err = dmu_tx_check_ioerr(zio, dn, 0, end);
usr/src/uts/common/fs/zfs/dmu_tx.c
266
err = dmu_tx_check_ioerr(zio, dn, 1, i);
usr/src/uts/common/fs/zfs/dmu_tx.c
273
err = zio_wait(zio);
usr/src/uts/common/fs/zfs/dmu_tx.c
409
zio_t *zio = zio_root(tx->tx_pool->dp_spa,
usr/src/uts/common/fs/zfs/dmu_tx.c
419
(void) zio_wait(zio);
usr/src/uts/common/fs/zfs/dmu_tx.c
426
err = dmu_tx_check_ioerr(zio, dn, 1, i);
usr/src/uts/common/fs/zfs/dmu_tx.c
429
(void) zio_wait(zio);
usr/src/uts/common/fs/zfs/dmu_tx.c
433
err = zio_wait(zio);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2101
zio_t *zio;
usr/src/uts/common/fs/zfs/dsl_crypt.c
2161
zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2162
dsl_dataset_sync(ds, zio, tx);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2163
VERIFY0(zio_wait(zio));
usr/src/uts/common/fs/zfs/dsl_dataset.c
1162
zio_t *zio;
usr/src/uts/common/fs/zfs/dsl_dataset.c
1168
zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
usr/src/uts/common/fs/zfs/dsl_dataset.c
1169
dsl_dataset_sync(ds, zio, tx);
usr/src/uts/common/fs/zfs/dsl_dataset.c
1170
VERIFY0(zio_wait(zio));
usr/src/uts/common/fs/zfs/dsl_dataset.c
1947
dsl_dataset_sync(dsl_dataset_t *ds, zio_t *zio, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/dsl_dataset.c
1975
dmu_objset_sync(ds->ds_objset, zio, tx);
usr/src/uts/common/fs/zfs/dsl_pool.c
551
zio_t *zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
usr/src/uts/common/fs/zfs/dsl_pool.c
552
dmu_objset_sync(dp->dp_meta_objset, zio, tx);
usr/src/uts/common/fs/zfs/dsl_pool.c
553
VERIFY0(zio_wait(zio));
usr/src/uts/common/fs/zfs/dsl_pool.c
600
zio_t *zio;
usr/src/uts/common/fs/zfs/dsl_pool.c
632
zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
usr/src/uts/common/fs/zfs/dsl_pool.c
641
dsl_dataset_sync(ds, zio, tx);
usr/src/uts/common/fs/zfs/dsl_pool.c
643
VERIFY0(zio_wait(zio));
usr/src/uts/common/fs/zfs/dsl_pool.c
683
zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
usr/src/uts/common/fs/zfs/dsl_pool.c
689
dsl_dataset_sync(ds, zio, tx);
usr/src/uts/common/fs/zfs/dsl_pool.c
702
VERIFY0(zio_wait(zio));
usr/src/uts/common/fs/zfs/dsl_scan.c
1581
dsl_scan_prefetch_cb(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/dsl_scan.c
3892
dsl_scan_scrub_done(zio_t *zio)
usr/src/uts/common/fs/zfs/dsl_scan.c
3894
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3895
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/dsl_scan.c
3896
dsl_scan_io_queue_t *queue = zio->io_private;
usr/src/uts/common/fs/zfs/dsl_scan.c
3898
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/dsl_scan.c
3914
if (zio->io_error && (zio->io_error != ECKSUM ||
usr/src/uts/common/fs/zfs/dsl_scan.c
3915
!(zio->io_flags & ZIO_FLAG_SPECULATIVE))) {
usr/src/uts/common/fs/zfs/metaslab.c
5508
zio_t *zio, int flags)
usr/src/uts/common/fs/zfs/metaslab.c
5529
zio);
usr/src/uts/common/fs/zfs/metaslab.c
5530
zio->io_flags |= ZIO_FLAG_IO_ALLOCATING;
usr/src/uts/common/fs/zfs/metaslab.c
5540
int allocator, zio_t *zio)
usr/src/uts/common/fs/zfs/metaslab.c
5544
zfs_refcount_remove_few(&mc->mc_alloc_slots[allocator], slots, zio);
usr/src/uts/common/fs/zfs/metaslab.c
5687
zio_alloc_list_t *zal, zio_t *zio, int allocator)
usr/src/uts/common/fs/zfs/metaslab.c
5715
DVA_GET_VDEV(&dva[d]), zio, flags,
usr/src/uts/common/fs/zfs/metaslab.c
5727
DVA_GET_VDEV(&dva[d]), zio, flags, allocator);
usr/src/uts/common/fs/zfs/mmp.c
389
mmp_write_done(zio_t *zio)
usr/src/uts/common/fs/zfs/mmp.c
391
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/mmp.c
392
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/mmp.c
393
mmp_thread_t *mts = zio->io_private;
usr/src/uts/common/fs/zfs/mmp.c
399
mmp_delay_update(spa, (zio->io_error == 0));
usr/src/uts/common/fs/zfs/mmp.c
407
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/mmp.c
519
zio_t *zio = zio_null(mmp->mmp_zio_root, spa, NULL, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/mmp.c
532
vdev_label_write(zio, vd, label, ub_abd, offset,
usr/src/uts/common/fs/zfs/mmp.c
542
zio_nowait(zio);
usr/src/uts/common/fs/zfs/spa.c
2075
spa_claim_notify(zio_t *zio)
usr/src/uts/common/fs/zfs/spa.c
2077
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/spa.c
2079
if (zio->io_error)
usr/src/uts/common/fs/zfs/spa.c
2083
if (spa->spa_claim_max_txg < zio->io_bp->blk_birth)
usr/src/uts/common/fs/zfs/spa.c
2084
spa->spa_claim_max_txg = zio->io_bp->blk_birth;
usr/src/uts/common/fs/zfs/spa.c
2094
spa_load_verify_done(zio_t *zio)
usr/src/uts/common/fs/zfs/spa.c
2096
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/spa.c
2097
spa_load_error_t *sle = zio->io_private;
usr/src/uts/common/fs/zfs/spa.c
2099
int error = zio->io_error;
usr/src/uts/common/fs/zfs/spa.c
2100
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/spa.c
2102
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/spa.c
7802
zio_t *zio = arg;
usr/src/uts/common/fs/zfs/spa.c
7804
zio_nowait(zio_free_sync(zio, zio->io_spa, dmu_tx_get_txg(tx), bp,
usr/src/uts/common/fs/zfs/spa.c
7805
zio->io_flags));
usr/src/uts/common/fs/zfs/spa.c
7816
zio_t *zio = zio_root(spa, NULL, NULL, 0);
usr/src/uts/common/fs/zfs/spa.c
7817
bplist_iterate(bpl, spa_free_sync_cb, zio, tx);
usr/src/uts/common/fs/zfs/spa.c
7818
VERIFY(zio_wait(zio) == 0);
usr/src/uts/common/fs/zfs/spa.c
7843
zio_t *zio = zio_root(spa, NULL, NULL, 0);
usr/src/uts/common/fs/zfs/spa.c
7845
spa_free_sync_cb, zio, tx), ==, 0);
usr/src/uts/common/fs/zfs/spa.c
7846
VERIFY0(zio_wait(zio));
usr/src/uts/common/fs/zfs/sys/arc.h
71
typedef void arc_read_done_func_t(zio_t *zio, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/sys/arc.h
73
typedef void arc_write_done_func_t(zio_t *zio, arc_buf_t *buf, void *priv);
usr/src/uts/common/fs/zfs/sys/dbuf.h
346
int dbuf_read(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags);
usr/src/uts/common/fs/zfs/sys/dmu.h
1051
int dmu_sync(struct zio *zio, uint64_t txg, dmu_sync_cb_t *done, zgd_t *zgd);
usr/src/uts/common/fs/zfs/sys/dmu.h
65
struct zio;
usr/src/uts/common/fs/zfs/sys/dmu_objset.h
232
void dmu_objset_sync(objset_t *os, zio_t *zio, dmu_tx_t *tx);
usr/src/uts/common/fs/zfs/sys/dnode.h
137
struct zio;
usr/src/uts/common/fs/zfs/sys/dsl_dataset.h
362
void dsl_dataset_sync(dsl_dataset_t *os, zio_t *zio, dmu_tx_t *tx);
usr/src/uts/common/fs/zfs/sys/spa.h
1031
const struct zbookmark_phys *zb, struct zio *zio, uint64_t stateoroffset,
usr/src/uts/common/fs/zfs/sys/spa.h
1034
zio_t *zio);
usr/src/uts/common/fs/zfs/sys/spa.h
61
typedef struct zio zio_t;
usr/src/uts/common/fs/zfs/sys/spa.h
907
extern void spa_claim_notify(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/vdev.h
106
extern void vdev_stat_update(zio_t *zio, uint64_t psize);
usr/src/uts/common/fs/zfs/sys/vdev.h
131
extern boolean_t vdev_accessible(vdev_t *vd, zio_t *zio);
usr/src/uts/common/fs/zfs/sys/vdev.h
136
extern boolean_t vdev_cache_read(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/vdev.h
137
extern void vdev_cache_write(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/vdev.h
142
extern zio_t *vdev_queue_io(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/vdev.h
143
extern void vdev_queue_io_done(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/vdev.h
144
extern void vdev_queue_change_io_priority(zio_t *zio, zio_priority_t priority);
usr/src/uts/common/fs/zfs/sys/vdev.h
181
extern void vdev_label_write(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t
usr/src/uts/common/fs/zfs/sys/vdev_impl.h
75
typedef void vdev_io_start_func_t(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/vdev_impl.h
76
typedef void vdev_io_done_func_t(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/vdev_raidz.h
35
struct zio;
usr/src/uts/common/fs/zfs/sys/vdev_raidz.h
44
struct raidz_map * vdev_raidz_map_alloc(struct zio *, uint64_t,
usr/src/uts/common/fs/zfs/sys/zil.h
408
struct lwb *lwb, zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
216
#define ZIO_DDT_CHILD_FLAGS(zio) \
usr/src/uts/common/fs/zfs/sys/zio.h
217
(((zio)->io_flags & ZIO_FLAG_DDT_INHERIT) | \
usr/src/uts/common/fs/zfs/sys/zio.h
220
#define ZIO_GANG_CHILD_FLAGS(zio) \
usr/src/uts/common/fs/zfs/sys/zio.h
221
(((zio)->io_flags & ZIO_FLAG_GANG_INHERIT) | \
usr/src/uts/common/fs/zfs/sys/zio.h
224
#define ZIO_VDEV_CHILD_FLAGS(zio) \
usr/src/uts/common/fs/zfs/sys/zio.h
225
(((zio)->io_flags & ZIO_FLAG_VDEV_INHERIT) | \
usr/src/uts/common/fs/zfs/sys/zio.h
260
typedef void zio_done_func_t(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
360
typedef void zio_vsd_cksum_report_f(zio_t *zio, zio_cksum_report_t *zcr,
usr/src/uts/common/fs/zfs/sys/zio.h
375
typedef zio_t *zio_gang_issue_func_t(zio_t *zio, blkptr_t *bp,
usr/src/uts/common/fs/zfs/sys/zio.h
378
typedef void zio_transform_func_t(zio_t *zio, struct abd *data, uint64_t size);
usr/src/uts/common/fs/zfs/sys/zio.h
388
typedef int zio_pipe_stage_t(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
530
extern void zio_write_override(zio_t *zio, blkptr_t *bp, int copies,
usr/src/uts/common/fs/zfs/sys/zio.h
562
extern void zio_flush(zio_t *zio, vdev_t *vd);
usr/src/uts/common/fs/zfs/sys/zio.h
563
extern void zio_shrink(zio_t *zio, uint64_t size);
usr/src/uts/common/fs/zfs/sys/zio.h
565
extern int zio_wait(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
566
extern void zio_nowait(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
567
extern void zio_execute(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
568
extern void zio_interrupt(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
569
extern void zio_delay_init(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
570
extern void zio_delay_interrupt(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
582
extern void zio_push_transform(zio_t *zio, struct abd *abd, uint64_t size,
usr/src/uts/common/fs/zfs/sys/zio.h
584
extern void zio_pop_transforms(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
588
extern zio_t *zio_vdev_child_io(zio_t *zio, blkptr_t *bp, vdev_t *vd,
usr/src/uts/common/fs/zfs/sys/zio.h
597
extern void zio_vdev_io_bypass(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
598
extern void zio_vdev_io_reissue(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
599
extern void zio_vdev_io_redone(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
603
extern void zio_checksum_verified(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
613
extern void zio_suspend(spa_t *spa, zio_t *zio, zio_suspend_reason_t);
usr/src/uts/common/fs/zfs/sys/zio.h
636
extern int zio_handle_fault_injection(zio_t *zio, int error);
usr/src/uts/common/fs/zfs/sys/zio.h
637
extern int zio_handle_device_injection(vdev_t *vd, zio_t *zio, int error);
usr/src/uts/common/fs/zfs/sys/zio.h
638
extern int zio_handle_label_injection(zio_t *zio, int error);
usr/src/uts/common/fs/zfs/sys/zio.h
639
extern void zio_handle_ignored_writes(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
640
extern hrtime_t zio_handle_io_delay(zio_t *zio);
usr/src/uts/common/fs/zfs/sys/zio.h
646
const zbookmark_phys_t *zb, struct zio *zio, uint64_t offset,
usr/src/uts/common/fs/zfs/sys/zio.h
656
const zbookmark_phys_t *zb, struct zio *zio, uint64_t offset,
usr/src/uts/common/fs/zfs/sys/zio_checksum.h
135
extern int zio_checksum_error(zio_t *zio, zio_bad_cksum_t *out);
usr/src/uts/common/fs/zfs/vdev.c
1351
vdev_probe_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev.c
1353
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev.c
1354
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev.c
1355
vdev_probe_stats_t *vps = zio->io_private;
usr/src/uts/common/fs/zfs/vdev.c
1359
if (zio->io_type == ZIO_TYPE_READ) {
usr/src/uts/common/fs/zfs/vdev.c
1360
if (zio->io_error == 0)
usr/src/uts/common/fs/zfs/vdev.c
1362
if (zio->io_error == 0 && spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/vdev.c
1364
zio->io_offset, zio->io_size, zio->io_abd,
usr/src/uts/common/fs/zfs/vdev.c
1368
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/vdev.c
1370
} else if (zio->io_type == ZIO_TYPE_WRITE) {
usr/src/uts/common/fs/zfs/vdev.c
1371
if (zio->io_error == 0)
usr/src/uts/common/fs/zfs/vdev.c
1373
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/vdev.c
1374
} else if (zio->io_type == ZIO_TYPE_NULL) {
usr/src/uts/common/fs/zfs/vdev.c
1382
zio->io_error = 0;
usr/src/uts/common/fs/zfs/vdev.c
1384
ASSERT(zio->io_error != 0);
usr/src/uts/common/fs/zfs/vdev.c
1388
zio->io_error = SET_ERROR(ENXIO);
usr/src/uts/common/fs/zfs/vdev.c
1392
ASSERT(vd->vdev_probe_zio == zio);
usr/src/uts/common/fs/zfs/vdev.c
1397
while ((pio = zio_walk_parents(zio, &zl)) != NULL)
usr/src/uts/common/fs/zfs/vdev.c
1413
vdev_probe(vdev_t *vd, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev.c
1424
if (zio && (zio->io_flags & ZIO_FLAG_PROBE))
usr/src/uts/common/fs/zfs/vdev.c
1471
if (zio != NULL) {
usr/src/uts/common/fs/zfs/vdev.c
1477
if (zio != NULL)
usr/src/uts/common/fs/zfs/vdev.c
1478
zio_add_child(zio, pio);
usr/src/uts/common/fs/zfs/vdev.c
1483
ASSERT(zio != NULL);
usr/src/uts/common/fs/zfs/vdev.c
1496
if (zio == NULL)
usr/src/uts/common/fs/zfs/vdev.c
3672
vdev_accessible(vdev_t *vd, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev.c
3674
ASSERT(zio->io_vd == vd);
usr/src/uts/common/fs/zfs/vdev.c
3679
if (zio->io_type == ZIO_TYPE_READ)
usr/src/uts/common/fs/zfs/vdev.c
3682
if (zio->io_type == ZIO_TYPE_WRITE)
usr/src/uts/common/fs/zfs/vdev.c
3897
vdev_stat_update(zio_t *zio, uint64_t psize)
usr/src/uts/common/fs/zfs/vdev.c
3899
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev.c
3901
vdev_t *vd = zio->io_vd ? zio->io_vd : rvd;
usr/src/uts/common/fs/zfs/vdev.c
3903
uint64_t txg = zio->io_txg;
usr/src/uts/common/fs/zfs/vdev.c
3906
zio_type_t type = zio->io_type;
usr/src/uts/common/fs/zfs/vdev.c
3907
int flags = zio->io_flags;
usr/src/uts/common/fs/zfs/vdev.c
3912
if (zio->io_gang_tree)
usr/src/uts/common/fs/zfs/vdev.c
3915
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/vdev.c
3933
ASSERT(vd == zio->io_vd);
usr/src/uts/common/fs/zfs/vdev.c
3961
(zio->io_priority < ZIO_PRIORITY_NUM_QUEUEABLE)) {
usr/src/uts/common/fs/zfs/vdev.c
3976
vsx->vsx_agg_histo[zio->io_priority]
usr/src/uts/common/fs/zfs/vdev.c
3977
[RQ_HISTO(zio->io_size)]++;
usr/src/uts/common/fs/zfs/vdev.c
3979
vsx->vsx_ind_histo[zio->io_priority]
usr/src/uts/common/fs/zfs/vdev.c
3980
[RQ_HISTO(zio->io_size)]++;
usr/src/uts/common/fs/zfs/vdev.c
3983
if (zio->io_delta && zio->io_delay) {
usr/src/uts/common/fs/zfs/vdev.c
3984
vsx->vsx_queue_histo[zio->io_priority]
usr/src/uts/common/fs/zfs/vdev.c
3985
[L_HISTO(zio->io_delta - zio->io_delay)]++;
usr/src/uts/common/fs/zfs/vdev.c
3987
[L_HISTO(zio->io_delay)]++;
usr/src/uts/common/fs/zfs/vdev.c
3989
[L_HISTO(zio->io_delta)]++;
usr/src/uts/common/fs/zfs/vdev.c
4006
if (zio->io_error == EIO &&
usr/src/uts/common/fs/zfs/vdev.c
4007
!(zio->io_flags & ZIO_FLAG_IO_RETRY))
usr/src/uts/common/fs/zfs/vdev.c
4015
if (zio->io_vd == NULL && (zio->io_flags & ZIO_FLAG_DONT_PROPAGATE))
usr/src/uts/common/fs/zfs/vdev.c
4020
if (zio->io_error == ECKSUM)
usr/src/uts/common/fs/zfs/vdev_cache.c
155
vdev_cache_allocate(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_cache.c
157
vdev_cache_t *vc = &zio->io_vd->vdev_cache;
usr/src/uts/common/fs/zfs/vdev_cache.c
158
uint64_t offset = P2ALIGN(zio->io_offset, VCBS);
usr/src/uts/common/fs/zfs/vdev_cache.c
191
vdev_cache_hit(vdev_cache_t *vc, vdev_cache_entry_t *ve, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_cache.c
193
uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS);
usr/src/uts/common/fs/zfs/vdev_cache.c
205
abd_copy_off(zio->io_abd, ve->ve_abd, 0, cache_phase, zio->io_size);
usr/src/uts/common/fs/zfs/vdev_cache.c
251
vdev_cache_read(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_cache.c
253
vdev_cache_t *vc = &zio->io_vd->vdev_cache;
usr/src/uts/common/fs/zfs/vdev_cache.c
255
uint64_t cache_offset = P2ALIGN(zio->io_offset, VCBS);
usr/src/uts/common/fs/zfs/vdev_cache.c
256
uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS);
usr/src/uts/common/fs/zfs/vdev_cache.c
259
ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ);
usr/src/uts/common/fs/zfs/vdev_cache.c
261
if (zio->io_flags & ZIO_FLAG_DONT_CACHE)
usr/src/uts/common/fs/zfs/vdev_cache.c
264
if (zio->io_size > zfs_vdev_cache_max)
usr/src/uts/common/fs/zfs/vdev_cache.c
270
if (P2BOUNDARY(zio->io_offset, zio->io_size, VCBS))
usr/src/uts/common/fs/zfs/vdev_cache.c
273
ASSERT3U(cache_phase + zio->io_size, <=, VCBS);
usr/src/uts/common/fs/zfs/vdev_cache.c
287
zio_vdev_io_bypass(zio);
usr/src/uts/common/fs/zfs/vdev_cache.c
288
zio_add_child(zio, fio);
usr/src/uts/common/fs/zfs/vdev_cache.c
294
vdev_cache_hit(vc, ve, zio);
usr/src/uts/common/fs/zfs/vdev_cache.c
295
zio_vdev_io_bypass(zio);
usr/src/uts/common/fs/zfs/vdev_cache.c
302
ve = vdev_cache_allocate(zio);
usr/src/uts/common/fs/zfs/vdev_cache.c
309
fio = zio_vdev_delegated_io(zio->io_vd, cache_offset,
usr/src/uts/common/fs/zfs/vdev_cache.c
314
zio_vdev_io_bypass(zio);
usr/src/uts/common/fs/zfs/vdev_cache.c
315
zio_add_child(zio, fio);
usr/src/uts/common/fs/zfs/vdev_cache.c
328
vdev_cache_write(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_cache.c
330
vdev_cache_t *vc = &zio->io_vd->vdev_cache;
usr/src/uts/common/fs/zfs/vdev_cache.c
332
uint64_t io_start = zio->io_offset;
usr/src/uts/common/fs/zfs/vdev_cache.c
333
uint64_t io_end = io_start + zio->io_size;
usr/src/uts/common/fs/zfs/vdev_cache.c
338
ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/vdev_cache.c
355
abd_copy_off(ve->ve_abd, zio->io_abd,
usr/src/uts/common/fs/zfs/vdev_disk.c
1000
zio_interrupt(zio);
usr/src/uts/common/fs/zfs/vdev_disk.c
1004
ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/vdev_disk.c
1005
zio->io_target_timestamp = zio_handle_io_delay(zio);
usr/src/uts/common/fs/zfs/vdev_disk.c
1009
vb->vb_io = zio;
usr/src/uts/common/fs/zfs/vdev_disk.c
1014
(zio->io_type == ZIO_TYPE_READ ? B_READ : B_WRITE);
usr/src/uts/common/fs/zfs/vdev_disk.c
1015
if (!(zio->io_flags & (ZIO_FLAG_IO_RETRY | ZIO_FLAG_TRYHARD)))
usr/src/uts/common/fs/zfs/vdev_disk.c
1017
bp->b_bcount = zio->io_size;
usr/src/uts/common/fs/zfs/vdev_disk.c
1019
if (zio->io_type == ZIO_TYPE_READ) {
usr/src/uts/common/fs/zfs/vdev_disk.c
1021
abd_borrow_buf(zio->io_abd, zio->io_size);
usr/src/uts/common/fs/zfs/vdev_disk.c
1024
abd_borrow_buf_copy(zio->io_abd, zio->io_size);
usr/src/uts/common/fs/zfs/vdev_disk.c
1027
bp->b_lblkno = lbtodb(zio->io_offset);
usr/src/uts/common/fs/zfs/vdev_disk.c
1028
bp->b_bufsize = zio->io_size;
usr/src/uts/common/fs/zfs/vdev_disk.c
1037
zio->io_error = ENXIO;
usr/src/uts/common/fs/zfs/vdev_disk.c
1038
zio_interrupt(zio);
usr/src/uts/common/fs/zfs/vdev_disk.c
1043
vdev_disk_io_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_disk.c
1045
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_disk.c
1053
if (zio->io_error == EIO && !vd->vdev_remove_wanted) {
usr/src/uts/common/fs/zfs/vdev_disk.c
1065
zfs_post_remove(zio->io_spa, vd);
usr/src/uts/common/fs/zfs/vdev_disk.c
1067
spa_async_request(zio->io_spa, SPA_ASYNC_REMOVE);
usr/src/uts/common/fs/zfs/vdev_disk.c
855
zio_t *zio = vb->vb_io;
usr/src/uts/common/fs/zfs/vdev_disk.c
862
zio->io_error = (geterror(bp) != 0 ? EIO : 0);
usr/src/uts/common/fs/zfs/vdev_disk.c
864
if (zio->io_error == 0 && bp->b_resid != 0)
usr/src/uts/common/fs/zfs/vdev_disk.c
865
zio->io_error = SET_ERROR(EIO);
usr/src/uts/common/fs/zfs/vdev_disk.c
867
if (zio->io_type == ZIO_TYPE_READ) {
usr/src/uts/common/fs/zfs/vdev_disk.c
868
abd_return_buf_copy(zio->io_abd, bp->b_un.b_addr, zio->io_size);
usr/src/uts/common/fs/zfs/vdev_disk.c
870
abd_return_buf(zio->io_abd, bp->b_un.b_addr, zio->io_size);
usr/src/uts/common/fs/zfs/vdev_disk.c
875
zio_delay_interrupt(zio);
usr/src/uts/common/fs/zfs/vdev_disk.c
880
vdev_disk_ioctl_free(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_disk.c
882
kmem_free(zio->io_vsd, sizeof (struct dk_callback));
usr/src/uts/common/fs/zfs/vdev_disk.c
893
zio_t *zio = zio_arg;
usr/src/uts/common/fs/zfs/vdev_disk.c
895
zio->io_error = error;
usr/src/uts/common/fs/zfs/vdev_disk.c
897
zio_interrupt(zio);
usr/src/uts/common/fs/zfs/vdev_disk.c
901
vdev_disk_io_start(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_disk.c
903
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_disk.c
916
zio->io_error = ENXIO;
usr/src/uts/common/fs/zfs/vdev_disk.c
917
zio_interrupt(zio);
usr/src/uts/common/fs/zfs/vdev_disk.c
921
switch (zio->io_type) {
usr/src/uts/common/fs/zfs/vdev_disk.c
925
zio->io_error = SET_ERROR(ENXIO);
usr/src/uts/common/fs/zfs/vdev_disk.c
926
zio_interrupt(zio);
usr/src/uts/common/fs/zfs/vdev_disk.c
930
switch (zio->io_cmd) {
usr/src/uts/common/fs/zfs/vdev_disk.c
938
zio->io_error = SET_ERROR(ENOTSUP);
usr/src/uts/common/fs/zfs/vdev_disk.c
942
zio->io_vsd = dkc = kmem_alloc(sizeof (*dkc), KM_SLEEP);
usr/src/uts/common/fs/zfs/vdev_disk.c
943
zio->io_vsd_ops = &vdev_disk_vsd_ops;
usr/src/uts/common/fs/zfs/vdev_disk.c
947
dkc->dkc_cookie = zio;
usr/src/uts/common/fs/zfs/vdev_disk.c
949
error = ldi_ioctl(dvd->vd_lh, zio->io_cmd,
usr/src/uts/common/fs/zfs/vdev_disk.c
961
zio->io_error = error;
usr/src/uts/common/fs/zfs/vdev_disk.c
966
zio->io_error = SET_ERROR(ENOTSUP);
usr/src/uts/common/fs/zfs/vdev_disk.c
969
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_disk.c
974
zio->io_error = SET_ERROR(ENOTSUP);
usr/src/uts/common/fs/zfs/vdev_disk.c
975
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_disk.c
979
ASSERT0(zio->io_trim_flags & ZIO_TRIM_SECURE);
usr/src/uts/common/fs/zfs/vdev_disk.c
986
dfl.dfl_exts[0].dfle_start = zio->io_offset;
usr/src/uts/common/fs/zfs/vdev_disk.c
987
dfl.dfl_exts[0].dfle_length = zio->io_size;
usr/src/uts/common/fs/zfs/vdev_disk.c
989
zio->io_error = ldi_ioctl(dvd->vd_lh, DKIOCFREE,
usr/src/uts/common/fs/zfs/vdev_disk.c
992
if (zio->io_error == ENOTSUP || zio->io_error == ENOTTY) {
usr/src/uts/common/fs/zfs/vdev_file.c
177
zio_t *zio = vb->vb_io;
usr/src/uts/common/fs/zfs/vdev_file.c
179
zio->io_error = (geterror(bp) != 0 ? EIO : 0);
usr/src/uts/common/fs/zfs/vdev_file.c
180
if (zio->io_error == 0 && bp->b_resid != 0)
usr/src/uts/common/fs/zfs/vdev_file.c
181
zio->io_error = SET_ERROR(ENOSPC);
usr/src/uts/common/fs/zfs/vdev_file.c
183
if (zio->io_type == ZIO_TYPE_READ) {
usr/src/uts/common/fs/zfs/vdev_file.c
184
abd_return_buf_copy(zio->io_abd, bp->b_un.b_addr, zio->io_size);
usr/src/uts/common/fs/zfs/vdev_file.c
186
abd_return_buf(zio->io_abd, bp->b_un.b_addr, zio->io_size);
usr/src/uts/common/fs/zfs/vdev_file.c
190
zio_delay_interrupt(zio);
usr/src/uts/common/fs/zfs/vdev_file.c
216
vdev_file_io_start(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_file.c
218
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_file.c
223
if (zio->io_type == ZIO_TYPE_IOCTL) {
usr/src/uts/common/fs/zfs/vdev_file.c
226
zio->io_error = SET_ERROR(ENXIO);
usr/src/uts/common/fs/zfs/vdev_file.c
227
zio_interrupt(zio);
usr/src/uts/common/fs/zfs/vdev_file.c
231
switch (zio->io_cmd) {
usr/src/uts/common/fs/zfs/vdev_file.c
233
zio->io_error = VOP_FSYNC(vf->vf_vnode, FSYNC | FDSYNC,
usr/src/uts/common/fs/zfs/vdev_file.c
237
zio->io_error = SET_ERROR(ENOTSUP);
usr/src/uts/common/fs/zfs/vdev_file.c
240
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_file.c
242
} else if (zio->io_type == ZIO_TYPE_TRIM) {
usr/src/uts/common/fs/zfs/vdev_file.c
245
ASSERT3U(zio->io_size, !=, 0);
usr/src/uts/common/fs/zfs/vdev_file.c
248
flck.l_start = zio->io_offset;
usr/src/uts/common/fs/zfs/vdev_file.c
249
flck.l_len = zio->io_size;
usr/src/uts/common/fs/zfs/vdev_file.c
252
zio->io_error = VOP_SPACE(vf->vf_vnode, F_FREESP, &flck,
usr/src/uts/common/fs/zfs/vdev_file.c
255
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_file.c
259
ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/vdev_file.c
260
zio->io_target_timestamp = zio_handle_io_delay(zio);
usr/src/uts/common/fs/zfs/vdev_file.c
264
vb->vb_io = zio;
usr/src/uts/common/fs/zfs/vdev_file.c
268
bp->b_flags = (zio->io_type == ZIO_TYPE_READ ? B_READ : B_WRITE);
usr/src/uts/common/fs/zfs/vdev_file.c
269
bp->b_bcount = zio->io_size;
usr/src/uts/common/fs/zfs/vdev_file.c
271
if (zio->io_type == ZIO_TYPE_READ) {
usr/src/uts/common/fs/zfs/vdev_file.c
273
abd_borrow_buf(zio->io_abd, zio->io_size);
usr/src/uts/common/fs/zfs/vdev_file.c
276
abd_borrow_buf_copy(zio->io_abd, zio->io_size);
usr/src/uts/common/fs/zfs/vdev_file.c
279
bp->b_lblkno = lbtodb(zio->io_offset);
usr/src/uts/common/fs/zfs/vdev_file.c
280
bp->b_bufsize = zio->io_size;
usr/src/uts/common/fs/zfs/vdev_file.c
290
vdev_file_io_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1160
vdev_indirect_child_io_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1162
zio_t *pio = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1165
pio->io_error = zio_worst_error(pio->io_error, zio->io_error);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1168
abd_put(zio->io_abd);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1179
zio_t *zio = arg;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1180
indirect_vsd_t *iv = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1221
vdev_indirect_read_split_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1223
indirect_child_t *ic = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1225
if (zio->io_error != 0) {
usr/src/uts/common/fs/zfs/vdev_indirect.c
1239
vdev_indirect_read_all(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1241
indirect_vsd_t *iv = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1243
ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1264
ic->ic_data = abd_alloc_sametype(zio->io_abd,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1268
zio_nowait(zio_vdev_child_io(zio, NULL,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1270
is->is_size, zio->io_type, zio->io_priority, 0,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1278
vdev_indirect_io_start(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1280
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1285
zio->io_vsd = iv;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1286
zio->io_vsd_ops = &vdev_indirect_vsd_ops;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1289
if (zio->io_type != ZIO_TYPE_READ) {
usr/src/uts/common/fs/zfs/vdev_indirect.c
1290
ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1295
ASSERT((zio->io_flags & (ZIO_FLAG_SELF_HEAL |
usr/src/uts/common/fs/zfs/vdev_indirect.c
1299
vdev_indirect_remap(zio->io_vd, zio->io_offset, zio->io_size,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1300
vdev_indirect_gather_splits, zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1303
if (first->is_size == zio->io_size) {
usr/src/uts/common/fs/zfs/vdev_indirect.c
1320
zio_nowait(zio_vdev_child_io(zio, zio->io_bp,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1322
abd_get_offset(zio->io_abd, 0),
usr/src/uts/common/fs/zfs/vdev_indirect.c
1323
zio->io_size, zio->io_type, zio->io_priority, 0,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1324
vdev_indirect_child_io_done, zio));
usr/src/uts/common/fs/zfs/vdev_indirect.c
1327
if (zio->io_type == ZIO_TYPE_READ &&
usr/src/uts/common/fs/zfs/vdev_indirect.c
1328
zio->io_flags & (ZIO_FLAG_SCRUB | ZIO_FLAG_RESILVER)) {
usr/src/uts/common/fs/zfs/vdev_indirect.c
1334
vdev_indirect_read_all(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1351
zio_nowait(zio_vdev_child_io(zio, NULL,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1353
abd_get_offset(zio->io_abd,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1355
is->is_size, zio->io_type,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1356
zio->io_priority, 0,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1357
vdev_indirect_child_io_done, zio));
usr/src/uts/common/fs/zfs/vdev_indirect.c
1362
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1369
vdev_indirect_checksum_error(zio_t *zio,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1374
if (zio->io_flags & ZIO_FLAG_SPECULATIVE)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1384
(void) zfs_ereport_post_checksum(zio->io_spa, vd, &zio->io_bookmark,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1385
zio, is->is_target_offset, is->is_size, good_abd, bad_abd, &zbc);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1399
vdev_indirect_repair(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1401
indirect_vsd_t *iv = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1405
if (!(zio->io_flags & (ZIO_FLAG_SCRUB | ZIO_FLAG_RESILVER)))
usr/src/uts/common/fs/zfs/vdev_indirect.c
1408
if (!spa_writeable(zio->io_spa))
usr/src/uts/common/fs/zfs/vdev_indirect.c
1422
zio_nowait(zio_vdev_child_io(zio, NULL,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1429
vdev_indirect_checksum_error(zio, is, ic);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1438
vdev_indirect_all_checksum_errors(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1440
indirect_vsd_t *iv = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1442
if (zio->io_flags & ZIO_FLAG_SPECULATIVE)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1459
(void) zfs_ereport_post_checksum(zio->io_spa, vd,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1460
&zio->io_bookmark, zio, is->is_target_offset,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1471
vdev_indirect_splits_checksum_validate(indirect_vsd_t *iv, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1481
abd_copy_off(zio->io_abd, is->is_good_child->ic_data,
usr/src/uts/common/fs/zfs/vdev_indirect.c
1485
return (zio_checksum_error(zio, &zbc));
usr/src/uts/common/fs/zfs/vdev_indirect.c
1496
vdev_indirect_splits_enumerate_all(indirect_vsd_t *iv, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1510
if (vdev_indirect_splits_checksum_validate(iv, zio) == 0)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1537
vdev_indirect_splits_enumerate_randomly(indirect_vsd_t *iv, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1556
if (vdev_indirect_splits_checksum_validate(iv, zio) == 0)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1570
vdev_indirect_splits_damage(indirect_vsd_t *iv, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1590
int error = vdev_indirect_splits_enumerate_randomly(iv, zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1688
vdev_indirect_reconstruct_io_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1690
indirect_vsd_t *iv = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1707
known_good = (vdev_indirect_splits_damage(iv, zio) == 0);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1748
zio->io_error = EIO;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1749
vdev_indirect_all_checksum_errors(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1750
zio_checksum_verified(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1758
error = vdev_indirect_splits_enumerate_all(iv, zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1760
error = vdev_indirect_splits_enumerate_randomly(iv, zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1765
zio->io_error = error;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1766
vdev_indirect_all_checksum_errors(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1773
ASSERT0(vdev_indirect_splits_checksum_validate(iv, zio));
usr/src/uts/common/fs/zfs/vdev_indirect.c
1774
vdev_indirect_repair(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1775
zio_checksum_verified(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1780
vdev_indirect_io_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
1782
indirect_vsd_t *iv = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1790
vdev_indirect_reconstruct_io_done(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1803
int ret = zio_checksum_error(zio, &zbc);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1805
zio_checksum_verified(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1814
vdev_indirect_read_all(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1816
zio_vdev_io_redone(zio);
usr/src/uts/common/fs/zfs/vdev_indirect.c
291
vdev_indirect_map_free(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_indirect.c
293
indirect_vsd_t *iv = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_initialize.c
152
vdev_initialize_cb(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_initialize.c
154
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_initialize.c
156
if (zio->io_error == ENXIO && !vdev_writeable(vd)) {
usr/src/uts/common/fs/zfs/vdev_initialize.c
163
&vd->vdev_initialize_offset[zio->io_txg & TXG_MASK];
usr/src/uts/common/fs/zfs/vdev_initialize.c
164
*off = MIN(*off, zio->io_offset);
usr/src/uts/common/fs/zfs/vdev_initialize.c
171
if (zio->io_error != 0)
usr/src/uts/common/fs/zfs/vdev_initialize.c
174
vd->vdev_initialize_bytes_done += zio->io_orig_size;
usr/src/uts/common/fs/zfs/vdev_label.c
1124
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1128
vdev_label_write(zio, vd, l, vp_abd,
usr/src/uts/common/fs/zfs/vdev_label.c
1137
vdev_label_write(zio, vd, l, bootenv,
usr/src/uts/common/fs/zfs/vdev_label.c
1141
vdev_label_write(zio, vd, l, ub_abd,
usr/src/uts/common/fs/zfs/vdev_label.c
1146
error = zio_wait(zio);
usr/src/uts/common/fs/zfs/vdev_label.c
1183
vdev_label_read_bootenv_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_label.c
1185
zio_t *rio = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_label.c
1188
ASSERT3U(zio->io_size, ==, VDEV_PAD_SIZE);
usr/src/uts/common/fs/zfs/vdev_label.c
1190
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/vdev_label.c
1194
*cbp = zio->io_abd;
usr/src/uts/common/fs/zfs/vdev_label.c
1196
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/vdev_label.c
1200
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/vdev_label.c
1205
vdev_label_read_bootenv_impl(zio_t *zio, vdev_t *vd, int flags)
usr/src/uts/common/fs/zfs/vdev_label.c
1208
vdev_label_read_bootenv_impl(zio, vd->vdev_child[c], flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1218
vdev_label_read(zio, vd, l,
usr/src/uts/common/fs/zfs/vdev_label.c
1221
vdev_label_read_bootenv_done, zio, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1238
zio_t *zio = zio_root(spa, NULL, &abd, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1239
vdev_label_read_bootenv_impl(zio, rvd, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1240
int err = zio_wait(zio);
usr/src/uts/common/fs/zfs/vdev_label.c
1295
zio_t *zio;
usr/src/uts/common/fs/zfs/vdev_label.c
1366
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1368
vdev_label_write(zio, vd, l, abd,
usr/src/uts/common/fs/zfs/vdev_label.c
1373
error = zio_wait(zio);
usr/src/uts/common/fs/zfs/vdev_label.c
1440
vdev_uberblock_load_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_label.c
1442
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_label.c
1443
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
1444
zio_t *rio = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_label.c
1445
uberblock_t *ub = abd_to_buf(zio->io_abd);
usr/src/uts/common/fs/zfs/vdev_label.c
1448
ASSERT3U(zio->io_size, ==, VDEV_UBERBLOCK_SIZE(vd));
usr/src/uts/common/fs/zfs/vdev_label.c
1450
if (zio->io_error == 0 && uberblock_verify(ub) == 0) {
usr/src/uts/common/fs/zfs/vdev_label.c
1466
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/vdev_label.c
1470
vdev_uberblock_load_impl(zio_t *zio, vdev_t *vd, int flags,
usr/src/uts/common/fs/zfs/vdev_label.c
1474
vdev_uberblock_load_impl(zio, vd->vdev_child[c], flags, cbp);
usr/src/uts/common/fs/zfs/vdev_label.c
1479
vdev_label_read(zio, vd, l,
usr/src/uts/common/fs/zfs/vdev_label.c
1483
vdev_uberblock_load_done, zio, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1498
zio_t *zio;
usr/src/uts/common/fs/zfs/vdev_label.c
1514
zio = zio_root(spa, NULL, &cb, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1515
vdev_uberblock_load_impl(zio, rvd, flags, &cb);
usr/src/uts/common/fs/zfs/vdev_label.c
1516
(void) zio_wait(zio);
usr/src/uts/common/fs/zfs/vdev_label.c
1546
vdev_uberblock_sync_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_label.c
1548
uint64_t *good_writes = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_label.c
1550
if (zio->io_error == 0 && zio->io_vd->vdev_top->vdev_ms_array != 0)
usr/src/uts/common/fs/zfs/vdev_label.c
1558
vdev_uberblock_sync(zio_t *zio, uint64_t *good_writes,
usr/src/uts/common/fs/zfs/vdev_label.c
1562
vdev_uberblock_sync(zio, good_writes,
usr/src/uts/common/fs/zfs/vdev_label.c
1581
vdev_label_write(zio, vd, l, ub_abd,
usr/src/uts/common/fs/zfs/vdev_label.c
1594
zio_t *zio;
usr/src/uts/common/fs/zfs/vdev_label.c
1597
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1600
vdev_uberblock_sync(zio, &good_writes, ub, svd[v], flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1602
(void) zio_wait(zio);
usr/src/uts/common/fs/zfs/vdev_label.c
1609
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1613
zio_flush(zio, svd[v]);
usr/src/uts/common/fs/zfs/vdev_label.c
1617
(void) zio_wait(zio);
usr/src/uts/common/fs/zfs/vdev_label.c
1626
vdev_label_sync_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_label.c
1628
uint64_t *good_writes = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_label.c
1630
if (zio->io_error == 0)
usr/src/uts/common/fs/zfs/vdev_label.c
1638
vdev_label_sync_top_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_label.c
1640
uint64_t *good_writes = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_label.c
1643
zio->io_error = SET_ERROR(EIO);
usr/src/uts/common/fs/zfs/vdev_label.c
1652
vdev_label_sync_ignore_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_label.c
1654
kmem_free(zio->io_private, sizeof (uint64_t));
usr/src/uts/common/fs/zfs/vdev_label.c
1661
vdev_label_sync(zio_t *zio, uint64_t *good_writes,
usr/src/uts/common/fs/zfs/vdev_label.c
1671
vdev_label_sync(zio, good_writes,
usr/src/uts/common/fs/zfs/vdev_label.c
1695
vdev_label_write(zio, vd, l, vp_abd,
usr/src/uts/common/fs/zfs/vdev_label.c
1712
zio_t *zio;
usr/src/uts/common/fs/zfs/vdev_label.c
1718
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1726
zio_t *vio = zio_null(zio, spa, NULL,
usr/src/uts/common/fs/zfs/vdev_label.c
1734
error = zio_wait(zio);
usr/src/uts/common/fs/zfs/vdev_label.c
1739
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1742
zio_flush(zio, vd);
usr/src/uts/common/fs/zfs/vdev_label.c
1744
(void) zio_wait(zio);
usr/src/uts/common/fs/zfs/vdev_label.c
1810
zio_t *zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1815
zio_flush(zio, vd);
usr/src/uts/common/fs/zfs/vdev_label.c
1817
(void) zio_wait(zio);
usr/src/uts/common/fs/zfs/vdev_label.c
188
vdev_label_read(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset,
usr/src/uts/common/fs/zfs/vdev_label.c
192
spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE ||
usr/src/uts/common/fs/zfs/vdev_label.c
193
spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE);
usr/src/uts/common/fs/zfs/vdev_label.c
196
zio_nowait(zio_read_phys(zio, vd,
usr/src/uts/common/fs/zfs/vdev_label.c
203
vdev_label_write(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset,
usr/src/uts/common/fs/zfs/vdev_label.c
207
spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE ||
usr/src/uts/common/fs/zfs/vdev_label.c
208
spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE);
usr/src/uts/common/fs/zfs/vdev_label.c
211
zio_nowait(zio_write_phys(zio, vd,
usr/src/uts/common/fs/zfs/vdev_label.c
754
zio_t *zio;
usr/src/uts/common/fs/zfs/vdev_label.c
773
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
775
vdev_label_read(zio, vd, l, vp_abd,
usr/src/uts/common/fs/zfs/vdev_label.c
779
if (zio_wait(zio) == 0 &&
usr/src/uts/common/fs/zfs/vdev_label.c
959
zio_t *zio;
usr/src/uts/common/fs/zfs/vdev_mirror.c
167
vdev_mirror_map_free(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_mirror.c
169
mirror_map_t *mm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_mirror.c
244
vdev_mirror_map_init(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_mirror.c
248
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_mirror.c
252
dva_t *dva = zio->io_bp->blk_dva;
usr/src/uts/common/fs/zfs/vdev_mirror.c
253
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_mirror.c
275
if ((zio->io_flags & ZIO_FLAG_SCRUB) &&
usr/src/uts/common/fs/zfs/vdev_mirror.c
276
!(zio->io_flags & ZIO_FLAG_IO_RETRY) &&
usr/src/uts/common/fs/zfs/vdev_mirror.c
282
c = BP_GET_NDVAS(zio->io_bp);
usr/src/uts/common/fs/zfs/vdev_mirror.c
290
ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ);
usr/src/uts/common/fs/zfs/vdev_mirror.c
293
if (zfs_dva_valid(spa, &dva[i], zio->io_bp))
usr/src/uts/common/fs/zfs/vdev_mirror.c
297
zio->io_vsd = NULL;
usr/src/uts/common/fs/zfs/vdev_mirror.c
298
zio->io_error = ENXIO;
usr/src/uts/common/fs/zfs/vdev_mirror.c
347
mc->mc_offset = zio->io_offset;
usr/src/uts/common/fs/zfs/vdev_mirror.c
351
zio->io_vsd = mm;
usr/src/uts/common/fs/zfs/vdev_mirror.c
352
zio->io_vsd_ops = &vdev_mirror_vsd_ops;
usr/src/uts/common/fs/zfs/vdev_mirror.c
403
vdev_mirror_child_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_mirror.c
405
mirror_child_t *mc = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_mirror.c
407
mc->mc_error = zio->io_error;
usr/src/uts/common/fs/zfs/vdev_mirror.c
413
vdev_mirror_scrub_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_mirror.c
415
mirror_child_t *mc = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_mirror.c
417
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/vdev_mirror.c
421
mutex_enter(&zio->io_lock);
usr/src/uts/common/fs/zfs/vdev_mirror.c
422
while ((pio = zio_walk_parents(zio, &zl)) != NULL) {
usr/src/uts/common/fs/zfs/vdev_mirror.c
424
ASSERT3U(zio->io_size, >=, pio->io_size);
usr/src/uts/common/fs/zfs/vdev_mirror.c
425
abd_copy(pio->io_abd, zio->io_abd, pio->io_size);
usr/src/uts/common/fs/zfs/vdev_mirror.c
428
mutex_exit(&zio->io_lock);
usr/src/uts/common/fs/zfs/vdev_mirror.c
431
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/vdev_mirror.c
433
mc->mc_error = zio->io_error;
usr/src/uts/common/fs/zfs/vdev_mirror.c
446
vdev_mirror_dva_select(zio_t *zio, int p)
usr/src/uts/common/fs/zfs/vdev_mirror.c
448
dva_t *dva = zio->io_bp->blk_dva;
usr/src/uts/common/fs/zfs/vdev_mirror.c
449
mirror_map_t *mm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_mirror.c
463
vdev_mirror_preferred_child_randomize(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_mirror.c
465
mirror_map_t *mm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_mirror.c
470
return (vdev_mirror_dva_select(zio, p));
usr/src/uts/common/fs/zfs/vdev_mirror.c
479
p = (zio->io_offset >> vdev_mirror_shift) % mm->mm_preferred_cnt;
usr/src/uts/common/fs/zfs/vdev_mirror.c
491
vdev_mirror_child_select(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_mirror.c
493
mirror_map_t *mm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_mirror.c
494
uint64_t txg = zio->io_txg;
usr/src/uts/common/fs/zfs/vdev_mirror.c
497
ASSERT(zio->io_bp == NULL || BP_PHYSICAL_BIRTH(zio->io_bp) == txg);
usr/src/uts/common/fs/zfs/vdev_mirror.c
541
return (vdev_mirror_preferred_child_randomize(zio));
usr/src/uts/common/fs/zfs/vdev_mirror.c
560
vdev_mirror_io_start(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_mirror.c
566
mm = vdev_mirror_map_init(zio);
usr/src/uts/common/fs/zfs/vdev_mirror.c
569
ASSERT(!spa_trust_config(zio->io_spa));
usr/src/uts/common/fs/zfs/vdev_mirror.c
570
ASSERT(zio->io_type == ZIO_TYPE_READ);
usr/src/uts/common/fs/zfs/vdev_mirror.c
571
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_mirror.c
575
if (zio->io_type == ZIO_TYPE_READ) {
usr/src/uts/common/fs/zfs/vdev_mirror.c
576
if (zio->io_bp != NULL &&
usr/src/uts/common/fs/zfs/vdev_mirror.c
577
(zio->io_flags & ZIO_FLAG_SCRUB) && !mm->mm_resilvering) {
usr/src/uts/common/fs/zfs/vdev_mirror.c
588
zio_nowait(zio_vdev_child_io(zio, zio->io_bp,
usr/src/uts/common/fs/zfs/vdev_mirror.c
590
abd_alloc_sametype(zio->io_abd,
usr/src/uts/common/fs/zfs/vdev_mirror.c
591
zio->io_size), zio->io_size,
usr/src/uts/common/fs/zfs/vdev_mirror.c
592
zio->io_type, zio->io_priority, 0,
usr/src/uts/common/fs/zfs/vdev_mirror.c
595
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_mirror.c
601
c = vdev_mirror_child_select(zio);
usr/src/uts/common/fs/zfs/vdev_mirror.c
604
ASSERT(zio->io_type == ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/vdev_mirror.c
615
zio_nowait(zio_vdev_child_io(zio, zio->io_bp,
usr/src/uts/common/fs/zfs/vdev_mirror.c
616
mc->mc_vd, mc->mc_offset, zio->io_abd, zio->io_size,
usr/src/uts/common/fs/zfs/vdev_mirror.c
617
zio->io_type, zio->io_priority, 0,
usr/src/uts/common/fs/zfs/vdev_mirror.c
622
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_mirror.c
640
vdev_mirror_io_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_mirror.c
642
mirror_map_t *mm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_mirror.c
662
if (zio->io_type == ZIO_TYPE_WRITE) {
usr/src/uts/common/fs/zfs/vdev_mirror.c
687
if (good_copies == 0 || zio->io_vd == NULL)
usr/src/uts/common/fs/zfs/vdev_mirror.c
688
zio->io_error = vdev_mirror_worst_error(mm);
usr/src/uts/common/fs/zfs/vdev_mirror.c
693
ASSERT(zio->io_type == ZIO_TYPE_READ);
usr/src/uts/common/fs/zfs/vdev_mirror.c
699
if (good_copies == 0 && (c = vdev_mirror_child_select(zio)) != -1) {
usr/src/uts/common/fs/zfs/vdev_mirror.c
702
zio_vdev_io_redone(zio);
usr/src/uts/common/fs/zfs/vdev_mirror.c
703
zio_nowait(zio_vdev_child_io(zio, zio->io_bp,
usr/src/uts/common/fs/zfs/vdev_mirror.c
704
mc->mc_vd, mc->mc_offset, zio->io_abd, zio->io_size,
usr/src/uts/common/fs/zfs/vdev_mirror.c
705
ZIO_TYPE_READ, zio->io_priority, 0,
usr/src/uts/common/fs/zfs/vdev_mirror.c
712
zio->io_error = vdev_mirror_worst_error(mm);
usr/src/uts/common/fs/zfs/vdev_mirror.c
713
ASSERT(zio->io_error != 0);
usr/src/uts/common/fs/zfs/vdev_mirror.c
716
if (good_copies && spa_writeable(zio->io_spa) &&
usr/src/uts/common/fs/zfs/vdev_mirror.c
718
(zio->io_flags & ZIO_FLAG_RESILVER) ||
usr/src/uts/common/fs/zfs/vdev_mirror.c
719
((zio->io_flags & ZIO_FLAG_SCRUB) && mm->mm_resilvering))) {
usr/src/uts/common/fs/zfs/vdev_mirror.c
749
if (!(zio->io_flags & ZIO_FLAG_SCRUB) &&
usr/src/uts/common/fs/zfs/vdev_mirror.c
752
zio->io_txg, 1))
usr/src/uts/common/fs/zfs/vdev_mirror.c
757
zio_nowait(zio_vdev_child_io(zio, zio->io_bp,
usr/src/uts/common/fs/zfs/vdev_mirror.c
759
zio->io_abd, zio->io_size,
usr/src/uts/common/fs/zfs/vdev_missing.c
71
vdev_missing_io_start(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_missing.c
73
zio->io_error = SET_ERROR(ENOTSUP);
usr/src/uts/common/fs/zfs/vdev_missing.c
74
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_missing.c
79
vdev_missing_io_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_queue.c
266
sizeof (zio_t), offsetof(struct zio, io_queue_node));
usr/src/uts/common/fs/zfs/vdev_queue.c
269
offsetof(struct zio, io_offset_node));
usr/src/uts/common/fs/zfs/vdev_queue.c
272
offsetof(struct zio, io_offset_node));
usr/src/uts/common/fs/zfs/vdev_queue.c
275
offsetof(struct zio, io_offset_node));
usr/src/uts/common/fs/zfs/vdev_queue.c
294
sizeof (zio_t), offsetof(struct zio, io_queue_node));
usr/src/uts/common/fs/zfs/vdev_queue.c
316
vdev_queue_io_add(vdev_queue_t *vq, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_queue.c
318
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
320
ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE);
usr/src/uts/common/fs/zfs/vdev_queue.c
321
avl_add(vdev_queue_class_tree(vq, zio->io_priority), zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
322
avl_add(vdev_queue_type_tree(vq, zio->io_type), zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
325
spa->spa_queue_stats[zio->io_priority].spa_queued++;
usr/src/uts/common/fs/zfs/vdev_queue.c
332
vdev_queue_io_remove(vdev_queue_t *vq, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_queue.c
334
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
336
ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE);
usr/src/uts/common/fs/zfs/vdev_queue.c
337
avl_remove(vdev_queue_class_tree(vq, zio->io_priority), zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
338
avl_remove(vdev_queue_type_tree(vq, zio->io_type), zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
341
ASSERT3U(spa->spa_queue_stats[zio->io_priority].spa_queued, >, 0);
usr/src/uts/common/fs/zfs/vdev_queue.c
342
spa->spa_queue_stats[zio->io_priority].spa_queued--;
usr/src/uts/common/fs/zfs/vdev_queue.c
349
vdev_queue_pending_add(vdev_queue_t *vq, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_queue.c
351
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
353
ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE);
usr/src/uts/common/fs/zfs/vdev_queue.c
354
vq->vq_class[zio->io_priority].vqc_active++;
usr/src/uts/common/fs/zfs/vdev_queue.c
355
avl_add(&vq->vq_active_tree, zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
358
spa->spa_queue_stats[zio->io_priority].spa_active++;
usr/src/uts/common/fs/zfs/vdev_queue.c
365
vdev_queue_pending_remove(vdev_queue_t *vq, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_queue.c
367
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
369
ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE);
usr/src/uts/common/fs/zfs/vdev_queue.c
370
vq->vq_class[zio->io_priority].vqc_active--;
usr/src/uts/common/fs/zfs/vdev_queue.c
371
avl_remove(&vq->vq_active_tree, zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
374
ASSERT3U(spa->spa_queue_stats[zio->io_priority].spa_active, >, 0);
usr/src/uts/common/fs/zfs/vdev_queue.c
375
spa->spa_queue_stats[zio->io_priority].spa_active--;
usr/src/uts/common/fs/zfs/vdev_queue.c
380
if (zio->io_type == ZIO_TYPE_READ) {
usr/src/uts/common/fs/zfs/vdev_queue.c
382
ksio->nread += zio->io_size;
usr/src/uts/common/fs/zfs/vdev_queue.c
383
} else if (zio->io_type == ZIO_TYPE_WRITE) {
usr/src/uts/common/fs/zfs/vdev_queue.c
385
ksio->nwritten += zio->io_size;
usr/src/uts/common/fs/zfs/vdev_queue.c
541
vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_queue.c
548
avl_tree_t *t = vdev_queue_type_tree(vq, zio->io_type);
usr/src/uts/common/fs/zfs/vdev_queue.c
549
enum zio_flag flags = zio->io_flags & ZIO_FLAG_AGG_INHERIT;
usr/src/uts/common/fs/zfs/vdev_queue.c
551
if (zio->io_flags & ZIO_FLAG_DONT_AGGREGATE)
usr/src/uts/common/fs/zfs/vdev_queue.c
558
if (zio->io_type == ZIO_TYPE_TRIM && !zfs_vdev_aggregate_trim)
usr/src/uts/common/fs/zfs/vdev_queue.c
561
first = last = zio;
usr/src/uts/common/fs/zfs/vdev_queue.c
563
if (zio->io_type == ZIO_TYPE_READ)
usr/src/uts/common/fs/zfs/vdev_queue.c
589
dio->io_type == zio->io_type) {
usr/src/uts/common/fs/zfs/vdev_queue.c
614
dio->io_type == zio->io_type) {
usr/src/uts/common/fs/zfs/vdev_queue.c
630
if (zio->io_type == ZIO_TYPE_WRITE && mandatory != NULL) {
usr/src/uts/common/fs/zfs/vdev_queue.c
669
zio->io_priority, flags | ZIO_FLAG_DONT_CACHE | ZIO_FLAG_DONT_QUEUE,
usr/src/uts/common/fs/zfs/vdev_queue.c
709
zio_t *zio, *aio;
usr/src/uts/common/fs/zfs/vdev_queue.c
735
zio = avl_nearest(tree, idx, AVL_AFTER);
usr/src/uts/common/fs/zfs/vdev_queue.c
736
if (zio == NULL)
usr/src/uts/common/fs/zfs/vdev_queue.c
737
zio = avl_first(tree);
usr/src/uts/common/fs/zfs/vdev_queue.c
738
ASSERT3U(zio->io_priority, ==, p);
usr/src/uts/common/fs/zfs/vdev_queue.c
740
aio = vdev_queue_aggregate(vq, zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
742
zio = aio;
usr/src/uts/common/fs/zfs/vdev_queue.c
744
vdev_queue_io_remove(vq, zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
752
if (zio->io_flags & ZIO_FLAG_NODATA) {
usr/src/uts/common/fs/zfs/vdev_queue.c
754
zio_vdev_io_bypass(zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
755
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
760
vdev_queue_pending_add(vq, zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
761
vq->vq_last_offset = zio->io_offset + zio->io_size;
usr/src/uts/common/fs/zfs/vdev_queue.c
763
return (zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
767
vdev_queue_io(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_queue.c
769
vdev_queue_t *vq = &zio->io_vd->vdev_queue;
usr/src/uts/common/fs/zfs/vdev_queue.c
772
if (zio->io_flags & ZIO_FLAG_DONT_QUEUE)
usr/src/uts/common/fs/zfs/vdev_queue.c
773
return (zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
779
if (zio->io_type == ZIO_TYPE_READ) {
usr/src/uts/common/fs/zfs/vdev_queue.c
780
ASSERT(zio->io_priority != ZIO_PRIORITY_TRIM);
usr/src/uts/common/fs/zfs/vdev_queue.c
782
if (zio->io_priority != ZIO_PRIORITY_SYNC_READ &&
usr/src/uts/common/fs/zfs/vdev_queue.c
783
zio->io_priority != ZIO_PRIORITY_ASYNC_READ &&
usr/src/uts/common/fs/zfs/vdev_queue.c
784
zio->io_priority != ZIO_PRIORITY_SCRUB &&
usr/src/uts/common/fs/zfs/vdev_queue.c
785
zio->io_priority != ZIO_PRIORITY_REMOVAL &&
usr/src/uts/common/fs/zfs/vdev_queue.c
786
zio->io_priority != ZIO_PRIORITY_INITIALIZING) {
usr/src/uts/common/fs/zfs/vdev_queue.c
787
zio->io_priority = ZIO_PRIORITY_ASYNC_READ;
usr/src/uts/common/fs/zfs/vdev_queue.c
789
} else if (zio->io_type == ZIO_TYPE_WRITE) {
usr/src/uts/common/fs/zfs/vdev_queue.c
790
ASSERT(zio->io_priority != ZIO_PRIORITY_TRIM);
usr/src/uts/common/fs/zfs/vdev_queue.c
792
if (zio->io_priority != ZIO_PRIORITY_SYNC_WRITE &&
usr/src/uts/common/fs/zfs/vdev_queue.c
793
zio->io_priority != ZIO_PRIORITY_ASYNC_WRITE &&
usr/src/uts/common/fs/zfs/vdev_queue.c
794
zio->io_priority != ZIO_PRIORITY_REMOVAL &&
usr/src/uts/common/fs/zfs/vdev_queue.c
795
zio->io_priority != ZIO_PRIORITY_INITIALIZING) {
usr/src/uts/common/fs/zfs/vdev_queue.c
796
zio->io_priority = ZIO_PRIORITY_ASYNC_WRITE;
usr/src/uts/common/fs/zfs/vdev_queue.c
799
ASSERT(zio->io_type == ZIO_TYPE_TRIM);
usr/src/uts/common/fs/zfs/vdev_queue.c
800
ASSERT(zio->io_priority == ZIO_PRIORITY_TRIM);
usr/src/uts/common/fs/zfs/vdev_queue.c
803
zio->io_flags |= ZIO_FLAG_DONT_CACHE | ZIO_FLAG_DONT_QUEUE;
usr/src/uts/common/fs/zfs/vdev_queue.c
806
zio->io_timestamp = gethrtime();
usr/src/uts/common/fs/zfs/vdev_queue.c
807
vdev_queue_io_add(vq, zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
823
vdev_queue_io_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_queue.c
825
vdev_queue_t *vq = &zio->io_vd->vdev_queue;
usr/src/uts/common/fs/zfs/vdev_queue.c
830
vdev_queue_pending_remove(vq, zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
832
zio->io_delta = gethrtime() - zio->io_timestamp;
usr/src/uts/common/fs/zfs/vdev_queue.c
850
vdev_queue_change_io_priority(zio_t *zio, zio_priority_t priority)
usr/src/uts/common/fs/zfs/vdev_queue.c
852
vdev_queue_t *vq = &zio->io_vd->vdev_queue;
usr/src/uts/common/fs/zfs/vdev_queue.c
861
if (zio->io_priority == ZIO_PRIORITY_NOW)
usr/src/uts/common/fs/zfs/vdev_queue.c
864
ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE);
usr/src/uts/common/fs/zfs/vdev_queue.c
867
if (zio->io_type == ZIO_TYPE_READ) {
usr/src/uts/common/fs/zfs/vdev_queue.c
873
ASSERT(zio->io_type == ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/vdev_queue.c
888
tree = vdev_queue_class_tree(vq, zio->io_priority);
usr/src/uts/common/fs/zfs/vdev_queue.c
889
if (avl_find(tree, zio, NULL) == zio) {
usr/src/uts/common/fs/zfs/vdev_queue.c
890
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
891
zio_priority_t oldpri = zio->io_priority;
usr/src/uts/common/fs/zfs/vdev_queue.c
893
avl_remove(vdev_queue_class_tree(vq, zio->io_priority), zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
894
zio->io_priority = priority;
usr/src/uts/common/fs/zfs/vdev_queue.c
895
avl_add(vdev_queue_class_tree(vq, zio->io_priority), zio);
usr/src/uts/common/fs/zfs/vdev_queue.c
900
spa->spa_queue_stats[zio->io_priority].spa_queued++;
usr/src/uts/common/fs/zfs/vdev_queue.c
902
} else if (avl_find(&vq->vq_active_tree, zio, NULL) != zio) {
usr/src/uts/common/fs/zfs/vdev_queue.c
903
zio->io_priority = priority;
usr/src/uts/common/fs/zfs/vdev_raidz.c
162
vdev_raidz_map_free_vsd(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_raidz.c
164
raidz_map_t *rm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1713
zio_t *zio = kmem_zalloc(sizeof (zio_t), KM_SLEEP);
usr/src/uts/common/fs/zfs/vdev_raidz.c
1714
zio->io_offset = origoffset;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1715
zio->io_size = SPA_OLD_MAXBLOCKSIZE;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1716
zio->io_abd = abd_get_from_buf(data - (offset - origoffset),
usr/src/uts/common/fs/zfs/vdev_raidz.c
1719
rm = vdev_raidz_map_alloc(zio, tvd->vdev_ashift, vd->vdev_children,
usr/src/uts/common/fs/zfs/vdev_raidz.c
1763
abd_put(zio->io_abd);
usr/src/uts/common/fs/zfs/vdev_raidz.c
1764
kmem_free(zio, sizeof (zio_t));
usr/src/uts/common/fs/zfs/vdev_raidz.c
1787
vdev_raidz_child_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_raidz.c
1789
raidz_col_t *rc = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1791
rc->rc_error = zio->io_error;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1797
vdev_raidz_io_verify(zio_t *zio, raidz_map_t *rm, int col)
usr/src/uts/common/fs/zfs/vdev_raidz.c
1800
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1804
logical_rs.rs_start = zio->io_offset;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1806
vdev_raidz_asize(zio->io_vd, zio->io_size);
usr/src/uts/common/fs/zfs/vdev_raidz.c
1847
vdev_raidz_io_start(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_raidz.c
1849
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1856
rm = vdev_raidz_map_alloc(zio, tvd->vdev_ashift, vd->vdev_children,
usr/src/uts/common/fs/zfs/vdev_raidz.c
1859
zio->io_vsd = rm;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1860
zio->io_vsd_ops = &vdev_raidz_vsd_ops;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1862
ASSERT3U(rm->rm_asize, ==, vdev_psize_to_asize(vd, zio->io_size));
usr/src/uts/common/fs/zfs/vdev_raidz.c
1864
if (zio->io_type == ZIO_TYPE_WRITE) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
1874
vdev_raidz_io_verify(zio, rm, c);
usr/src/uts/common/fs/zfs/vdev_raidz.c
1876
zio_nowait(zio_vdev_child_io(zio, NULL, cvd,
usr/src/uts/common/fs/zfs/vdev_raidz.c
1878
zio->io_type, zio->io_priority, 0,
usr/src/uts/common/fs/zfs/vdev_raidz.c
1892
zio_nowait(zio_vdev_child_io(zio, NULL, cvd,
usr/src/uts/common/fs/zfs/vdev_raidz.c
1895
zio->io_type, zio->io_priority,
usr/src/uts/common/fs/zfs/vdev_raidz.c
1899
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_raidz.c
1903
ASSERT(zio->io_type == ZIO_TYPE_READ);
usr/src/uts/common/fs/zfs/vdev_raidz.c
1922
if (vdev_dtl_contains(cvd, DTL_MISSING, zio->io_txg, 1)) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
1932
(zio->io_flags & (ZIO_FLAG_SCRUB | ZIO_FLAG_RESILVER))) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
1933
zio_nowait(zio_vdev_child_io(zio, NULL, cvd,
usr/src/uts/common/fs/zfs/vdev_raidz.c
1935
zio->io_type, zio->io_priority, 0,
usr/src/uts/common/fs/zfs/vdev_raidz.c
1940
zio_execute(zio);
usr/src/uts/common/fs/zfs/vdev_raidz.c
1948
raidz_checksum_error(zio_t *zio, raidz_col_t *rc, abd_t *bad_data)
usr/src/uts/common/fs/zfs/vdev_raidz.c
1950
vdev_t *vd = zio->io_vd->vdev_child[rc->rc_devidx];
usr/src/uts/common/fs/zfs/vdev_raidz.c
1952
if (!(zio->io_flags & ZIO_FLAG_SPECULATIVE)) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
1954
raidz_map_t *rm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1963
(void) zfs_ereport_post_checksum(zio->io_spa, vd,
usr/src/uts/common/fs/zfs/vdev_raidz.c
1964
&zio->io_bookmark, zio, rc->rc_offset, rc->rc_size,
usr/src/uts/common/fs/zfs/vdev_raidz.c
1974
raidz_checksum_verify(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_raidz.c
1977
raidz_map_t *rm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_raidz.c
1979
int ret = zio_checksum_error(zio, &zbc);
usr/src/uts/common/fs/zfs/vdev_raidz.c
1993
raidz_parity_verify(zio_t *zio, raidz_map_t *rm)
usr/src/uts/common/fs/zfs/vdev_raidz.c
1999
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/vdev_raidz.c
2000
enum zio_checksum checksum = (bp == NULL ? zio->io_prop.zp_checksum :
usr/src/uts/common/fs/zfs/vdev_raidz.c
2021
raidz_checksum_error(zio, rc, orig[c]);
usr/src/uts/common/fs/zfs/vdev_raidz.c
2051
vdev_raidz_combrec(zio_t *zio, int total_errors, int data_errors)
usr/src/uts/common/fs/zfs/vdev_raidz.c
2053
raidz_map_t *rm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_raidz.c
2135
if (raidz_checksum_verify(zio) == 0) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
2142
raidz_checksum_error(zio, rc,
usr/src/uts/common/fs/zfs/vdev_raidz.c
2225
vdev_raidz_io_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_raidz.c
2227
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_raidz.c
2229
raidz_map_t *rm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_raidz.c
2240
ASSERT(zio->io_bp != NULL); /* XXX need to add code to enforce this */
usr/src/uts/common/fs/zfs/vdev_raidz.c
2265
if (zio->io_type == ZIO_TYPE_WRITE) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
2278
zio->io_error = vdev_raidz_worst_error(rm);
usr/src/uts/common/fs/zfs/vdev_raidz.c
2283
ASSERT(zio->io_type == ZIO_TYPE_READ);
usr/src/uts/common/fs/zfs/vdev_raidz.c
2303
if (raidz_checksum_verify(zio) == 0) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
2314
(zio->io_flags & ZIO_FLAG_RESILVER)) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
2315
n = raidz_parity_verify(zio, rm);
usr/src/uts/common/fs/zfs/vdev_raidz.c
2349
if (raidz_checksum_verify(zio) == 0) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
2364
(zio->io_flags & ZIO_FLAG_RESILVER)) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
2365
n = raidz_parity_verify(zio, rm);
usr/src/uts/common/fs/zfs/vdev_raidz.c
2391
zio_vdev_io_redone(zio);
usr/src/uts/common/fs/zfs/vdev_raidz.c
2396
zio_nowait(zio_vdev_child_io(zio, NULL,
usr/src/uts/common/fs/zfs/vdev_raidz.c
2399
zio->io_type, zio->io_priority, 0,
usr/src/uts/common/fs/zfs/vdev_raidz.c
2417
zio->io_error = vdev_raidz_worst_error(rm);
usr/src/uts/common/fs/zfs/vdev_raidz.c
2420
(code = vdev_raidz_combrec(zio, total_errors, data_errors)) != 0) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
2427
(void) raidz_parity_verify(zio, rm);
usr/src/uts/common/fs/zfs/vdev_raidz.c
2441
zio->io_error = SET_ERROR(ECKSUM);
usr/src/uts/common/fs/zfs/vdev_raidz.c
2443
if (!(zio->io_flags & ZIO_FLAG_SPECULATIVE)) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
2453
zio->io_spa,
usr/src/uts/common/fs/zfs/vdev_raidz.c
2455
&zio->io_bookmark, zio,
usr/src/uts/common/fs/zfs/vdev_raidz.c
2464
zio_checksum_verified(zio);
usr/src/uts/common/fs/zfs/vdev_raidz.c
2466
if (zio->io_error == 0 && spa_writeable(zio->io_spa) &&
usr/src/uts/common/fs/zfs/vdev_raidz.c
2467
(unexpected_errors || (zio->io_flags & ZIO_FLAG_RESILVER))) {
usr/src/uts/common/fs/zfs/vdev_raidz.c
2478
zio_nowait(zio_vdev_child_io(zio, NULL, cvd,
usr/src/uts/common/fs/zfs/vdev_raidz.c
277
vdev_raidz_cksum_report(zio_t *zio, zio_cksum_report_t *zcr, void *arg)
usr/src/uts/common/fs/zfs/vdev_raidz.c
282
raidz_map_t *rm = zio->io_vsd;
usr/src/uts/common/fs/zfs/vdev_raidz.c
338
vdev_raidz_map_alloc(zio_t *zio, uint64_t ashift, uint64_t dcols,
usr/src/uts/common/fs/zfs/vdev_raidz.c
343
uint64_t b = zio->io_offset >> ashift;
usr/src/uts/common/fs/zfs/vdev_raidz.c
345
uint64_t s = zio->io_size >> ashift;
usr/src/uts/common/fs/zfs/vdev_raidz.c
438
rm->rm_col[c].rc_abd = abd_get_offset_size(zio->io_abd, 0,
usr/src/uts/common/fs/zfs/vdev_raidz.c
443
rm->rm_col[c].rc_abd = abd_get_offset_size(zio->io_abd, off,
usr/src/uts/common/fs/zfs/vdev_raidz.c
471
if (rm->rm_firstdatacol == 1 && (zio->io_offset & (1ULL << 20))) {
usr/src/uts/common/fs/zfs/vdev_removal.c
779
spa_vdev_copy_segment_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_removal.c
781
vdev_copy_segment_arg_t *vcsa = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_removal.c
788
spa_config_exit(zio->io_spa, SCL_STATE, zio->io_spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
795
spa_vdev_copy_segment_write_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_removal.c
797
vdev_copy_arg_t *vca = zio->io_private;
usr/src/uts/common/fs/zfs/vdev_removal.c
799
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/vdev_removal.c
802
vca->vca_outstanding_bytes -= zio->io_size;
usr/src/uts/common/fs/zfs/vdev_removal.c
812
spa_vdev_copy_segment_read_done(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_removal.c
814
zio_nowait(zio_unique_parent(zio));
usr/src/uts/common/fs/zfs/vdev_trim.c
359
vdev_trim_cb(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_trim.c
361
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_trim.c
364
if (zio->io_error == ENXIO && !vdev_writeable(vd)) {
usr/src/uts/common/fs/zfs/vdev_trim.c
371
&vd->vdev_trim_offset[zio->io_txg & TXG_MASK];
usr/src/uts/common/fs/zfs/vdev_trim.c
372
*offset = MIN(*offset, zio->io_offset);
usr/src/uts/common/fs/zfs/vdev_trim.c
374
if (zio->io_error != 0) {
usr/src/uts/common/fs/zfs/vdev_trim.c
387
vd->vdev_trim_bytes_done += zio->io_orig_size;
usr/src/uts/common/fs/zfs/vdev_trim.c
405
vdev_autotrim_cb(zio_t *zio)
usr/src/uts/common/fs/zfs/vdev_trim.c
407
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/vdev_trim.c
411
if (zio->io_error != 0) {
usr/src/uts/common/fs/zfs/vdev_trim.c
423
vd->vdev_autotrim_bytes_done += zio->io_orig_size;
usr/src/uts/common/fs/zfs/zfs_fm.c
112
zio_t *zio, uint64_t stateoroffset, uint64_t size)
usr/src/uts/common/fs/zfs/zfs_fm.c
119
if (!zfs_ereport_is_valid(subclass, spa, vd, zio))
usr/src/uts/common/fs/zfs/zfs_fm.c
144
} else if (zio != NULL && zio->io_logical != NULL) {
usr/src/uts/common/fs/zfs/zfs_fm.c
145
if (zio->io_logical->io_ena == 0)
usr/src/uts/common/fs/zfs/zfs_fm.c
146
zio->io_logical->io_ena =
usr/src/uts/common/fs/zfs/zfs_fm.c
148
ena = zio->io_logical->io_ena;
usr/src/uts/common/fs/zfs/zfs_fm.c
230
if (zio != NULL) {
usr/src/uts/common/fs/zfs/zfs_fm.c
235
DATA_TYPE_INT32, zio->io_error, NULL);
usr/src/uts/common/fs/zfs/zfs_fm.c
252
DATA_TYPE_UINT64, zio->io_offset,
usr/src/uts/common/fs/zfs/zfs_fm.c
254
DATA_TYPE_UINT64, zio->io_size, NULL);
usr/src/uts/common/fs/zfs/zfs_fm.c
270
if (zb != NULL && (zio == NULL || zio->io_logical != NULL)) {
usr/src/uts/common/fs/zfs/zfs_fm.c
615
zfs_ereport_is_valid(const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio)
usr/src/uts/common/fs/zfs/zfs_fm.c
635
if (zio != NULL) {
usr/src/uts/common/fs/zfs/zfs_fm.c
640
if (zio->io_type != ZIO_TYPE_READ &&
usr/src/uts/common/fs/zfs/zfs_fm.c
641
zio->io_type != ZIO_TYPE_WRITE)
usr/src/uts/common/fs/zfs/zfs_fm.c
654
if (zio->io_vd == vd && !vdev_accessible(vd, zio))
usr/src/uts/common/fs/zfs/zfs_fm.c
661
if (zio->io_type == ZIO_TYPE_READ &&
usr/src/uts/common/fs/zfs/zfs_fm.c
662
zio->io_error == ECKSUM &&
usr/src/uts/common/fs/zfs/zfs_fm.c
664
vdev_dtl_contains(vd, DTL_MISSING, zio->io_txg, 1))
usr/src/uts/common/fs/zfs/zfs_fm.c
680
(zio != NULL) && (!zio->io_timestamp)) {
usr/src/uts/common/fs/zfs/zfs_fm.c
693
const struct zbookmark_phys *zb, zio_t *zio, uint64_t stateoroffset,
usr/src/uts/common/fs/zfs/zfs_fm.c
702
zb, zio, stateoroffset, size))
usr/src/uts/common/fs/zfs/zfs_fm.c
718
struct zio *zio, uint64_t offset, uint64_t length, void *arg,
usr/src/uts/common/fs/zfs/zfs_fm.c
723
if (zio->io_vsd != NULL)
usr/src/uts/common/fs/zfs/zfs_fm.c
724
zio->io_vsd_ops->vsd_cksum_report(zio, report, arg);
usr/src/uts/common/fs/zfs/zfs_fm.c
726
zio_vsd_default_cksum_report(zio, report, arg);
usr/src/uts/common/fs/zfs/zfs_fm.c
739
FM_EREPORT_ZFS_CHECKSUM, spa, vd, zb, zio, offset, length);
usr/src/uts/common/fs/zfs/zfs_fm.c
753
report->zcr_next = zio->io_logical->io_cksum_report;
usr/src/uts/common/fs/zfs/zfs_fm.c
754
zio->io_logical->io_cksum_report = report;
usr/src/uts/common/fs/zfs/zfs_fm.c
808
struct zio *zio, uint64_t offset, uint64_t length,
usr/src/uts/common/fs/zfs/zfs_fm.c
818
spa, vd, zb, zio, offset, length) || (ereport == NULL)) {
usr/src/uts/common/fs/zfs/zfs_vnops.c
1225
zfs_get_data(void *arg, lr_write_t *lr, char *buf, struct lwb *lwb, zio_t *zio)
usr/src/uts/common/fs/zfs/zfs_vnops.c
1238
ASSERT3P(zio, !=, NULL);
usr/src/uts/common/fs/zfs/zfs_vnops.c
1319
error = dmu_sync(zio, lr->lr_common.lrc_txg,
usr/src/uts/common/fs/zfs/zil.c
1080
zil_lwb_flush_vdevs_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zil.c
1082
lwb_t *lwb = zio->io_private;
usr/src/uts/common/fs/zfs/zil.c
1131
zcw->zcw_zio_error = zio->io_error;
usr/src/uts/common/fs/zfs/zil.c
1164
zil_lwb_write_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zil.c
1166
lwb_t *lwb = zio->io_private;
usr/src/uts/common/fs/zfs/zil.c
1167
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zil.c
1176
ASSERT(BP_GET_COMPRESS(zio->io_bp) == ZIO_COMPRESS_OFF);
usr/src/uts/common/fs/zfs/zil.c
1177
ASSERT(BP_GET_TYPE(zio->io_bp) == DMU_OT_INTENT_LOG);
usr/src/uts/common/fs/zfs/zil.c
1178
ASSERT(BP_GET_LEVEL(zio->io_bp) == 0);
usr/src/uts/common/fs/zfs/zil.c
1179
ASSERT(BP_GET_BYTEORDER(zio->io_bp) == ZFS_HOST_BYTEORDER);
usr/src/uts/common/fs/zfs/zil.c
1180
ASSERT(!BP_IS_GANG(zio->io_bp));
usr/src/uts/common/fs/zfs/zil.c
1181
ASSERT(!BP_IS_HOLE(zio->io_bp));
usr/src/uts/common/fs/zfs/zil.c
1182
ASSERT(BP_GET_FILL(zio->io_bp) == 0);
usr/src/uts/common/fs/zfs/zil.c
1184
abd_put(zio->io_abd);
usr/src/uts/common/fs/zfs/zil.c
1203
if (zio->io_error != 0) {
usr/src/uts/common/fs/zfs/zio.c
1003
return (zio);
usr/src/uts/common/fs/zfs/zio.c
1007
zio_write_override(zio_t *zio, blkptr_t *bp, int copies, boolean_t nopwrite)
usr/src/uts/common/fs/zfs/zio.c
1009
ASSERT(zio->io_type == ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/zio.c
1010
ASSERT(zio->io_child_type == ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
1011
ASSERT(zio->io_stage == ZIO_STAGE_OPEN);
usr/src/uts/common/fs/zfs/zio.c
1012
ASSERT(zio->io_txg == spa_syncing_txg(zio->io_spa));
usr/src/uts/common/fs/zfs/zio.c
1019
zio->io_prop.zp_dedup = nopwrite ? B_FALSE : zio->io_prop.zp_dedup;
usr/src/uts/common/fs/zfs/zio.c
1020
zio->io_prop.zp_nopwrite = nopwrite;
usr/src/uts/common/fs/zfs/zio.c
1021
zio->io_prop.zp_copies = copies;
usr/src/uts/common/fs/zfs/zio.c
1022
zio->io_bp_override = bp;
usr/src/uts/common/fs/zfs/zio.c
1065
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
1086
zio = zio_create(pio, spa, txg, bp, NULL, BP_GET_PSIZE(bp),
usr/src/uts/common/fs/zfs/zio.c
109
#define IO_IS_ALLOCATING(zio) ((zio)->io_orig_pipeline & ZIO_STAGE_DVA_ALLOCATE)
usr/src/uts/common/fs/zfs/zio.c
1090
return (zio);
usr/src/uts/common/fs/zfs/zio.c
1097
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
1121
zio = zio_create(pio, spa, txg, bp, NULL, BP_GET_PSIZE(bp),
usr/src/uts/common/fs/zfs/zio.c
1124
ASSERT0(zio->io_queued_timestamp);
usr/src/uts/common/fs/zfs/zio.c
1126
return (zio);
usr/src/uts/common/fs/zfs/zio.c
1133
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
1137
zio = zio_create(pio, spa, 0, NULL, NULL, 0, 0, done, private,
usr/src/uts/common/fs/zfs/zio.c
1141
zio->io_cmd = cmd;
usr/src/uts/common/fs/zfs/zio.c
1143
zio = zio_null(pio, spa, NULL, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/zio.c
1146
zio_nowait(zio_ioctl(zio, spa, vd->vdev_child[c], cmd,
usr/src/uts/common/fs/zfs/zio.c
1150
return (zio);
usr/src/uts/common/fs/zfs/zio.c
1158
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
1165
zio = zio_create(pio, vd->vdev_spa, 0, NULL, NULL, size, size, done,
usr/src/uts/common/fs/zfs/zio.c
1168
zio->io_trim_flags = trim_flags;
usr/src/uts/common/fs/zfs/zio.c
1170
return (zio);
usr/src/uts/common/fs/zfs/zio.c
1178
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
1185
zio = zio_create(pio, vd->vdev_spa, 0, NULL, data, size, size, done,
usr/src/uts/common/fs/zfs/zio.c
1189
zio->io_prop.zp_checksum = checksum;
usr/src/uts/common/fs/zfs/zio.c
1191
return (zio);
usr/src/uts/common/fs/zfs/zio.c
1199
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
1206
zio = zio_create(pio, vd->vdev_spa, 0, NULL, data, size, size, done,
usr/src/uts/common/fs/zfs/zio.c
1210
zio->io_prop.zp_checksum = checksum;
usr/src/uts/common/fs/zfs/zio.c
1222
zio_push_transform(zio, wbuf, size, size, NULL);
usr/src/uts/common/fs/zfs/zio.c
1225
return (zio);
usr/src/uts/common/fs/zfs/zio.c
1237
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
1293
zio = zio_create(pio, pio->io_spa, pio->io_txg, bp, data, size, size,
usr/src/uts/common/fs/zfs/zio.c
1296
ASSERT3U(zio->io_child_type, ==, ZIO_CHILD_VDEV);
usr/src/uts/common/fs/zfs/zio.c
1298
zio->io_physdone = pio->io_physdone;
usr/src/uts/common/fs/zfs/zio.c
1299
if (vd->vdev_ops->vdev_op_leaf && zio->io_logical != NULL)
usr/src/uts/common/fs/zfs/zio.c
1300
zio->io_logical->io_phys_children++;
usr/src/uts/common/fs/zfs/zio.c
1302
return (zio);
usr/src/uts/common/fs/zfs/zio.c
1310
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
1314
zio = zio_create(NULL, vd->vdev_spa, 0, NULL,
usr/src/uts/common/fs/zfs/zio.c
1320
return (zio);
usr/src/uts/common/fs/zfs/zio.c
1324
zio_flush(zio_t *zio, vdev_t *vd)
usr/src/uts/common/fs/zfs/zio.c
1326
zio_nowait(zio_ioctl(zio, zio->io_spa, vd, DKIOCFLUSHWRITECACHE,
usr/src/uts/common/fs/zfs/zio.c
1332
zio_shrink(zio_t *zio, uint64_t size)
usr/src/uts/common/fs/zfs/zio.c
1334
ASSERT3P(zio->io_executor, ==, NULL);
usr/src/uts/common/fs/zfs/zio.c
1335
ASSERT3P(zio->io_orig_size, ==, zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
1336
ASSERT3U(size, <=, zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
1343
ASSERT(BP_GET_COMPRESS(zio->io_bp) == ZIO_COMPRESS_OFF);
usr/src/uts/common/fs/zfs/zio.c
1344
if (!BP_IS_RAIDZ(zio->io_bp)) {
usr/src/uts/common/fs/zfs/zio.c
1346
ASSERT3U(zio->io_size, ==, zio->io_lsize);
usr/src/uts/common/fs/zfs/zio.c
1347
zio->io_orig_size = zio->io_size = zio->io_lsize = size;
usr/src/uts/common/fs/zfs/zio.c
1358
zio_read_bp_init(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
1360
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
1364
ASSERT3P(zio->io_bp, ==, &zio->io_bp_copy);
usr/src/uts/common/fs/zfs/zio.c
1367
zio->io_child_type == ZIO_CHILD_LOGICAL &&
usr/src/uts/common/fs/zfs/zio.c
1368
!(zio->io_flags & ZIO_FLAG_RAW_COMPRESS)) {
usr/src/uts/common/fs/zfs/zio.c
1369
zio_push_transform(zio, abd_alloc_sametype(zio->io_abd, psize),
usr/src/uts/common/fs/zfs/zio.c
1373
if (((BP_IS_PROTECTED(bp) && !(zio->io_flags & ZIO_FLAG_RAW_ENCRYPT)) ||
usr/src/uts/common/fs/zfs/zio.c
1375
zio->io_child_type == ZIO_CHILD_LOGICAL) {
usr/src/uts/common/fs/zfs/zio.c
1376
zio_push_transform(zio, abd_alloc_sametype(zio->io_abd, psize),
usr/src/uts/common/fs/zfs/zio.c
1382
void *data = abd_borrow_buf(zio->io_abd, psize);
usr/src/uts/common/fs/zfs/zio.c
1384
zio->io_pipeline = ZIO_INTERLOCK_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
1386
abd_return_buf_copy(zio->io_abd, data, psize);
usr/src/uts/common/fs/zfs/zio.c
1389
ASSERT3P(zio->io_bp, ==, &zio->io_bp_copy);
usr/src/uts/common/fs/zfs/zio.c
1393
zio->io_flags |= ZIO_FLAG_DONT_CACHE;
usr/src/uts/common/fs/zfs/zio.c
1396
zio->io_flags |= ZIO_FLAG_DONT_CACHE;
usr/src/uts/common/fs/zfs/zio.c
1398
if (BP_GET_DEDUP(bp) && zio->io_child_type == ZIO_CHILD_LOGICAL)
usr/src/uts/common/fs/zfs/zio.c
1399
zio->io_pipeline = ZIO_DDT_READ_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
1405
zio_write_bp_init(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
1407
if (!IO_IS_ALLOCATING(zio))
usr/src/uts/common/fs/zfs/zio.c
1410
ASSERT(zio->io_child_type != ZIO_CHILD_DDT);
usr/src/uts/common/fs/zfs/zio.c
1412
if (zio->io_bp_override) {
usr/src/uts/common/fs/zfs/zio.c
1413
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
1414
zio_prop_t *zp = &zio->io_prop;
usr/src/uts/common/fs/zfs/zio.c
1416
ASSERT(bp->blk_birth != zio->io_txg);
usr/src/uts/common/fs/zfs/zio.c
1417
ASSERT(BP_GET_DEDUP(zio->io_bp_override) == 0);
usr/src/uts/common/fs/zfs/zio.c
1419
*bp = *zio->io_bp_override;
usr/src/uts/common/fs/zfs/zio.c
1420
zio->io_pipeline = ZIO_INTERLOCK_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
1433
zio->io_flags |= ZIO_FLAG_NOPWRITE;
usr/src/uts/common/fs/zfs/zio.c
1448
zio->io_pipeline |= ZIO_STAGE_DDT_WRITE;
usr/src/uts/common/fs/zfs/zio.c
1456
zio->io_bp_override = NULL;
usr/src/uts/common/fs/zfs/zio.c
1457
*bp = zio->io_bp_orig;
usr/src/uts/common/fs/zfs/zio.c
1458
zio->io_pipeline = zio->io_orig_pipeline;
usr/src/uts/common/fs/zfs/zio.c
1465
zio_write_compress(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
1467
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
1468
zio_prop_t *zp = &zio->io_prop;
usr/src/uts/common/fs/zfs/zio.c
1470
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
1471
uint64_t lsize = zio->io_lsize;
usr/src/uts/common/fs/zfs/zio.c
1472
uint64_t psize = zio->io_size;
usr/src/uts/common/fs/zfs/zio.c
1479
if (zio_wait_for_children(zio, ZIO_CHILD_LOGICAL_BIT |
usr/src/uts/common/fs/zfs/zio.c
1484
if (!IO_IS_ALLOCATING(zio))
usr/src/uts/common/fs/zfs/zio.c
1487
if (zio->io_children_ready != NULL) {
usr/src/uts/common/fs/zfs/zio.c
1494
zio->io_children_ready(zio);
usr/src/uts/common/fs/zfs/zio.c
1497
ASSERT(zio->io_child_type != ZIO_CHILD_DDT);
usr/src/uts/common/fs/zfs/zio.c
1498
ASSERT(zio->io_bp_override == NULL);
usr/src/uts/common/fs/zfs/zio.c
1500
if (!BP_IS_HOLE(bp) && bp->blk_birth == zio->io_txg) {
usr/src/uts/common/fs/zfs/zio.c
1512
ASSERT(zio->io_txg == spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/zio.c
1513
ASSERT(zio->io_child_type == ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
1526
!(zio->io_flags & ZIO_FLAG_RAW_COMPRESS)) {
usr/src/uts/common/fs/zfs/zio.c
1528
psize = zio_compress_data(compress, zio->io_abd, cbuf, lsize);
usr/src/uts/common/fs/zfs/zio.c
1539
BP_SET_TYPE(bp, zio->io_prop.zp_type);
usr/src/uts/common/fs/zfs/zio.c
1540
BP_SET_LEVEL(bp, zio->io_prop.zp_level);
usr/src/uts/common/fs/zfs/zio.c
1542
bp->blk_birth = zio->io_txg;
usr/src/uts/common/fs/zfs/zio.c
1543
zio->io_pipeline = ZIO_INTERLOCK_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
1568
zio_push_transform(zio, cdata,
usr/src/uts/common/fs/zfs/zio.c
1577
zio->io_bp_override = NULL;
usr/src/uts/common/fs/zfs/zio.c
1578
*bp = zio->io_bp_orig;
usr/src/uts/common/fs/zfs/zio.c
1579
zio->io_pipeline = zio->io_orig_pipeline;
usr/src/uts/common/fs/zfs/zio.c
1581
} else if ((zio->io_flags & ZIO_FLAG_RAW_ENCRYPT) != 0 &&
usr/src/uts/common/fs/zfs/zio.c
1591
zio->io_abd, NULL, lsize);
usr/src/uts/common/fs/zfs/zio.c
1606
if (!BP_IS_HOLE(bp) && bp->blk_birth == zio->io_txg &&
usr/src/uts/common/fs/zfs/zio.c
1610
enum zio_stage gang_stages = zio->io_pipeline & ZIO_GANG_STAGES;
usr/src/uts/common/fs/zfs/zio.c
1611
zio->io_pipeline = ZIO_REWRITE_PIPELINE | gang_stages;
usr/src/uts/common/fs/zfs/zio.c
1612
zio->io_flags |= ZIO_FLAG_IO_REWRITE;
usr/src/uts/common/fs/zfs/zio.c
1615
zio->io_pipeline = ZIO_WRITE_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
1619
if (zio->io_bp_orig.blk_birth != 0 &&
usr/src/uts/common/fs/zfs/zio.c
1624
BP_SET_BIRTH(bp, zio->io_txg, 0);
usr/src/uts/common/fs/zfs/zio.c
1626
zio->io_pipeline = ZIO_INTERLOCK_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
1638
ASSERT(zio->io_child_type == ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
1639
ASSERT(!(zio->io_flags & ZIO_FLAG_IO_REWRITE));
usr/src/uts/common/fs/zfs/zio.c
1642
zio->io_pipeline = ZIO_DDT_WRITE_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
1645
ASSERT(zio->io_child_type == ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
1646
ASSERT(!(zio->io_flags & ZIO_FLAG_IO_REWRITE));
usr/src/uts/common/fs/zfs/zio.c
1647
zio->io_pipeline |= ZIO_STAGE_NOP_WRITE;
usr/src/uts/common/fs/zfs/zio.c
1654
zio_free_bp_init(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
1656
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
1658
if (zio->io_child_type == ZIO_CHILD_LOGICAL) {
usr/src/uts/common/fs/zfs/zio.c
1660
zio->io_pipeline = ZIO_DDT_FREE_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
1663
ASSERT3P(zio->io_bp, ==, &zio->io_bp_copy);
usr/src/uts/common/fs/zfs/zio.c
1675
zio_taskq_dispatch(zio_t *zio, zio_taskq_type_t q, boolean_t cutinline)
usr/src/uts/common/fs/zfs/zio.c
1677
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
1678
zio_type_t t = zio->io_type;
usr/src/uts/common/fs/zfs/zio.c
1686
if (zio->io_flags & (ZIO_FLAG_CONFIG_WRITER | ZIO_FLAG_PROBE))
usr/src/uts/common/fs/zfs/zio.c
1692
if (t == ZIO_TYPE_WRITE && zio->io_vd && zio->io_vd->vdev_aux)
usr/src/uts/common/fs/zfs/zio.c
1699
if ((zio->io_priority == ZIO_PRIORITY_NOW ||
usr/src/uts/common/fs/zfs/zio.c
1700
zio->io_priority == ZIO_PRIORITY_SYNC_WRITE) &&
usr/src/uts/common/fs/zfs/zio.c
1711
ASSERT(zio->io_tqent.tqent_next == NULL);
usr/src/uts/common/fs/zfs/zio.c
1712
spa_taskq_dispatch_ent(spa, t, q, (task_func_t *)zio_execute, zio,
usr/src/uts/common/fs/zfs/zio.c
1713
flags, &zio->io_tqent);
usr/src/uts/common/fs/zfs/zio.c
1717
zio_taskq_member(zio_t *zio, zio_taskq_type_t q)
usr/src/uts/common/fs/zfs/zio.c
1719
kthread_t *executor = zio->io_executor;
usr/src/uts/common/fs/zfs/zio.c
1720
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
1735
zio_issue_async(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
1737
zio_taskq_dispatch(zio, ZIO_TASKQ_ISSUE, B_FALSE);
usr/src/uts/common/fs/zfs/zio.c
1743
zio_interrupt(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
1745
zio_taskq_dispatch(zio, ZIO_TASKQ_INTERRUPT, B_FALSE);
usr/src/uts/common/fs/zfs/zio.c
1749
zio_delay_interrupt(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
1763
if (zio->io_target_timestamp != 0) {
usr/src/uts/common/fs/zfs/zio.c
1766
if (now >= zio->io_target_timestamp) {
usr/src/uts/common/fs/zfs/zio.c
1778
DTRACE_PROBE2(zio__delay__miss, zio_t *, zio,
usr/src/uts/common/fs/zfs/zio.c
1781
zio_interrupt(zio);
usr/src/uts/common/fs/zfs/zio.c
1783
hrtime_t diff = zio->io_target_timestamp - now;
usr/src/uts/common/fs/zfs/zio.c
1785
DTRACE_PROBE3(zio__delay__hit, zio_t *, zio,
usr/src/uts/common/fs/zfs/zio.c
1789
(void (*)(void *))zio_interrupt, zio, diff, 1, 0);
usr/src/uts/common/fs/zfs/zio.c
1796
DTRACE_PROBE1(zio__delay__skip, zio_t *, zio);
usr/src/uts/common/fs/zfs/zio.c
1797
zio_interrupt(zio);
usr/src/uts/common/fs/zfs/zio.c
1819
zio_execute(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
1821
zio->io_executor = curthread;
usr/src/uts/common/fs/zfs/zio.c
1823
ASSERT3U(zio->io_queued_timestamp, >, 0);
usr/src/uts/common/fs/zfs/zio.c
1825
while (zio->io_stage < ZIO_STAGE_DONE) {
usr/src/uts/common/fs/zfs/zio.c
1826
enum zio_stage pipeline = zio->io_pipeline;
usr/src/uts/common/fs/zfs/zio.c
1827
enum zio_stage stage = zio->io_stage;
usr/src/uts/common/fs/zfs/zio.c
1830
ASSERT(!MUTEX_HELD(&zio->io_lock));
usr/src/uts/common/fs/zfs/zio.c
1832
ASSERT(zio->io_stall == NULL);
usr/src/uts/common/fs/zfs/zio.c
1849
if ((stage & ZIO_BLOCKING_STAGES) && zio->io_vd == NULL &&
usr/src/uts/common/fs/zfs/zio.c
1850
zio_taskq_member(zio, ZIO_TASKQ_INTERRUPT)) {
usr/src/uts/common/fs/zfs/zio.c
1853
zio_taskq_dispatch(zio, ZIO_TASKQ_ISSUE, cut);
usr/src/uts/common/fs/zfs/zio.c
1877
zio->io_stage = stage;
usr/src/uts/common/fs/zfs/zio.c
1878
zio->io_pipeline_trace |= zio->io_stage;
usr/src/uts/common/fs/zfs/zio.c
1879
rv = zio_pipeline[highbit64(stage) - 1](zio);
usr/src/uts/common/fs/zfs/zio.c
1900
zio_wait(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
1904
ASSERT3P(zio->io_stage, ==, ZIO_STAGE_OPEN);
usr/src/uts/common/fs/zfs/zio.c
1905
ASSERT3P(zio->io_executor, ==, NULL);
usr/src/uts/common/fs/zfs/zio.c
1907
zio->io_waiter = curthread;
usr/src/uts/common/fs/zfs/zio.c
1908
ASSERT0(zio->io_queued_timestamp);
usr/src/uts/common/fs/zfs/zio.c
1909
zio->io_queued_timestamp = gethrtime();
usr/src/uts/common/fs/zfs/zio.c
1911
zio_execute(zio);
usr/src/uts/common/fs/zfs/zio.c
1913
mutex_enter(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
1914
while (zio->io_executor != NULL)
usr/src/uts/common/fs/zfs/zio.c
1915
cv_wait(&zio->io_cv, &zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
1916
mutex_exit(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
1918
error = zio->io_error;
usr/src/uts/common/fs/zfs/zio.c
1919
zio_destroy(zio);
usr/src/uts/common/fs/zfs/zio.c
1925
zio_nowait(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
1927
ASSERT3P(zio->io_executor, ==, NULL);
usr/src/uts/common/fs/zfs/zio.c
1929
if (zio->io_child_type == ZIO_CHILD_LOGICAL &&
usr/src/uts/common/fs/zfs/zio.c
1930
zio_unique_parent(zio) == NULL) {
usr/src/uts/common/fs/zfs/zio.c
1936
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
1938
zio_add_child(spa->spa_async_zio_root[CPU_SEQID], zio);
usr/src/uts/common/fs/zfs/zio.c
1941
ASSERT0(zio->io_queued_timestamp);
usr/src/uts/common/fs/zfs/zio.c
1942
zio->io_queued_timestamp = gethrtime();
usr/src/uts/common/fs/zfs/zio.c
1943
zio_execute(zio);
usr/src/uts/common/fs/zfs/zio.c
2008
zio_suspend(spa_t *spa, zio_t *zio, zio_suspend_reason_t reason)
usr/src/uts/common/fs/zfs/zio.c
2031
if (zio != NULL) {
usr/src/uts/common/fs/zfs/zio.c
2032
ASSERT(!(zio->io_flags & ZIO_FLAG_GODFATHER));
usr/src/uts/common/fs/zfs/zio.c
2033
ASSERT(zio != spa->spa_suspend_zio_root);
usr/src/uts/common/fs/zfs/zio.c
2034
ASSERT(zio->io_child_type == ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
2035
ASSERT(zio_unique_parent(zio) == NULL);
usr/src/uts/common/fs/zfs/zio.c
2036
ASSERT(zio->io_stage == ZIO_STAGE_DONE);
usr/src/uts/common/fs/zfs/zio.c
2037
zio_add_child(spa->spa_suspend_zio_root, zio);
usr/src/uts/common/fs/zfs/zio.c
2141
zio_gang_issue_func_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2143
abd_put(zio->io_abd);
usr/src/uts/common/fs/zfs/zio.c
2163
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
2168
zio = zio_rewrite(pio, pio->io_spa, pio->io_txg, bp,
usr/src/uts/common/fs/zfs/zio.c
2184
zio_checksum_compute(zio, BP_GET_CHECKSUM(bp),
usr/src/uts/common/fs/zfs/zio.c
2194
zio->io_pipeline &= ~ZIO_VDEV_IO_STAGES;
usr/src/uts/common/fs/zfs/zio.c
2196
zio = zio_rewrite(pio, pio->io_spa, pio->io_txg, bp,
usr/src/uts/common/fs/zfs/zio.c
2202
return (zio);
usr/src/uts/common/fs/zfs/zio.c
2232
static void zio_gang_tree_assemble_done(zio_t *zio);
usr/src/uts/common/fs/zfs/zio.c
2290
zio_gang_tree_assemble_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2292
zio_t *gio = zio->io_gang_leader;
usr/src/uts/common/fs/zfs/zio.c
2293
zio_gang_node_t *gn = zio->io_private;
usr/src/uts/common/fs/zfs/zio.c
2294
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2296
ASSERT(gio == zio_unique_parent(zio));
usr/src/uts/common/fs/zfs/zio.c
2297
ASSERT(zio->io_child_count == 0);
usr/src/uts/common/fs/zfs/zio.c
2299
if (zio->io_error)
usr/src/uts/common/fs/zfs/zio.c
2304
byteswap_uint64_array(abd_to_buf(zio->io_abd), zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
2306
ASSERT3P(abd_to_buf(zio->io_abd), ==, gn->gn_gbh);
usr/src/uts/common/fs/zfs/zio.c
2307
ASSERT(zio->io_size == SPA_GANGBLOCKSIZE);
usr/src/uts/common/fs/zfs/zio.c
2310
abd_put(zio->io_abd);
usr/src/uts/common/fs/zfs/zio.c
2325
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
2335
zio = zio_gang_issue_func[gio->io_type](pio, bp, gn, data, offset);
usr/src/uts/common/fs/zfs/zio.c
2344
zio_gang_tree_issue(zio, gn->gn_child[g], gbp, data,
usr/src/uts/common/fs/zfs/zio.c
2353
if (zio != pio)
usr/src/uts/common/fs/zfs/zio.c
2354
zio_nowait(zio);
usr/src/uts/common/fs/zfs/zio.c
2358
zio_gang_assemble(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2360
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2362
ASSERT(BP_IS_GANG(bp) && zio->io_gang_leader == NULL);
usr/src/uts/common/fs/zfs/zio.c
2363
ASSERT(zio->io_child_type > ZIO_CHILD_GANG);
usr/src/uts/common/fs/zfs/zio.c
2365
zio->io_gang_leader = zio;
usr/src/uts/common/fs/zfs/zio.c
2367
zio_gang_tree_assemble(zio, bp, &zio->io_gang_tree);
usr/src/uts/common/fs/zfs/zio.c
2373
zio_gang_issue(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2375
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2377
if (zio_wait_for_children(zio, ZIO_CHILD_GANG_BIT, ZIO_WAIT_DONE)) {
usr/src/uts/common/fs/zfs/zio.c
2381
ASSERT(BP_IS_GANG(bp) && zio->io_gang_leader == zio);
usr/src/uts/common/fs/zfs/zio.c
2382
ASSERT(zio->io_child_type > ZIO_CHILD_GANG);
usr/src/uts/common/fs/zfs/zio.c
2384
if (zio->io_child_error[ZIO_CHILD_GANG] == 0)
usr/src/uts/common/fs/zfs/zio.c
2385
zio_gang_tree_issue(zio, zio->io_gang_tree, bp, zio->io_abd,
usr/src/uts/common/fs/zfs/zio.c
2388
zio_gang_tree_free(&zio->io_gang_tree);
usr/src/uts/common/fs/zfs/zio.c
2390
zio->io_pipeline = ZIO_INTERLOCK_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
2396
zio_write_gang_member_ready(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2398
zio_t *pio = zio_unique_parent(zio);
usr/src/uts/common/fs/zfs/zio.c
2399
zio_t *gio = zio->io_gang_leader;
usr/src/uts/common/fs/zfs/zio.c
2400
dva_t *cdva = zio->io_bp->blk_dva;
usr/src/uts/common/fs/zfs/zio.c
2404
if (BP_IS_HOLE(zio->io_bp))
usr/src/uts/common/fs/zfs/zio.c
2407
ASSERT(BP_IS_HOLE(&zio->io_bp_orig));
usr/src/uts/common/fs/zfs/zio.c
2409
ASSERT(zio->io_child_type == ZIO_CHILD_GANG);
usr/src/uts/common/fs/zfs/zio.c
2410
ASSERT3U(zio->io_prop.zp_copies, ==, gio->io_prop.zp_copies);
usr/src/uts/common/fs/zfs/zio.c
2411
ASSERT3U(zio->io_prop.zp_copies, <=, BP_GET_NDVAS(zio->io_bp));
usr/src/uts/common/fs/zfs/zio.c
2413
ASSERT3U(BP_GET_NDVAS(zio->io_bp), <=, BP_GET_NDVAS(pio->io_bp));
usr/src/uts/common/fs/zfs/zio.c
2416
for (int d = 0; d < BP_GET_NDVAS(zio->io_bp); d++) {
usr/src/uts/common/fs/zfs/zio.c
2426
zio_write_gang_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2433
if (zio->io_abd != NULL)
usr/src/uts/common/fs/zfs/zio.c
2434
abd_put(zio->io_abd);
usr/src/uts/common/fs/zfs/zio.c
2444
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
2522
zio = zio_rewrite(pio, spa, txg, bp, gbh_abd, SPA_GANGBLOCKSIZE,
usr/src/uts/common/fs/zfs/zio.c
2548
zio_t *cio = zio_write(zio, spa, txg, &gbh->zg_blkptr[g],
usr/src/uts/common/fs/zfs/zio.c
2575
zio_nowait(zio);
usr/src/uts/common/fs/zfs/zio.c
2599
zio_nop_write(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2601
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2602
blkptr_t *bp_orig = &zio->io_bp_orig;
usr/src/uts/common/fs/zfs/zio.c
2603
zio_prop_t *zp = &zio->io_prop;
usr/src/uts/common/fs/zfs/zio.c
2606
ASSERT(!(zio->io_flags & ZIO_FLAG_IO_REWRITE));
usr/src/uts/common/fs/zfs/zio.c
2609
ASSERT(zio->io_bp_override == NULL);
usr/src/uts/common/fs/zfs/zio.c
2610
ASSERT(IO_IS_ALLOCATING(zio));
usr/src/uts/common/fs/zfs/zio.c
2642
zio->io_pipeline = ZIO_INTERLOCK_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
2643
zio->io_flags |= ZIO_FLAG_NOPWRITE;
usr/src/uts/common/fs/zfs/zio.c
2655
zio_ddt_child_read_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2657
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2658
ddt_entry_t *dde = zio->io_private;
usr/src/uts/common/fs/zfs/zio.c
2660
zio_t *pio = zio_unique_parent(zio);
usr/src/uts/common/fs/zfs/zio.c
2664
if (zio->io_error == 0)
usr/src/uts/common/fs/zfs/zio.c
2667
if (zio->io_error == 0 && dde->dde_repair_abd == NULL)
usr/src/uts/common/fs/zfs/zio.c
2668
dde->dde_repair_abd = zio->io_abd;
usr/src/uts/common/fs/zfs/zio.c
2670
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/zio.c
2675
zio_ddt_read_start(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2677
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2680
ASSERT(BP_GET_PSIZE(bp) == zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
2681
ASSERT(zio->io_child_type == ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
2683
if (zio->io_child_error[ZIO_CHILD_DDT]) {
usr/src/uts/common/fs/zfs/zio.c
2684
ddt_t *ddt = ddt_select(zio->io_spa, bp);
usr/src/uts/common/fs/zfs/zio.c
2690
ASSERT(zio->io_vsd == NULL);
usr/src/uts/common/fs/zfs/zio.c
2691
zio->io_vsd = dde;
usr/src/uts/common/fs/zfs/zio.c
2701
zio_nowait(zio_read(zio, zio->io_spa, &blk,
usr/src/uts/common/fs/zfs/zio.c
2702
abd_alloc_for_io(zio->io_size, B_TRUE),
usr/src/uts/common/fs/zfs/zio.c
2703
zio->io_size, zio_ddt_child_read_done, dde,
usr/src/uts/common/fs/zfs/zio.c
2704
zio->io_priority, ZIO_DDT_CHILD_FLAGS(zio) |
usr/src/uts/common/fs/zfs/zio.c
2705
ZIO_FLAG_DONT_PROPAGATE, &zio->io_bookmark));
usr/src/uts/common/fs/zfs/zio.c
2710
zio_nowait(zio_read(zio, zio->io_spa, bp,
usr/src/uts/common/fs/zfs/zio.c
2711
zio->io_abd, zio->io_size, NULL, NULL, zio->io_priority,
usr/src/uts/common/fs/zfs/zio.c
2712
ZIO_DDT_CHILD_FLAGS(zio), &zio->io_bookmark));
usr/src/uts/common/fs/zfs/zio.c
2718
zio_ddt_read_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2720
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2722
if (zio_wait_for_children(zio, ZIO_CHILD_DDT_BIT, ZIO_WAIT_DONE)) {
usr/src/uts/common/fs/zfs/zio.c
2727
ASSERT(BP_GET_PSIZE(bp) == zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
2728
ASSERT(zio->io_child_type == ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
2730
if (zio->io_child_error[ZIO_CHILD_DDT]) {
usr/src/uts/common/fs/zfs/zio.c
2731
ddt_t *ddt = ddt_select(zio->io_spa, bp);
usr/src/uts/common/fs/zfs/zio.c
2732
ddt_entry_t *dde = zio->io_vsd;
usr/src/uts/common/fs/zfs/zio.c
2734
ASSERT(spa_load_state(zio->io_spa) != SPA_LOAD_NONE);
usr/src/uts/common/fs/zfs/zio.c
2738
zio->io_stage = ZIO_STAGE_DDT_READ_START >> 1;
usr/src/uts/common/fs/zfs/zio.c
2739
zio_taskq_dispatch(zio, ZIO_TASKQ_ISSUE, B_FALSE);
usr/src/uts/common/fs/zfs/zio.c
2743
abd_copy(zio->io_abd, dde->dde_repair_abd,
usr/src/uts/common/fs/zfs/zio.c
2744
zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
2745
zio->io_child_error[ZIO_CHILD_DDT] = 0;
usr/src/uts/common/fs/zfs/zio.c
2748
zio->io_vsd = NULL;
usr/src/uts/common/fs/zfs/zio.c
2751
ASSERT(zio->io_vsd == NULL);
usr/src/uts/common/fs/zfs/zio.c
2757
zio_ddt_collision(zio_t *zio, ddt_t *ddt, ddt_entry_t *dde)
usr/src/uts/common/fs/zfs/zio.c
2759
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
2760
boolean_t do_raw = !!(zio->io_flags & ZIO_FLAG_RAW);
usr/src/uts/common/fs/zfs/zio.c
2763
ASSERT(!(zio->io_bp_override && do_raw));
usr/src/uts/common/fs/zfs/zio.c
2781
return (lio->io_size != zio->io_size ||
usr/src/uts/common/fs/zfs/zio.c
2782
abd_cmp(zio->io_abd, lio->io_abd,
usr/src/uts/common/fs/zfs/zio.c
2783
zio->io_size) != 0);
usr/src/uts/common/fs/zfs/zio.c
2785
return (lio->io_orig_size != zio->io_orig_size ||
usr/src/uts/common/fs/zfs/zio.c
2786
abd_cmp(zio->io_orig_abd, lio->io_orig_abd,
usr/src/uts/common/fs/zfs/zio.c
2787
zio->io_orig_size) != 0);
usr/src/uts/common/fs/zfs/zio.c
2795
blkptr_t blk = *zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2803
if (psize != zio->io_size)
usr/src/uts/common/fs/zfs/zio.c
2813
ZIO_FLAG_RAW, &zio->io_bookmark));
usr/src/uts/common/fs/zfs/zio.c
2816
if (abd_cmp(tmpabd, zio->io_abd, psize) != 0)
usr/src/uts/common/fs/zfs/zio.c
2827
blkptr_t blk = *zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2832
if (BP_GET_LSIZE(&blk) != zio->io_orig_size)
usr/src/uts/common/fs/zfs/zio.c
2848
ASSERT3U(zio->io_size, ==, zio->io_orig_size);
usr/src/uts/common/fs/zfs/zio.c
2849
ASSERT0(abd_cmp(zio->io_abd, zio->io_orig_abd,
usr/src/uts/common/fs/zfs/zio.c
2850
zio->io_size));
usr/src/uts/common/fs/zfs/zio.c
2851
ASSERT3P(zio->io_transform_stack, ==, NULL);
usr/src/uts/common/fs/zfs/zio.c
2856
zio_flags, &aflags, &zio->io_bookmark);
usr/src/uts/common/fs/zfs/zio.c
2859
if (abd_cmp_buf(zio->io_orig_abd, abuf->b_data,
usr/src/uts/common/fs/zfs/zio.c
2860
zio->io_orig_size) != 0)
usr/src/uts/common/fs/zfs/zio.c
2874
zio_ddt_child_write_ready(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2876
int p = zio->io_prop.zp_copies;
usr/src/uts/common/fs/zfs/zio.c
2877
ddt_t *ddt = ddt_select(zio->io_spa, zio->io_bp);
usr/src/uts/common/fs/zfs/zio.c
2878
ddt_entry_t *dde = zio->io_private;
usr/src/uts/common/fs/zfs/zio.c
2882
if (zio->io_error)
usr/src/uts/common/fs/zfs/zio.c
2887
ASSERT(dde->dde_lead_zio[p] == zio);
usr/src/uts/common/fs/zfs/zio.c
2889
ddt_phys_fill(ddp, zio->io_bp);
usr/src/uts/common/fs/zfs/zio.c
2892
while ((pio = zio_walk_parents(zio, &zl)) != NULL)
usr/src/uts/common/fs/zfs/zio.c
2893
ddt_bp_fill(ddp, pio->io_bp, zio->io_txg);
usr/src/uts/common/fs/zfs/zio.c
2899
zio_ddt_child_write_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2901
int p = zio->io_prop.zp_copies;
usr/src/uts/common/fs/zfs/zio.c
2902
ddt_t *ddt = ddt_select(zio->io_spa, zio->io_bp);
usr/src/uts/common/fs/zfs/zio.c
2903
ddt_entry_t *dde = zio->io_private;
usr/src/uts/common/fs/zfs/zio.c
2909
ASSERT(dde->dde_lead_zio[p] == zio);
usr/src/uts/common/fs/zfs/zio.c
2912
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/zio.c
2914
while (zio_walk_parents(zio, &zl) != NULL)
usr/src/uts/common/fs/zfs/zio.c
2924
zio_ddt_ditto_write_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2927
zio_prop_t *zp = &zio->io_prop;
usr/src/uts/common/fs/zfs/zio.c
2928
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2929
ddt_t *ddt = ddt_select(zio->io_spa, bp);
usr/src/uts/common/fs/zfs/zio.c
2930
ddt_entry_t *dde = zio->io_private;
usr/src/uts/common/fs/zfs/zio.c
2937
ASSERT(dde->dde_lead_zio[p] == zio);
usr/src/uts/common/fs/zfs/zio.c
294
zio_push_transform(zio_t *zio, abd_t *data, uint64_t size, uint64_t bufsize,
usr/src/uts/common/fs/zfs/zio.c
2940
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/zio.c
2945
ddt_phys_free(ddt, ddk, ddp, zio->io_txg);
usr/src/uts/common/fs/zfs/zio.c
2953
zio_ddt_write(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
2955
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
2956
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
2957
uint64_t txg = zio->io_txg;
usr/src/uts/common/fs/zfs/zio.c
2958
zio_prop_t *zp = &zio->io_prop;
usr/src/uts/common/fs/zfs/zio.c
2969
ASSERT(BP_IS_HOLE(bp) || zio->io_bp_override);
usr/src/uts/common/fs/zfs/zio.c
2970
ASSERT(!(zio->io_bp_override && (zio->io_flags & ZIO_FLAG_RAW)));
usr/src/uts/common/fs/zfs/zio.c
2976
if (zp->zp_dedup_verify && zio_ddt_collision(zio, ddt, dde)) {
usr/src/uts/common/fs/zfs/zio.c
2986
zio_pop_transforms(zio);
usr/src/uts/common/fs/zfs/zio.c
2987
zio->io_stage = ZIO_STAGE_OPEN;
usr/src/uts/common/fs/zfs/zio.c
2994
zio->io_pipeline = ZIO_WRITE_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
3015
if (zio->io_bp_override) {
usr/src/uts/common/fs/zfs/zio.c
3016
zio_pop_transforms(zio);
usr/src/uts/common/fs/zfs/zio.c
3017
zio->io_stage = ZIO_STAGE_OPEN;
usr/src/uts/common/fs/zfs/zio.c
3018
zio->io_pipeline = ZIO_WRITE_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
3019
zio->io_bp_override = NULL;
usr/src/uts/common/fs/zfs/zio.c
3025
dio = zio_write(zio, spa, txg, bp, zio->io_orig_abd,
usr/src/uts/common/fs/zfs/zio.c
3026
zio->io_orig_size, zio->io_orig_size, &czp, NULL, NULL,
usr/src/uts/common/fs/zfs/zio.c
3027
NULL, zio_ddt_ditto_write_done, dde, zio->io_priority,
usr/src/uts/common/fs/zfs/zio.c
3028
ZIO_DDT_CHILD_FLAGS(zio), &zio->io_bookmark);
usr/src/uts/common/fs/zfs/zio.c
303
IMPLY(abd_is_linear(zio->io_abd), abd_is_linear(data));
usr/src/uts/common/fs/zfs/zio.c
3030
zio_push_transform(dio, zio->io_abd, zio->io_size, 0, NULL);
usr/src/uts/common/fs/zfs/zio.c
3038
zio_add_child(zio, dde->dde_lead_zio[p]);
usr/src/uts/common/fs/zfs/zio.c
3041
} else if (zio->io_bp_override) {
usr/src/uts/common/fs/zfs/zio.c
3043
ASSERT(BP_EQUAL(bp, zio->io_bp_override));
usr/src/uts/common/fs/zfs/zio.c
3047
cio = zio_write(zio, spa, txg, bp, zio->io_orig_abd,
usr/src/uts/common/fs/zfs/zio.c
3048
zio->io_orig_size, zio->io_orig_size, zp,
usr/src/uts/common/fs/zfs/zio.c
305
zt->zt_orig_abd = zio->io_abd;
usr/src/uts/common/fs/zfs/zio.c
3050
zio_ddt_child_write_done, dde, zio->io_priority,
usr/src/uts/common/fs/zfs/zio.c
3051
ZIO_DDT_CHILD_FLAGS(zio), &zio->io_bookmark);
usr/src/uts/common/fs/zfs/zio.c
3053
zio_push_transform(cio, zio->io_abd, zio->io_size, 0, NULL);
usr/src/uts/common/fs/zfs/zio.c
306
zt->zt_orig_size = zio->io_size;
usr/src/uts/common/fs/zfs/zio.c
3070
zio_ddt_free(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3072
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3073
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
3079
ASSERT(zio->io_child_type == ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
3099
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
310
zt->zt_next = zio->io_transform_stack;
usr/src/uts/common/fs/zfs/zio.c
3103
zio = avl_first(&spa->spa_alloc_trees[allocator]);
usr/src/uts/common/fs/zfs/zio.c
3104
if (zio == NULL)
usr/src/uts/common/fs/zfs/zio.c
3107
ASSERT(IO_IS_ALLOCATING(zio));
usr/src/uts/common/fs/zfs/zio.c
311
zio->io_transform_stack = zt;
usr/src/uts/common/fs/zfs/zio.c
3113
ASSERT3U(zio->io_allocator, ==, allocator);
usr/src/uts/common/fs/zfs/zio.c
3114
if (!metaslab_class_throttle_reserve(zio->io_metaslab_class,
usr/src/uts/common/fs/zfs/zio.c
3115
zio->io_prop.zp_copies, zio->io_allocator, zio, 0)) {
usr/src/uts/common/fs/zfs/zio.c
3119
avl_remove(&spa->spa_alloc_trees[allocator], zio);
usr/src/uts/common/fs/zfs/zio.c
3120
ASSERT3U(zio->io_stage, <, ZIO_STAGE_DVA_ALLOCATE);
usr/src/uts/common/fs/zfs/zio.c
3122
return (zio);
usr/src/uts/common/fs/zfs/zio.c
3126
zio_dva_throttle(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3128
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
313
zio->io_abd = data;
usr/src/uts/common/fs/zfs/zio.c
3133
mc = spa_preferred_class(spa, zio->io_size, zio->io_prop.zp_type,
usr/src/uts/common/fs/zfs/zio.c
3134
zio->io_prop.zp_level, zio->io_prop.zp_zpl_smallblk);
usr/src/uts/common/fs/zfs/zio.c
3136
if (zio->io_priority == ZIO_PRIORITY_SYNC_WRITE ||
usr/src/uts/common/fs/zfs/zio.c
3138
zio->io_child_type == ZIO_CHILD_GANG ||
usr/src/uts/common/fs/zfs/zio.c
3139
zio->io_flags & ZIO_FLAG_NODATA) {
usr/src/uts/common/fs/zfs/zio.c
314
zio->io_size = size;
usr/src/uts/common/fs/zfs/zio.c
3143
ASSERT(zio->io_child_type > ZIO_CHILD_GANG);
usr/src/uts/common/fs/zfs/zio.c
3145
ASSERT3U(zio->io_queued_timestamp, >, 0);
usr/src/uts/common/fs/zfs/zio.c
3146
ASSERT(zio->io_stage == ZIO_STAGE_DVA_THROTTLE);
usr/src/uts/common/fs/zfs/zio.c
3148
zbookmark_phys_t *bm = &zio->io_bookmark;
usr/src/uts/common/fs/zfs/zio.c
3156
zio->io_allocator = cityhash4(bm->zb_objset, bm->zb_object,
usr/src/uts/common/fs/zfs/zio.c
3158
mutex_enter(&spa->spa_alloc_locks[zio->io_allocator]);
usr/src/uts/common/fs/zfs/zio.c
3159
ASSERT(zio->io_type == ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/zio.c
3160
zio->io_metaslab_class = mc;
usr/src/uts/common/fs/zfs/zio.c
3161
avl_add(&spa->spa_alloc_trees[zio->io_allocator], zio);
usr/src/uts/common/fs/zfs/zio.c
3162
nio = zio_io_to_allocate(spa, zio->io_allocator);
usr/src/uts/common/fs/zfs/zio.c
3163
mutex_exit(&spa->spa_alloc_locks[zio->io_allocator]);
usr/src/uts/common/fs/zfs/zio.c
3165
if (nio == zio)
usr/src/uts/common/fs/zfs/zio.c
318
zio_pop_transforms(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3186
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
3189
zio = zio_io_to_allocate(spa, allocator);
usr/src/uts/common/fs/zfs/zio.c
3191
if (zio == NULL)
usr/src/uts/common/fs/zfs/zio.c
3194
ASSERT3U(zio->io_stage, ==, ZIO_STAGE_DVA_THROTTLE);
usr/src/uts/common/fs/zfs/zio.c
3195
ASSERT0(zio->io_error);
usr/src/uts/common/fs/zfs/zio.c
3196
zio_taskq_dispatch(zio, ZIO_TASKQ_ISSUE, B_TRUE);
usr/src/uts/common/fs/zfs/zio.c
3200
zio_dva_allocate(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3202
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3204
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
3208
if (zio->io_gang_leader == NULL) {
usr/src/uts/common/fs/zfs/zio.c
3209
ASSERT(zio->io_child_type > ZIO_CHILD_GANG);
usr/src/uts/common/fs/zfs/zio.c
3210
zio->io_gang_leader = zio;
usr/src/uts/common/fs/zfs/zio.c
3215
ASSERT3U(zio->io_prop.zp_copies, >, 0);
usr/src/uts/common/fs/zfs/zio.c
3216
ASSERT3U(zio->io_prop.zp_copies, <=, spa_max_replication(spa));
usr/src/uts/common/fs/zfs/zio.c
3217
ASSERT3U(zio->io_size, ==, BP_GET_PSIZE(bp));
usr/src/uts/common/fs/zfs/zio.c
3219
if (zio->io_flags & ZIO_FLAG_NODATA)
usr/src/uts/common/fs/zfs/zio.c
322
while ((zt = zio->io_transform_stack) != NULL) {
usr/src/uts/common/fs/zfs/zio.c
3221
if (zio->io_flags & ZIO_FLAG_GANG_CHILD)
usr/src/uts/common/fs/zfs/zio.c
3223
if (zio->io_priority == ZIO_PRIORITY_ASYNC_WRITE)
usr/src/uts/common/fs/zfs/zio.c
3229
mc = zio->io_metaslab_class;
usr/src/uts/common/fs/zfs/zio.c
3231
mc = spa_preferred_class(spa, zio->io_size,
usr/src/uts/common/fs/zfs/zio.c
3232
zio->io_prop.zp_type, zio->io_prop.zp_level,
usr/src/uts/common/fs/zfs/zio.c
3233
zio->io_prop.zp_zpl_smallblk);
usr/src/uts/common/fs/zfs/zio.c
3234
zio->io_metaslab_class = mc;
usr/src/uts/common/fs/zfs/zio.c
3237
error = metaslab_alloc(spa, mc, zio->io_size, bp,
usr/src/uts/common/fs/zfs/zio.c
3238
zio->io_prop.zp_copies, zio->io_txg, NULL, flags,
usr/src/uts/common/fs/zfs/zio.c
3239
&zio->io_alloc_list, zio, zio->io_allocator);
usr/src/uts/common/fs/zfs/zio.c
324
zt->zt_transform(zio,
usr/src/uts/common/fs/zfs/zio.c
3251
(zio->io_flags & ZIO_FLAG_IO_ALLOCATING)) {
usr/src/uts/common/fs/zfs/zio.c
3253
zio->io_prop.zp_copies, zio->io_allocator, zio);
usr/src/uts/common/fs/zfs/zio.c
3254
zio->io_flags &= ~ZIO_FLAG_IO_ALLOCATING;
usr/src/uts/common/fs/zfs/zio.c
3258
zio->io_prop.zp_copies, zio->io_allocator, zio,
usr/src/uts/common/fs/zfs/zio.c
3263
zio->io_metaslab_class = mc;
usr/src/uts/common/fs/zfs/zio.c
3265
error = metaslab_alloc(spa, mc, zio->io_size, bp,
usr/src/uts/common/fs/zfs/zio.c
3266
zio->io_prop.zp_copies, zio->io_txg, NULL, flags,
usr/src/uts/common/fs/zfs/zio.c
3267
&zio->io_alloc_list, zio, zio->io_allocator);
usr/src/uts/common/fs/zfs/zio.c
3272
"size %llu, error %d", spa_name(spa), zio, zio->io_size,
usr/src/uts/common/fs/zfs/zio.c
3274
if (error == ENOSPC && zio->io_size > SPA_MINBLOCKSIZE)
usr/src/uts/common/fs/zfs/zio.c
3275
return (zio_write_gang_block(zio));
usr/src/uts/common/fs/zfs/zio.c
3276
zio->io_error = error;
usr/src/uts/common/fs/zfs/zio.c
328
abd_free(zio->io_abd);
usr/src/uts/common/fs/zfs/zio.c
3283
zio_dva_free(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3285
metaslab_free(zio->io_spa, zio->io_bp, zio->io_txg, B_FALSE);
usr/src/uts/common/fs/zfs/zio.c
3291
zio_dva_claim(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3295
error = metaslab_claim(zio->io_spa, zio->io_bp, zio->io_txg);
usr/src/uts/common/fs/zfs/zio.c
3297
zio->io_error = error;
usr/src/uts/common/fs/zfs/zio.c
330
zio->io_abd = zt->zt_orig_abd;
usr/src/uts/common/fs/zfs/zio.c
3308
zio_dva_unallocate(zio_t *zio, zio_gang_node_t *gn, blkptr_t *bp)
usr/src/uts/common/fs/zfs/zio.c
331
zio->io_size = zt->zt_orig_size;
usr/src/uts/common/fs/zfs/zio.c
3310
ASSERT(bp->blk_birth == zio->io_txg || BP_IS_HOLE(bp));
usr/src/uts/common/fs/zfs/zio.c
3311
ASSERT(zio->io_bp_override == NULL);
usr/src/uts/common/fs/zfs/zio.c
3314
metaslab_free(zio->io_spa, bp, bp->blk_birth, B_TRUE);
usr/src/uts/common/fs/zfs/zio.c
3318
zio_dva_unallocate(zio, gn->gn_child[g],
usr/src/uts/common/fs/zfs/zio.c
332
zio->io_transform_stack = zt->zt_next;
usr/src/uts/common/fs/zfs/zio.c
3421
zio_vdev_io_start(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3423
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/zio.c
3425
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3427
zio->io_delay = 0;
usr/src/uts/common/fs/zfs/zio.c
3429
ASSERT(zio->io_error == 0);
usr/src/uts/common/fs/zfs/zio.c
3430
ASSERT(zio->io_child_error[ZIO_CHILD_VDEV] == 0);
usr/src/uts/common/fs/zfs/zio.c
3433
if (!(zio->io_flags & ZIO_FLAG_CONFIG_WRITER))
usr/src/uts/common/fs/zfs/zio.c
3434
spa_config_enter(spa, SCL_ZIO, zio, RW_READER);
usr/src/uts/common/fs/zfs/zio.c
3439
vdev_mirror_ops.vdev_op_io_start(zio);
usr/src/uts/common/fs/zfs/zio.c
344
zio_subblock(zio_t *zio, abd_t *data, uint64_t size)
usr/src/uts/common/fs/zfs/zio.c
3443
ASSERT3P(zio->io_logical, !=, zio);
usr/src/uts/common/fs/zfs/zio.c
3444
if (zio->io_type == ZIO_TYPE_WRITE) {
usr/src/uts/common/fs/zfs/zio.c
3451
if (zio->io_vd->vdev_removing) {
usr/src/uts/common/fs/zfs/zio.c
3452
ASSERT(zio->io_flags &
usr/src/uts/common/fs/zfs/zio.c
346
ASSERT(zio->io_size > size);
usr/src/uts/common/fs/zfs/zio.c
3460
if (!(zio->io_flags & ZIO_FLAG_PHYSICAL) &&
usr/src/uts/common/fs/zfs/zio.c
3461
P2PHASE(zio->io_size, align) != 0) {
usr/src/uts/common/fs/zfs/zio.c
3463
uint64_t asize = P2ROUNDUP(zio->io_size, align);
usr/src/uts/common/fs/zfs/zio.c
3464
abd_t *abuf = abd_alloc_sametype(zio->io_abd, asize);
usr/src/uts/common/fs/zfs/zio.c
3466
if (zio->io_type == ZIO_TYPE_WRITE) {
usr/src/uts/common/fs/zfs/zio.c
3467
abd_copy(abuf, zio->io_abd, zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
3468
abd_zero_off(abuf, zio->io_size, asize - zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
3470
zio_push_transform(zio, abuf, asize, asize, zio_subblock);
usr/src/uts/common/fs/zfs/zio.c
3477
if (!(zio->io_flags & ZIO_FLAG_PHYSICAL)) {
usr/src/uts/common/fs/zfs/zio.c
3478
ASSERT0(P2PHASE(zio->io_offset, align));
usr/src/uts/common/fs/zfs/zio.c
3479
ASSERT0(P2PHASE(zio->io_size, align));
usr/src/uts/common/fs/zfs/zio.c
348
if (zio->io_type == ZIO_TYPE_READ)
usr/src/uts/common/fs/zfs/zio.c
3485
ASSERT0(P2PHASE(zio->io_offset, SPA_MINBLOCKSIZE));
usr/src/uts/common/fs/zfs/zio.c
3486
ASSERT0(P2PHASE(zio->io_size, SPA_MINBLOCKSIZE));
usr/src/uts/common/fs/zfs/zio.c
3489
VERIFY(zio->io_type != ZIO_TYPE_WRITE || spa_writeable(spa));
usr/src/uts/common/fs/zfs/zio.c
349
abd_copy(data, zio->io_abd, size);
usr/src/uts/common/fs/zfs/zio.c
3522
if ((zio->io_flags & ZIO_FLAG_IO_REPAIR) &&
usr/src/uts/common/fs/zfs/zio.c
3523
!(zio->io_flags & ZIO_FLAG_SELF_HEAL) &&
usr/src/uts/common/fs/zfs/zio.c
3524
zio->io_txg != 0 && /* not a delegated i/o */
usr/src/uts/common/fs/zfs/zio.c
3526
!vdev_dtl_contains(vd, DTL_PARTIAL, zio->io_txg, 1)) {
usr/src/uts/common/fs/zfs/zio.c
3527
ASSERT(zio->io_type == ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/zio.c
3528
zio_vdev_io_bypass(zio);
usr/src/uts/common/fs/zfs/zio.c
353
zio_decompress(zio_t *zio, abd_t *data, uint64_t size)
usr/src/uts/common/fs/zfs/zio.c
3532
if (vd->vdev_ops->vdev_op_leaf && (zio->io_type == ZIO_TYPE_READ ||
usr/src/uts/common/fs/zfs/zio.c
3533
zio->io_type == ZIO_TYPE_WRITE || zio->io_type == ZIO_TYPE_TRIM)) {
usr/src/uts/common/fs/zfs/zio.c
3535
if (zio->io_type == ZIO_TYPE_READ && vdev_cache_read(zio))
usr/src/uts/common/fs/zfs/zio.c
3538
if ((zio = vdev_queue_io(zio)) == NULL)
usr/src/uts/common/fs/zfs/zio.c
3541
if (!vdev_accessible(vd, zio)) {
usr/src/uts/common/fs/zfs/zio.c
3542
zio->io_error = SET_ERROR(ENXIO);
usr/src/uts/common/fs/zfs/zio.c
3543
zio_interrupt(zio);
usr/src/uts/common/fs/zfs/zio.c
3546
zio->io_delay = gethrtime();
usr/src/uts/common/fs/zfs/zio.c
3549
vd->vdev_ops->vdev_op_io_start(zio);
usr/src/uts/common/fs/zfs/zio.c
355
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/zio.c
3554
zio_vdev_io_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3556
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/zio.c
3560
if (zio_wait_for_children(zio, ZIO_CHILD_VDEV_BIT, ZIO_WAIT_DONE)) {
usr/src/uts/common/fs/zfs/zio.c
3564
ASSERT(zio->io_type == ZIO_TYPE_READ ||
usr/src/uts/common/fs/zfs/zio.c
3565
zio->io_type == ZIO_TYPE_WRITE || zio->io_type == ZIO_TYPE_TRIM);
usr/src/uts/common/fs/zfs/zio.c
3567
if (zio->io_delay)
usr/src/uts/common/fs/zfs/zio.c
3568
zio->io_delay = gethrtime() - zio->io_delay;
usr/src/uts/common/fs/zfs/zio.c
357
int ret = zio_decompress_data(BP_GET_COMPRESS(zio->io_bp),
usr/src/uts/common/fs/zfs/zio.c
3572
vdev_queue_io_done(zio);
usr/src/uts/common/fs/zfs/zio.c
3574
if (zio->io_type == ZIO_TYPE_WRITE)
usr/src/uts/common/fs/zfs/zio.c
3575
vdev_cache_write(zio);
usr/src/uts/common/fs/zfs/zio.c
3577
if (zio_injection_enabled && zio->io_error == 0)
usr/src/uts/common/fs/zfs/zio.c
3578
zio->io_error = zio_handle_device_injection(vd,
usr/src/uts/common/fs/zfs/zio.c
3579
zio, EIO);
usr/src/uts/common/fs/zfs/zio.c
358
zio->io_abd, tmp, zio->io_size, size);
usr/src/uts/common/fs/zfs/zio.c
3581
if (zio_injection_enabled && zio->io_error == 0)
usr/src/uts/common/fs/zfs/zio.c
3582
zio->io_error = zio_handle_label_injection(zio, EIO);
usr/src/uts/common/fs/zfs/zio.c
3584
if (zio->io_error && zio->io_type != ZIO_TYPE_TRIM) {
usr/src/uts/common/fs/zfs/zio.c
3585
if (!vdev_accessible(vd, zio)) {
usr/src/uts/common/fs/zfs/zio.c
3586
zio->io_error = SET_ERROR(ENXIO);
usr/src/uts/common/fs/zfs/zio.c
3593
ops->vdev_op_io_done(zio);
usr/src/uts/common/fs/zfs/zio.c
3596
VERIFY(vdev_probe(vd, zio) == NULL);
usr/src/uts/common/fs/zfs/zio.c
362
zio->io_error = SET_ERROR(EIO);
usr/src/uts/common/fs/zfs/zio.c
3644
zio_vsd_default_cksum_report(zio_t *zio, zio_cksum_report_t *zcr, void *ignored)
usr/src/uts/common/fs/zfs/zio.c
3646
void *abd = abd_alloc_sametype(zio->io_abd, zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
3648
abd_copy(abd, zio->io_abd, zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
3650
zcr->zcr_cbinfo = zio->io_size;
usr/src/uts/common/fs/zfs/zio.c
3657
zio_vdev_io_assess(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3659
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/zio.c
3661
if (zio_wait_for_children(zio, ZIO_CHILD_VDEV_BIT, ZIO_WAIT_DONE)) {
usr/src/uts/common/fs/zfs/zio.c
3665
if (vd == NULL && !(zio->io_flags & ZIO_FLAG_CONFIG_WRITER))
usr/src/uts/common/fs/zfs/zio.c
3666
spa_config_exit(zio->io_spa, SCL_ZIO, zio);
usr/src/uts/common/fs/zfs/zio.c
3668
if (zio->io_vsd != NULL) {
usr/src/uts/common/fs/zfs/zio.c
3669
zio->io_vsd_ops->vsd_free(zio);
usr/src/uts/common/fs/zfs/zio.c
367
zio_decrypt(zio_t *zio, abd_t *data, uint64_t size)
usr/src/uts/common/fs/zfs/zio.c
3670
zio->io_vsd = NULL;
usr/src/uts/common/fs/zfs/zio.c
3673
if (zio_injection_enabled && zio->io_error == 0)
usr/src/uts/common/fs/zfs/zio.c
3674
zio->io_error = zio_handle_fault_injection(zio, EIO);
usr/src/uts/common/fs/zfs/zio.c
3682
if (zio->io_error && vd == NULL &&
usr/src/uts/common/fs/zfs/zio.c
3683
!(zio->io_flags & (ZIO_FLAG_DONT_RETRY | ZIO_FLAG_IO_RETRY))) {
usr/src/uts/common/fs/zfs/zio.c
3684
ASSERT(!(zio->io_flags & ZIO_FLAG_DONT_QUEUE)); /* not a leaf */
usr/src/uts/common/fs/zfs/zio.c
3685
ASSERT(!(zio->io_flags & ZIO_FLAG_IO_BYPASS)); /* not a leaf */
usr/src/uts/common/fs/zfs/zio.c
3686
zio->io_error = 0;
usr/src/uts/common/fs/zfs/zio.c
3687
zio->io_flags |= ZIO_FLAG_IO_RETRY |
usr/src/uts/common/fs/zfs/zio.c
3689
zio->io_stage = ZIO_STAGE_VDEV_IO_START >> 1;
usr/src/uts/common/fs/zfs/zio.c
3690
zio_taskq_dispatch(zio, ZIO_TASKQ_ISSUE,
usr/src/uts/common/fs/zfs/zio.c
3699
if (zio->io_error && vd != NULL && vd->vdev_ops->vdev_op_leaf &&
usr/src/uts/common/fs/zfs/zio.c
3700
!vdev_accessible(vd, zio))
usr/src/uts/common/fs/zfs/zio.c
3701
zio->io_error = SET_ERROR(ENXIO);
usr/src/uts/common/fs/zfs/zio.c
3707
if (zio->io_error == ENXIO && zio->io_type == ZIO_TYPE_WRITE &&
usr/src/uts/common/fs/zfs/zio.c
371
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
3717
if ((zio->io_error == ENOTSUP || zio->io_error == ENOTTY) &&
usr/src/uts/common/fs/zfs/zio.c
3718
zio->io_type == ZIO_TYPE_IOCTL &&
usr/src/uts/common/fs/zfs/zio.c
3719
zio->io_cmd == DKIOCFLUSHWRITECACHE && vd != NULL)
usr/src/uts/common/fs/zfs/zio.c
372
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3722
if (zio->io_error)
usr/src/uts/common/fs/zfs/zio.c
3723
zio->io_pipeline = ZIO_INTERLOCK_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
3726
zio->io_physdone != NULL) {
usr/src/uts/common/fs/zfs/zio.c
3727
ASSERT(!(zio->io_flags & ZIO_FLAG_DELEGATED));
usr/src/uts/common/fs/zfs/zio.c
3728
ASSERT(zio->io_child_type == ZIO_CHILD_VDEV);
usr/src/uts/common/fs/zfs/zio.c
3729
zio->io_physdone(zio->io_logical);
usr/src/uts/common/fs/zfs/zio.c
373
uint64_t dsobj = zio->io_bookmark.zb_objset;
usr/src/uts/common/fs/zfs/zio.c
3736
zio_vdev_io_reissue(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3738
ASSERT(zio->io_stage == ZIO_STAGE_VDEV_IO_START);
usr/src/uts/common/fs/zfs/zio.c
3739
ASSERT(zio->io_error == 0);
usr/src/uts/common/fs/zfs/zio.c
3741
zio->io_stage >>= 1;
usr/src/uts/common/fs/zfs/zio.c
3745
zio_vdev_io_redone(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3747
ASSERT(zio->io_stage == ZIO_STAGE_VDEV_IO_DONE);
usr/src/uts/common/fs/zfs/zio.c
3749
zio->io_stage >>= 1;
usr/src/uts/common/fs/zfs/zio.c
3753
zio_vdev_io_bypass(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3755
ASSERT(zio->io_stage == ZIO_STAGE_VDEV_IO_START);
usr/src/uts/common/fs/zfs/zio.c
3756
ASSERT(zio->io_error == 0);
usr/src/uts/common/fs/zfs/zio.c
3758
zio->io_flags |= ZIO_FLAG_IO_BYPASS;
usr/src/uts/common/fs/zfs/zio.c
3759
zio->io_stage = ZIO_STAGE_VDEV_IO_ASSESS >> 1;
usr/src/uts/common/fs/zfs/zio.c
3775
zio_encrypt(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3777
zio_prop_t *zp = &zio->io_prop;
usr/src/uts/common/fs/zfs/zio.c
3778
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3779
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
3781
uint64_t dsobj = zio->io_bookmark.zb_objset;
usr/src/uts/common/fs/zfs/zio.c
3791
if (zio->io_child_type == ZIO_CHILD_GANG)
usr/src/uts/common/fs/zfs/zio.c
3795
if (!IO_IS_ALLOCATING(zio) && ot != DMU_OT_INTENT_LOG)
usr/src/uts/common/fs/zfs/zio.c
3804
if (zio->io_flags & ZIO_FLAG_RAW_ENCRYPT) {
usr/src/uts/common/fs/zfs/zio.c
3818
abd_copy_to_buf(bswap_buf, zio->io_abd, psize);
usr/src/uts/common/fs/zfs/zio.c
3823
zio_push_transform(zio, babd, psize, psize, NULL);
usr/src/uts/common/fs/zfs/zio.c
3835
zio->io_orig_abd, BP_GET_LSIZE(bp), BP_SHOULD_BYTESWAP(bp),
usr/src/uts/common/fs/zfs/zio.c
384
if (zio->io_error != 0)
usr/src/uts/common/fs/zfs/zio.c
3850
zio->io_abd, psize, BP_SHOULD_BYTESWAP(bp)));
usr/src/uts/common/fs/zfs/zio.c
3858
zio->io_abd, psize, mac));
usr/src/uts/common/fs/zfs/zio.c
3872
ASSERT(IO_IS_ALLOCATING(zio) || ot == DMU_OT_INTENT_LOG);
usr/src/uts/common/fs/zfs/zio.c
3892
VERIFY0(spa_do_crypt_abd(B_TRUE, spa, &zio->io_bookmark,
usr/src/uts/common/fs/zfs/zio.c
3894
salt, iv, mac, psize, zio->io_abd, eabd, &no_crypt));
usr/src/uts/common/fs/zfs/zio.c
3903
zio_push_transform(zio, eabd, psize, psize, NULL);
usr/src/uts/common/fs/zfs/zio.c
3913
zio_push_transform(zio, eabd, psize, psize, NULL);
usr/src/uts/common/fs/zfs/zio.c
3926
zio_checksum_generate(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3928
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
3936
checksum = zio->io_prop.zp_checksum;
usr/src/uts/common/fs/zfs/zio.c
3943
if (BP_IS_GANG(bp) && zio->io_child_type == ZIO_CHILD_GANG) {
usr/src/uts/common/fs/zfs/zio.c
3944
ASSERT(!IO_IS_ALLOCATING(zio));
usr/src/uts/common/fs/zfs/zio.c
3951
zio_checksum_compute(zio, checksum, zio->io_abd, zio->io_size);
usr/src/uts/common/fs/zfs/zio.c
3957
zio_checksum_verify(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3960
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
3963
ASSERT(zio->io_vd != NULL);
usr/src/uts/common/fs/zfs/zio.c
3970
if (zio->io_prop.zp_checksum == ZIO_CHECKSUM_OFF)
usr/src/uts/common/fs/zfs/zio.c
3973
ASSERT(zio->io_prop.zp_checksum == ZIO_CHECKSUM_LABEL);
usr/src/uts/common/fs/zfs/zio.c
3976
if ((error = zio_checksum_error(zio, &info)) != 0) {
usr/src/uts/common/fs/zfs/zio.c
3977
zio->io_error = error;
usr/src/uts/common/fs/zfs/zio.c
3979
!(zio->io_flags & ZIO_FLAG_SPECULATIVE)) {
usr/src/uts/common/fs/zfs/zio.c
3980
zfs_ereport_start_checksum(zio->io_spa,
usr/src/uts/common/fs/zfs/zio.c
3981
zio->io_vd, &zio->io_bookmark, zio,
usr/src/uts/common/fs/zfs/zio.c
3982
zio->io_offset, zio->io_size, NULL, &info);
usr/src/uts/common/fs/zfs/zio.c
3993
zio_checksum_verified(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
3995
zio->io_pipeline &= ~ZIO_STAGE_CHECKSUM_VERIFY;
usr/src/uts/common/fs/zfs/zio.c
4030
zio_ready(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
4032
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
4036
if (zio_wait_for_children(zio, ZIO_CHILD_GANG_BIT | ZIO_CHILD_DDT_BIT,
usr/src/uts/common/fs/zfs/zio.c
4041
if (zio->io_ready) {
usr/src/uts/common/fs/zfs/zio.c
4042
ASSERT(IO_IS_ALLOCATING(zio));
usr/src/uts/common/fs/zfs/zio.c
4043
ASSERT(bp->blk_birth == zio->io_txg || BP_IS_HOLE(bp) ||
usr/src/uts/common/fs/zfs/zio.c
4044
(zio->io_flags & ZIO_FLAG_NOPWRITE));
usr/src/uts/common/fs/zfs/zio.c
4045
ASSERT(zio->io_children[ZIO_CHILD_GANG][ZIO_WAIT_READY] == 0);
usr/src/uts/common/fs/zfs/zio.c
4047
zio->io_ready(zio);
usr/src/uts/common/fs/zfs/zio.c
405
zio->io_abd, tmp, zio->io_size, lsize);
usr/src/uts/common/fs/zfs/zio.c
4050
if (bp != NULL && bp != &zio->io_bp_copy)
usr/src/uts/common/fs/zfs/zio.c
4051
zio->io_bp_copy = *bp;
usr/src/uts/common/fs/zfs/zio.c
4053
if (zio->io_error != 0) {
usr/src/uts/common/fs/zfs/zio.c
4054
zio->io_pipeline = ZIO_INTERLOCK_PIPELINE;
usr/src/uts/common/fs/zfs/zio.c
4056
if (zio->io_flags & ZIO_FLAG_IO_ALLOCATING) {
usr/src/uts/common/fs/zfs/zio.c
4057
ASSERT(IO_IS_ALLOCATING(zio));
usr/src/uts/common/fs/zfs/zio.c
4058
ASSERT(zio->io_priority == ZIO_PRIORITY_ASYNC_WRITE);
usr/src/uts/common/fs/zfs/zio.c
4059
ASSERT(zio->io_metaslab_class != NULL);
usr/src/uts/common/fs/zfs/zio.c
4066
zio->io_metaslab_class, zio->io_prop.zp_copies,
usr/src/uts/common/fs/zfs/zio.c
4067
zio->io_allocator, zio);
usr/src/uts/common/fs/zfs/zio.c
4068
zio_allocate_dispatch(zio->io_spa, zio->io_allocator);
usr/src/uts/common/fs/zfs/zio.c
4072
mutex_enter(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
4073
zio->io_state[ZIO_WAIT_READY] = 1;
usr/src/uts/common/fs/zfs/zio.c
4074
pio = zio_walk_parents(zio, &zl);
usr/src/uts/common/fs/zfs/zio.c
4075
mutex_exit(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
4085
pio_next = zio_walk_parents(zio, &zl);
usr/src/uts/common/fs/zfs/zio.c
4086
zio_notify_parent(pio, zio, ZIO_WAIT_READY);
usr/src/uts/common/fs/zfs/zio.c
4089
if (zio->io_flags & ZIO_FLAG_NODATA) {
usr/src/uts/common/fs/zfs/zio.c
4091
zio->io_flags &= ~ZIO_FLAG_NODATA;
usr/src/uts/common/fs/zfs/zio.c
4093
ASSERT((uintptr_t)zio->io_abd < SPA_MAXBLOCKSIZE);
usr/src/uts/common/fs/zfs/zio.c
4094
zio->io_pipeline &= ~ZIO_VDEV_IO_STAGES;
usr/src/uts/common/fs/zfs/zio.c
4099
zio->io_spa->spa_syncing_txg == zio->io_txg)
usr/src/uts/common/fs/zfs/zio.c
4100
zio_handle_ignored_writes(zio);
usr/src/uts/common/fs/zfs/zio.c
4109
zio_dva_throttle_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
4111
zio_t *lio = zio->io_logical;
usr/src/uts/common/fs/zfs/zio.c
4112
zio_t *pio = zio_unique_parent(zio);
usr/src/uts/common/fs/zfs/zio.c
4113
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/zio.c
4116
ASSERT3P(zio->io_bp, !=, NULL);
usr/src/uts/common/fs/zfs/zio.c
4117
ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/zio.c
4118
ASSERT3U(zio->io_priority, ==, ZIO_PRIORITY_ASYNC_WRITE);
usr/src/uts/common/fs/zfs/zio.c
4119
ASSERT3U(zio->io_child_type, ==, ZIO_CHILD_VDEV);
usr/src/uts/common/fs/zfs/zio.c
4122
ASSERT(!(zio->io_flags & (ZIO_FLAG_IO_REPAIR | ZIO_FLAG_IO_RETRY)));
usr/src/uts/common/fs/zfs/zio.c
4123
ASSERT(zio->io_flags & ZIO_FLAG_IO_ALLOCATING);
usr/src/uts/common/fs/zfs/zio.c
4145
ASSERT3P(zio, !=, zio->io_logical);
usr/src/uts/common/fs/zfs/zio.c
4146
ASSERT(zio->io_logical != NULL);
usr/src/uts/common/fs/zfs/zio.c
4147
ASSERT(!(zio->io_flags & ZIO_FLAG_IO_REPAIR));
usr/src/uts/common/fs/zfs/zio.c
4148
ASSERT0(zio->io_flags & ZIO_FLAG_NOPWRITE);
usr/src/uts/common/fs/zfs/zio.c
4149
ASSERT(zio->io_metaslab_class != NULL);
usr/src/uts/common/fs/zfs/zio.c
415
zio->io_abd, size, BP_SHOULD_BYTESWAP(bp), mac);
usr/src/uts/common/fs/zfs/zio.c
4152
metaslab_group_alloc_decrement(zio->io_spa, vd->vdev_id, pio, flags,
usr/src/uts/common/fs/zfs/zio.c
4156
metaslab_class_throttle_unreserve(zio->io_metaslab_class, 1,
usr/src/uts/common/fs/zfs/zio.c
4164
zio_allocate_dispatch(zio->io_spa, pio->io_allocator);
usr/src/uts/common/fs/zfs/zio.c
4168
zio_done(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
417
abd_copy(data, zio->io_abd, size);
usr/src/uts/common/fs/zfs/zio.c
4170
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
4171
zio_t *lio = zio->io_logical;
usr/src/uts/common/fs/zfs/zio.c
4172
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio.c
4173
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/zio.c
4174
uint64_t psize = zio->io_size;
usr/src/uts/common/fs/zfs/zio.c
4182
if (zio_wait_for_children(zio, ZIO_CHILD_ALL_BITS, ZIO_WAIT_DONE)) {
usr/src/uts/common/fs/zfs/zio.c
4192
if (zio->io_flags & ZIO_FLAG_IO_ALLOCATING &&
usr/src/uts/common/fs/zfs/zio.c
4193
zio->io_child_type == ZIO_CHILD_VDEV) {
usr/src/uts/common/fs/zfs/zio.c
4194
ASSERT(zio->io_metaslab_class != NULL);
usr/src/uts/common/fs/zfs/zio.c
4195
ASSERT(zio->io_metaslab_class->mc_alloc_throttle_enabled);
usr/src/uts/common/fs/zfs/zio.c
4196
zio_dva_throttle_done(zio);
usr/src/uts/common/fs/zfs/zio.c
4203
if (zio->io_flags & ZIO_FLAG_IO_ALLOCATING) {
usr/src/uts/common/fs/zfs/zio.c
4204
ASSERT(zio->io_type == ZIO_TYPE_WRITE);
usr/src/uts/common/fs/zfs/zio.c
4205
ASSERT(zio->io_priority == ZIO_PRIORITY_ASYNC_WRITE);
usr/src/uts/common/fs/zfs/zio.c
4208
metaslab_group_alloc_verify(spa, zio->io_bp, zio,
usr/src/uts/common/fs/zfs/zio.c
4209
zio->io_allocator);
usr/src/uts/common/fs/zfs/zio.c
4211
&zio->io_metaslab_class->mc_alloc_slots[zio->io_allocator],
usr/src/uts/common/fs/zfs/zio.c
4212
zio));
usr/src/uts/common/fs/zfs/zio.c
4217
ASSERT(zio->io_children[c][w] == 0);
usr/src/uts/common/fs/zfs/zio.c
4222
ASSERT(bcmp(bp, &zio->io_bp_copy, sizeof (blkptr_t)) == 0 ||
usr/src/uts/common/fs/zfs/zio.c
4223
(bp == zio_unique_parent(zio)->io_bp));
usr/src/uts/common/fs/zfs/zio.c
4224
if (zio->io_type == ZIO_TYPE_WRITE && !BP_IS_HOLE(bp) &&
usr/src/uts/common/fs/zfs/zio.c
4225
zio->io_bp_override == NULL &&
usr/src/uts/common/fs/zfs/zio.c
4226
!(zio->io_flags & ZIO_FLAG_IO_REPAIR)) {
usr/src/uts/common/fs/zfs/zio.c
4227
ASSERT3U(zio->io_prop.zp_copies, <=, BP_GET_NDVAS(bp));
usr/src/uts/common/fs/zfs/zio.c
4231
if (zio->io_flags & ZIO_FLAG_NOPWRITE)
usr/src/uts/common/fs/zfs/zio.c
4232
VERIFY(BP_EQUAL(bp, &zio->io_bp_orig));
usr/src/uts/common/fs/zfs/zio.c
4238
zio_inherit_child_errors(zio, ZIO_CHILD_VDEV);
usr/src/uts/common/fs/zfs/zio.c
4239
zio_inherit_child_errors(zio, ZIO_CHILD_GANG);
usr/src/uts/common/fs/zfs/zio.c
4240
zio_inherit_child_errors(zio, ZIO_CHILD_DDT);
usr/src/uts/common/fs/zfs/zio.c
4246
if (zio->io_error == 0) {
usr/src/uts/common/fs/zfs/zio.c
4247
while (zio->io_cksum_report != NULL) {
usr/src/uts/common/fs/zfs/zio.c
4248
zio_cksum_report_t *zcr = zio->io_cksum_report;
usr/src/uts/common/fs/zfs/zio.c
4251
abd_t *adata = zio->io_abd;
usr/src/uts/common/fs/zfs/zio.c
4255
abd_copy(adata, zio->io_abd, psize);
usr/src/uts/common/fs/zfs/zio.c
4259
zio->io_cksum_report = zcr->zcr_next;
usr/src/uts/common/fs/zfs/zio.c
4269
zio_pop_transforms(zio); /* note: may set zio->io_error */
usr/src/uts/common/fs/zfs/zio.c
4271
vdev_stat_update(zio, psize);
usr/src/uts/common/fs/zfs/zio.c
4273
if (zio->io_delay >= MSEC2NSEC(zio_slow_io_ms)) {
usr/src/uts/common/fs/zfs/zio.c
4274
if (zio->io_vd != NULL && !vdev_is_dead(zio->io_vd)) {
usr/src/uts/common/fs/zfs/zio.c
4284
zio->io_spa, zio->io_vd, zio)) {
usr/src/uts/common/fs/zfs/zio.c
4285
mutex_enter(&zio->io_vd->vdev_stat_lock);
usr/src/uts/common/fs/zfs/zio.c
4286
zio->io_vd->vdev_stat.vs_slow_ios++;
usr/src/uts/common/fs/zfs/zio.c
4287
mutex_exit(&zio->io_vd->vdev_stat_lock);
usr/src/uts/common/fs/zfs/zio.c
4290
zio->io_spa, zio->io_vd, &zio->io_bookmark,
usr/src/uts/common/fs/zfs/zio.c
4291
zio, 0, 0);
usr/src/uts/common/fs/zfs/zio.c
4296
if (zio->io_error) {
usr/src/uts/common/fs/zfs/zio.c
4303
if (zio->io_error != ECKSUM && vd != NULL && !vdev_is_dead(vd))
usr/src/uts/common/fs/zfs/zio.c
4305
&zio->io_bookmark, zio, 0, 0);
usr/src/uts/common/fs/zfs/zio.c
4307
if ((zio->io_error == EIO || !(zio->io_flags &
usr/src/uts/common/fs/zfs/zio.c
4309
zio == lio) {
usr/src/uts/common/fs/zfs/zio.c
4314
spa_log_error(spa, &zio->io_bookmark);
usr/src/uts/common/fs/zfs/zio.c
4316
&zio->io_bookmark, zio, 0, 0);
usr/src/uts/common/fs/zfs/zio.c
4320
if (zio->io_error && zio == lio) {
usr/src/uts/common/fs/zfs/zio.c
4326
ASSERT(zio->io_child_type == ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
4328
if (IO_IS_ALLOCATING(zio) &&
usr/src/uts/common/fs/zfs/zio.c
4329
!(zio->io_flags & ZIO_FLAG_CANFAIL)) {
usr/src/uts/common/fs/zfs/zio.c
433
dsobj, zio->io_abd, size, BP_SHOULD_BYTESWAP(bp));
usr/src/uts/common/fs/zfs/zio.c
4330
if (zio->io_error != ENOSPC)
usr/src/uts/common/fs/zfs/zio.c
4331
zio->io_reexecute |= ZIO_REEXECUTE_NOW;
usr/src/uts/common/fs/zfs/zio.c
4333
zio->io_reexecute |= ZIO_REEXECUTE_SUSPEND;
usr/src/uts/common/fs/zfs/zio.c
4336
if ((zio->io_type == ZIO_TYPE_READ ||
usr/src/uts/common/fs/zfs/zio.c
4337
zio->io_type == ZIO_TYPE_FREE) &&
usr/src/uts/common/fs/zfs/zio.c
4338
!(zio->io_flags & ZIO_FLAG_SCAN_THREAD) &&
usr/src/uts/common/fs/zfs/zio.c
4339
zio->io_error == ENXIO &&
usr/src/uts/common/fs/zfs/zio.c
4342
zio->io_reexecute |= ZIO_REEXECUTE_SUSPEND;
usr/src/uts/common/fs/zfs/zio.c
4344
if (!(zio->io_flags & ZIO_FLAG_CANFAIL) && !zio->io_reexecute)
usr/src/uts/common/fs/zfs/zio.c
4345
zio->io_reexecute |= ZIO_REEXECUTE_SUSPEND;
usr/src/uts/common/fs/zfs/zio.c
4362
zio_inherit_child_errors(zio, ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
4364
if ((zio->io_error || zio->io_reexecute) &&
usr/src/uts/common/fs/zfs/zio.c
4365
IO_IS_ALLOCATING(zio) && zio->io_gang_leader == zio &&
usr/src/uts/common/fs/zfs/zio.c
4366
!(zio->io_flags & (ZIO_FLAG_IO_REWRITE | ZIO_FLAG_NOPWRITE)))
usr/src/uts/common/fs/zfs/zio.c
4367
zio_dva_unallocate(zio, zio->io_gang_tree, bp);
usr/src/uts/common/fs/zfs/zio.c
4369
zio_gang_tree_free(&zio->io_gang_tree);
usr/src/uts/common/fs/zfs/zio.c
437
zio->io_abd, size, mac);
usr/src/uts/common/fs/zfs/zio.c
4374
if ((zio->io_flags & ZIO_FLAG_GODFATHER) &&
usr/src/uts/common/fs/zfs/zio.c
4375
(zio->io_reexecute & ZIO_REEXECUTE_SUSPEND))
usr/src/uts/common/fs/zfs/zio.c
4376
zio->io_reexecute = 0;
usr/src/uts/common/fs/zfs/zio.c
4378
if (zio->io_reexecute) {
usr/src/uts/common/fs/zfs/zio.c
439
abd_copy(data, zio->io_abd, size);
usr/src/uts/common/fs/zfs/zio.c
4392
ASSERT(zio->io_child_type == ZIO_CHILD_LOGICAL);
usr/src/uts/common/fs/zfs/zio.c
4394
zio->io_gang_leader = NULL;
usr/src/uts/common/fs/zfs/zio.c
4396
mutex_enter(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
4397
zio->io_state[ZIO_WAIT_DONE] = 1;
usr/src/uts/common/fs/zfs/zio.c
4398
mutex_exit(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
4408
for (pio = zio_walk_parents(zio, &zl); pio != NULL;
usr/src/uts/common/fs/zfs/zio.c
4411
pio_next = zio_walk_parents(zio, &zl);
usr/src/uts/common/fs/zfs/zio.c
4414
(zio->io_reexecute & ZIO_REEXECUTE_SUSPEND)) {
usr/src/uts/common/fs/zfs/zio.c
4415
zio_remove_child(pio, zio, remove_zl);
usr/src/uts/common/fs/zfs/zio.c
4416
zio_notify_parent(pio, zio, ZIO_WAIT_DONE);
usr/src/uts/common/fs/zfs/zio.c
4420
if ((pio = zio_unique_parent(zio)) != NULL) {
usr/src/uts/common/fs/zfs/zio.c
4426
ASSERT(!(zio->io_flags & ZIO_FLAG_GODFATHER));
usr/src/uts/common/fs/zfs/zio.c
4427
zio->io_flags |= ZIO_FLAG_DONT_PROPAGATE;
usr/src/uts/common/fs/zfs/zio.c
4428
zio_notify_parent(pio, zio, ZIO_WAIT_DONE);
usr/src/uts/common/fs/zfs/zio.c
4429
} else if (zio->io_reexecute & ZIO_REEXECUTE_SUSPEND) {
usr/src/uts/common/fs/zfs/zio.c
443
&zio->io_bookmark, ot, ECKSUM);
usr/src/uts/common/fs/zfs/zio.c
4434
zio_suspend(zio->io_spa, zio, ZIO_SUSPEND_IOERR);
usr/src/uts/common/fs/zfs/zio.c
4440
ASSERT(zio->io_tqent.tqent_next == NULL);
usr/src/uts/common/fs/zfs/zio.c
4442
ZIO_TASKQ_ISSUE, (task_func_t *)zio_reexecute, zio,
usr/src/uts/common/fs/zfs/zio.c
4443
0, &zio->io_tqent);
usr/src/uts/common/fs/zfs/zio.c
4448
ASSERT(zio->io_child_count == 0);
usr/src/uts/common/fs/zfs/zio.c
4449
ASSERT(zio->io_reexecute == 0);
usr/src/uts/common/fs/zfs/zio.c
4450
ASSERT(zio->io_error == 0 || (zio->io_flags & ZIO_FLAG_CANFAIL));
usr/src/uts/common/fs/zfs/zio.c
4455
while (zio->io_cksum_report != NULL) {
usr/src/uts/common/fs/zfs/zio.c
4456
zio_cksum_report_t *zcr = zio->io_cksum_report;
usr/src/uts/common/fs/zfs/zio.c
4457
zio->io_cksum_report = zcr->zcr_next;
usr/src/uts/common/fs/zfs/zio.c
4468
if (zio->io_done)
usr/src/uts/common/fs/zfs/zio.c
4469
zio->io_done(zio);
usr/src/uts/common/fs/zfs/zio.c
4471
mutex_enter(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
4472
zio->io_state[ZIO_WAIT_DONE] = 1;
usr/src/uts/common/fs/zfs/zio.c
4473
mutex_exit(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
4476
for (pio = zio_walk_parents(zio, &zl); pio != NULL; pio = pio_next) {
usr/src/uts/common/fs/zfs/zio.c
4478
pio_next = zio_walk_parents(zio, &zl);
usr/src/uts/common/fs/zfs/zio.c
4479
zio_remove_child(pio, zio, remove_zl);
usr/src/uts/common/fs/zfs/zio.c
4480
zio_notify_parent(pio, zio, ZIO_WAIT_DONE);
usr/src/uts/common/fs/zfs/zio.c
4483
if (zio->io_waiter != NULL) {
usr/src/uts/common/fs/zfs/zio.c
4484
mutex_enter(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
4485
zio->io_executor = NULL;
usr/src/uts/common/fs/zfs/zio.c
4486
cv_broadcast(&zio->io_cv);
usr/src/uts/common/fs/zfs/zio.c
4487
mutex_exit(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
4489
zio_destroy(zio);
usr/src/uts/common/fs/zfs/zio.c
454
tmp = abd_borrow_buf_copy(zio->io_abd, sizeof (zil_chain_t));
usr/src/uts/common/fs/zfs/zio.c
456
abd_return_buf(zio->io_abd, tmp, sizeof (zil_chain_t));
usr/src/uts/common/fs/zfs/zio.c
461
ret = spa_do_crypt_abd(B_FALSE, spa, &zio->io_bookmark, BP_GET_TYPE(bp),
usr/src/uts/common/fs/zfs/zio.c
463
zio->io_abd, &no_crypt);
usr/src/uts/common/fs/zfs/zio.c
465
abd_copy(data, zio->io_abd, size);
usr/src/uts/common/fs/zfs/zio.c
474
ASSERT(ret != EACCES || (zio->io_flags & ZIO_FLAG_SPECULATIVE));
usr/src/uts/common/fs/zfs/zio.c
481
zio->io_error = SET_ERROR(EIO);
usr/src/uts/common/fs/zfs/zio.c
482
if ((zio->io_flags & ZIO_FLAG_SPECULATIVE) == 0) {
usr/src/uts/common/fs/zfs/zio.c
483
spa_log_error(spa, &zio->io_bookmark);
usr/src/uts/common/fs/zfs/zio.c
485
spa, NULL, &zio->io_bookmark, zio, 0, 0);
usr/src/uts/common/fs/zfs/zio.c
488
zio->io_error = ret;
usr/src/uts/common/fs/zfs/zio.c
591
zio_wait_for_children(zio_t *zio, uint8_t childbits, enum zio_wait_type wait)
usr/src/uts/common/fs/zfs/zio.c
595
mutex_enter(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
596
ASSERT(zio->io_stall == NULL);
usr/src/uts/common/fs/zfs/zio.c
601
uint64_t *countp = &zio->io_children[c][wait];
usr/src/uts/common/fs/zfs/zio.c
603
zio->io_stage >>= 1;
usr/src/uts/common/fs/zfs/zio.c
604
ASSERT3U(zio->io_stage, !=, ZIO_STAGE_OPEN);
usr/src/uts/common/fs/zfs/zio.c
605
zio->io_stall = countp;
usr/src/uts/common/fs/zfs/zio.c
610
mutex_exit(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
615
zio_notify_parent(zio_t *pio, zio_t *zio, enum zio_wait_type wait)
usr/src/uts/common/fs/zfs/zio.c
617
uint64_t *countp = &pio->io_children[zio->io_child_type][wait];
usr/src/uts/common/fs/zfs/zio.c
618
int *errorp = &pio->io_child_error[zio->io_child_type];
usr/src/uts/common/fs/zfs/zio.c
621
if (zio->io_error && !(zio->io_flags & ZIO_FLAG_DONT_PROPAGATE))
usr/src/uts/common/fs/zfs/zio.c
622
*errorp = zio_worst_error(*errorp, zio->io_error);
usr/src/uts/common/fs/zfs/zio.c
623
pio->io_reexecute |= zio->io_reexecute;
usr/src/uts/common/fs/zfs/zio.c
647
zio_inherit_child_errors(zio_t *zio, enum zio_child c)
usr/src/uts/common/fs/zfs/zio.c
649
if (zio->io_child_error[c] != 0 && zio->io_error == 0)
usr/src/uts/common/fs/zfs/zio.c
650
zio->io_error = zio->io_child_error[c];
usr/src/uts/common/fs/zfs/zio.c
699
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
711
zio = kmem_cache_alloc(zio_cache, KM_SLEEP);
usr/src/uts/common/fs/zfs/zio.c
712
bzero(zio, sizeof (zio_t));
usr/src/uts/common/fs/zfs/zio.c
714
mutex_init(&zio->io_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/zio.c
715
cv_init(&zio->io_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/zio.c
717
list_create(&zio->io_parent_list, sizeof (zio_link_t),
usr/src/uts/common/fs/zfs/zio.c
719
list_create(&zio->io_child_list, sizeof (zio_link_t),
usr/src/uts/common/fs/zfs/zio.c
721
metaslab_trace_init(&zio->io_alloc_list);
usr/src/uts/common/fs/zfs/zio.c
724
zio->io_child_type = ZIO_CHILD_VDEV;
usr/src/uts/common/fs/zfs/zio.c
726
zio->io_child_type = ZIO_CHILD_GANG;
usr/src/uts/common/fs/zfs/zio.c
728
zio->io_child_type = ZIO_CHILD_DDT;
usr/src/uts/common/fs/zfs/zio.c
730
zio->io_child_type = ZIO_CHILD_LOGICAL;
usr/src/uts/common/fs/zfs/zio.c
733
zio->io_bp = (blkptr_t *)bp;
usr/src/uts/common/fs/zfs/zio.c
734
zio->io_bp_copy = *bp;
usr/src/uts/common/fs/zfs/zio.c
735
zio->io_bp_orig = *bp;
usr/src/uts/common/fs/zfs/zio.c
737
zio->io_child_type == ZIO_CHILD_DDT)
usr/src/uts/common/fs/zfs/zio.c
738
zio->io_bp = &zio->io_bp_copy; /* so caller can free */
usr/src/uts/common/fs/zfs/zio.c
739
if (zio->io_child_type == ZIO_CHILD_LOGICAL)
usr/src/uts/common/fs/zfs/zio.c
740
zio->io_logical = zio;
usr/src/uts/common/fs/zfs/zio.c
741
if (zio->io_child_type > ZIO_CHILD_GANG && BP_IS_GANG(bp))
usr/src/uts/common/fs/zfs/zio.c
745
zio->io_spa = spa;
usr/src/uts/common/fs/zfs/zio.c
746
zio->io_txg = txg;
usr/src/uts/common/fs/zfs/zio.c
747
zio->io_done = done;
usr/src/uts/common/fs/zfs/zio.c
748
zio->io_private = private;
usr/src/uts/common/fs/zfs/zio.c
749
zio->io_type = type;
usr/src/uts/common/fs/zfs/zio.c
750
zio->io_priority = priority;
usr/src/uts/common/fs/zfs/zio.c
751
zio->io_vd = vd;
usr/src/uts/common/fs/zfs/zio.c
752
zio->io_offset = offset;
usr/src/uts/common/fs/zfs/zio.c
753
zio->io_orig_abd = zio->io_abd = data;
usr/src/uts/common/fs/zfs/zio.c
754
zio->io_orig_size = zio->io_size = psize;
usr/src/uts/common/fs/zfs/zio.c
755
zio->io_lsize = lsize;
usr/src/uts/common/fs/zfs/zio.c
756
zio->io_orig_flags = zio->io_flags = flags;
usr/src/uts/common/fs/zfs/zio.c
757
zio->io_orig_stage = zio->io_stage = stage;
usr/src/uts/common/fs/zfs/zio.c
758
zio->io_orig_pipeline = zio->io_pipeline = pipeline;
usr/src/uts/common/fs/zfs/zio.c
759
zio->io_pipeline_trace = ZIO_STAGE_OPEN;
usr/src/uts/common/fs/zfs/zio.c
761
zio->io_state[ZIO_WAIT_READY] = (stage >= ZIO_STAGE_READY);
usr/src/uts/common/fs/zfs/zio.c
762
zio->io_state[ZIO_WAIT_DONE] = (stage >= ZIO_STAGE_DONE);
usr/src/uts/common/fs/zfs/zio.c
765
zio->io_bookmark = *zb;
usr/src/uts/common/fs/zfs/zio.c
768
if (zio->io_metaslab_class == NULL)
usr/src/uts/common/fs/zfs/zio.c
769
zio->io_metaslab_class = pio->io_metaslab_class;
usr/src/uts/common/fs/zfs/zio.c
770
if (zio->io_logical == NULL)
usr/src/uts/common/fs/zfs/zio.c
771
zio->io_logical = pio->io_logical;
usr/src/uts/common/fs/zfs/zio.c
772
if (zio->io_child_type == ZIO_CHILD_GANG)
usr/src/uts/common/fs/zfs/zio.c
773
zio->io_gang_leader = pio->io_gang_leader;
usr/src/uts/common/fs/zfs/zio.c
774
zio_add_child(pio, zio);
usr/src/uts/common/fs/zfs/zio.c
777
return (zio);
usr/src/uts/common/fs/zfs/zio.c
781
zio_destroy(zio_t *zio)
usr/src/uts/common/fs/zfs/zio.c
783
metaslab_trace_fini(&zio->io_alloc_list);
usr/src/uts/common/fs/zfs/zio.c
784
list_destroy(&zio->io_parent_list);
usr/src/uts/common/fs/zfs/zio.c
785
list_destroy(&zio->io_child_list);
usr/src/uts/common/fs/zfs/zio.c
786
mutex_destroy(&zio->io_lock);
usr/src/uts/common/fs/zfs/zio.c
787
cv_destroy(&zio->io_cv);
usr/src/uts/common/fs/zfs/zio.c
788
kmem_cache_free(zio_cache, zio);
usr/src/uts/common/fs/zfs/zio.c
795
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
797
zio = zio_create(pio, spa, 0, NULL, NULL, 0, 0, done, private,
usr/src/uts/common/fs/zfs/zio.c
801
return (zio);
usr/src/uts/common/fs/zfs/zio.c
934
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
938
zio = zio_create(pio, spa, BP_PHYSICAL_BIRTH(bp), bp,
usr/src/uts/common/fs/zfs/zio.c
944
return (zio);
usr/src/uts/common/fs/zfs/zio.c
955
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
966
zio = zio_create(pio, spa, txg, bp, data, lsize, psize, done, private,
usr/src/uts/common/fs/zfs/zio.c
971
zio->io_ready = ready;
usr/src/uts/common/fs/zfs/zio.c
972
zio->io_children_ready = children_ready;
usr/src/uts/common/fs/zfs/zio.c
973
zio->io_physdone = physdone;
usr/src/uts/common/fs/zfs/zio.c
974
zio->io_prop = *zp;
usr/src/uts/common/fs/zfs/zio.c
985
(zio->io_prop.zp_dedup_verify || zio->io_prop.zp_encrypt)) {
usr/src/uts/common/fs/zfs/zio.c
986
zio->io_prop.zp_dedup = zio->io_prop.zp_dedup_verify = B_FALSE;
usr/src/uts/common/fs/zfs/zio.c
989
return (zio);
usr/src/uts/common/fs/zfs/zio.c
997
zio_t *zio;
usr/src/uts/common/fs/zfs/zio.c
999
zio = zio_create(pio, spa, txg, bp, data, size, size, done, private,
usr/src/uts/common/fs/zfs/zio_checksum.c
334
zio_checksum_compute(zio_t *zio, enum zio_checksum checksum,
usr/src/uts/common/fs/zfs/zio_checksum.c
338
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio_checksum.c
339
uint64_t offset = zio->io_offset;
usr/src/uts/common/fs/zfs/zio_checksum.c
342
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio_checksum.c
530
zio_checksum_error(zio_t *zio, zio_bad_cksum_t *info)
usr/src/uts/common/fs/zfs/zio_checksum.c
532
blkptr_t *bp = zio->io_bp;
usr/src/uts/common/fs/zfs/zio_checksum.c
533
uint_t checksum = (bp == NULL ? zio->io_prop.zp_checksum :
usr/src/uts/common/fs/zfs/zio_checksum.c
536
uint64_t size = (bp == NULL ? zio->io_size :
usr/src/uts/common/fs/zfs/zio_checksum.c
538
uint64_t offset = zio->io_offset;
usr/src/uts/common/fs/zfs/zio_checksum.c
539
abd_t *data = zio->io_abd;
usr/src/uts/common/fs/zfs/zio_checksum.c
540
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio_checksum.c
545
if (zio_injection_enabled && error == 0 && zio->io_error == 0) {
usr/src/uts/common/fs/zfs/zio_checksum.c
546
error = zio_handle_fault_injection(zio, ECKSUM);
usr/src/uts/common/fs/zfs/zio_inject.c
191
zio_match_dva(zio_t *zio)
usr/src/uts/common/fs/zfs/zio_inject.c
195
if (zio->io_bp != NULL && zio->io_vd != NULL &&
usr/src/uts/common/fs/zfs/zio_inject.c
196
zio->io_child_type == ZIO_CHILD_VDEV) {
usr/src/uts/common/fs/zfs/zio_inject.c
197
for (i = BP_GET_NDVAS(zio->io_bp) - 1; i >= 0; i--) {
usr/src/uts/common/fs/zfs/zio_inject.c
198
dva_t *dva = &zio->io_bp->blk_dva[i];
usr/src/uts/common/fs/zfs/zio_inject.c
200
vdev_t *vd = vdev_lookup_top(zio->io_spa,
usr/src/uts/common/fs/zfs/zio_inject.c
204
if (zio->io_vd->vdev_ops->vdev_op_leaf)
usr/src/uts/common/fs/zfs/zio_inject.c
207
if (zio->io_vd == vd && zio->io_offset == off)
usr/src/uts/common/fs/zfs/zio_inject.c
252
zio_handle_fault_injection(zio_t *zio, int error)
usr/src/uts/common/fs/zfs/zio_inject.c
260
if (zio->io_logical == NULL)
usr/src/uts/common/fs/zfs/zio_inject.c
266
if (zio->io_type != ZIO_TYPE_READ)
usr/src/uts/common/fs/zfs/zio_inject.c
274
if (zio->io_spa != handler->zi_spa ||
usr/src/uts/common/fs/zfs/zio_inject.c
279
if (zio_match_handler(&zio->io_logical->io_bookmark,
usr/src/uts/common/fs/zfs/zio_inject.c
280
zio->io_bp ? BP_GET_TYPE(zio->io_bp) : DMU_OT_NONE,
usr/src/uts/common/fs/zfs/zio_inject.c
281
zio_match_dva(zio), &handler->zi_record, error)) {
usr/src/uts/common/fs/zfs/zio_inject.c
299
zio_handle_label_injection(zio_t *zio, int error)
usr/src/uts/common/fs/zfs/zio_inject.c
302
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/zio_inject.c
303
uint64_t offset = zio->io_offset;
usr/src/uts/common/fs/zfs/zio_inject.c
330
if (zio->io_vd->vdev_guid == handler->zi_record.zi_guid &&
usr/src/uts/common/fs/zfs/zio_inject.c
342
zio_handle_device_injection(vdev_t *vd, zio_t *zio, int error)
usr/src/uts/common/fs/zfs/zio_inject.c
351
if (zio != NULL) {
usr/src/uts/common/fs/zfs/zio_inject.c
352
uint64_t offset = zio->io_offset;
usr/src/uts/common/fs/zfs/zio_inject.c
369
(zio == NULL || (zio->io_flags &
usr/src/uts/common/fs/zfs/zio_inject.c
375
if (zio != NULL &&
usr/src/uts/common/fs/zfs/zio_inject.c
377
handler->zi_record.zi_iotype != zio->io_type)
usr/src/uts/common/fs/zfs/zio_inject.c
401
zio != NULL)
usr/src/uts/common/fs/zfs/zio_inject.c
402
zio->io_flags |= ZIO_FLAG_IO_RETRY;
usr/src/uts/common/fs/zfs/zio_inject.c
424
zio_handle_ignored_writes(zio_t *zio)
usr/src/uts/common/fs/zfs/zio_inject.c
434
if (zio->io_spa != handler->zi_spa ||
usr/src/uts/common/fs/zfs/zio_inject.c
446
handler->zi_record.zi_timer = zio->io_txg;
usr/src/uts/common/fs/zfs/zio_inject.c
451
zio->io_pipeline &= ~ZIO_VDEV_IO_STAGES;
usr/src/uts/common/fs/zfs/zio_inject.c
493
zio_handle_io_delay(zio_t *zio)
usr/src/uts/common/fs/zfs/zio_inject.c
495
vdev_t *vd = zio->io_vd;
usr/src/uts/common/fs/zfs/zvol.c
1037
error = dmu_sync(zio, lr->lr_common.lrc_txg,
usr/src/uts/common/fs/zfs/zvol.c
163
struct lwb *lwb, zio_t *zio);
usr/src/uts/common/fs/zfs/zvol.c
987
zvol_get_data(void *arg, lr_write_t *lr, char *buf, struct lwb *lwb, zio_t *zio)
usr/src/uts/common/fs/zfs/zvol.c
997
ASSERT3P(zio, !=, NULL);