/illumos-gate/usr/src/uts/common/fs/zfs/ |
H A D | vdev_missing.c | 43 #include <sys/zio.h> 70 vdev_missing_io_start(zio_t *zio) argument 72 zio->io_error = SET_ERROR(ENOTSUP); 73 zio_execute(zio); 78 vdev_missing_io_done(zio_t *zio) argument
|
H A D | vdev_file.c | 31 #include <sys/zio.h> 154 zio_t *zio = vb->vb_io; local 156 zio->io_error = (geterror(bp) != 0 ? EIO : 0); 157 if (zio->io_error == 0 && bp->b_resid != 0) 158 zio->io_error = SET_ERROR(ENOSPC); 161 zio_delay_interrupt(zio); 186 vdev_file_io_start(zio_t *zio) argument 188 vdev_t *vd = zio->io_vd; 193 if (zio->io_type == ZIO_TYPE_IOCTL) { 196 zio 237 vdev_file_io_done(zio_t *zio) argument [all...] |
H A D | spa_errlog.c | 55 #include <sys/zio.h> 93 spa_log_error(spa_t *spa, zio_t *zio) argument 95 zbookmark_phys_t *zb = &zio->io_logical->io_bookmark;
|
H A D | zio_checksum.c | 31 #include <sys/zio.h> 253 zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, argument 256 blkptr_t *bp = zio->io_bp; 257 uint64_t offset = zio->io_offset; 260 spa_t *spa = zio->io_spa; 377 zio_checksum_error(zio_t *zio, zio_bad_cksum_t *info) argument 379 blkptr_t *bp = zio->io_bp; 380 uint_t checksum = (bp == NULL ? zio->io_prop.zp_checksum : 383 uint64_t size = (bp == NULL ? zio->io_size : 385 uint64_t offset = zio [all...] |
H A D | zio_inject.c | 167 zio_handle_fault_injection(zio_t *zio, int error) argument 175 if (zio->io_logical == NULL) 181 if (zio->io_type != ZIO_TYPE_READ) 189 if (zio->io_spa != handler->zi_spa || 194 if (zio_match_handler(&zio->io_logical->io_bookmark, 195 zio->io_bp ? BP_GET_TYPE(zio->io_bp) : DMU_OT_NONE, 208 * Determine if the zio is part of a label update and has an injection 214 zio_handle_label_injection(zio_t *zio, int error) argument 217 vdev_t *vd = zio 257 zio_handle_device_injection(vdev_t *vd, zio_t *zio, int error) argument 333 zio_handle_ignored_writes(zio_t *zio) argument 402 zio_handle_io_delay(zio_t *zio) argument [all...] |
H A D | vdev_cache.c | 32 #include <sys/zio.h> 159 vdev_cache_allocate(zio_t *zio) argument 161 vdev_cache_t *vc = &zio->io_vd->vdev_cache; 162 uint64_t offset = P2ALIGN(zio->io_offset, VCBS); 195 vdev_cache_hit(vdev_cache_t *vc, vdev_cache_entry_t *ve, zio_t *zio) argument 197 uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS); 209 bcopy(ve->ve_data + cache_phase, zio->io_data, zio->io_size); 255 vdev_cache_read(zio_t *zio) argument 257 vdev_cache_t *vc = &zio 332 vdev_cache_write(zio_t *zio) argument [all...] |
H A D | vdev_mirror.c | 33 #include <sys/zio.h> 60 vdev_mirror_map_free(zio_t *zio) argument 62 mirror_map_t *mm = zio->io_vsd; 73 vdev_mirror_map_alloc(zio_t *zio) argument 77 vdev_t *vd = zio->io_vd; 81 dva_t *dva = zio->io_bp->blk_dva; 82 spa_t *spa = zio->io_spa; 84 c = BP_GET_NDVAS(zio->io_bp); 118 (zio->io_offset >> vdev_mirror_shift) % c; 124 mc->mc_offset = zio 177 vdev_mirror_child_done(zio_t *zio) argument 187 vdev_mirror_scrub_done(zio_t *zio) argument 217 vdev_mirror_child_select(zio_t *zio) argument 265 vdev_mirror_io_start(zio_t *zio) argument 334 vdev_mirror_io_done(zio_t *zio) argument [all...] |
H A D | vdev_label.c | 146 #include <sys/zio.h> 181 vdev_label_read(zio_t *zio, vdev_t *vd, int l, void *buf, uint64_t offset, argument 184 ASSERT(spa_config_held(zio->io_spa, SCL_STATE_ALL, RW_WRITER) == 188 zio_nowait(zio_read_phys(zio, vd, 195 vdev_label_write(zio_t *zio, vdev_t *vd, int l, void *buf, uint64_t offset, argument 198 ASSERT(spa_config_held(zio->io_spa, SCL_ALL, RW_WRITER) == SCL_ALL || 199 (spa_config_held(zio->io_spa, SCL_CONFIG | SCL_STATE, RW_READER) == 201 dsl_pool_sync_context(spa_get_dsl(zio->io_spa)))); 204 zio_nowait(zio_write_phys(zio, vd, 447 zio_t *zio; local 641 zio_t *zio; local 895 vdev_uberblock_load_done(zio_t *zio) argument 925 vdev_uberblock_load_impl(zio_t *zio, vdev_t *vd, int flags, struct ubl_cbdata *cbp) argument 953 zio_t *zio; local 989 vdev_uberblock_sync_done(zio_t *zio) argument 1001 vdev_uberblock_sync(zio_t *zio, uberblock_t *ub, vdev_t *vd, int flags) argument 1035 zio_t *zio; local 1064 vdev_label_sync_done(zio_t *zio) argument 1076 vdev_label_sync_top_done(zio_t *zio) argument 1090 vdev_label_sync_ignore_done(zio_t *zio) argument 1099 vdev_label_sync(zio_t *zio, vdev_t *vd, int l, uint64_t txg, int flags) argument 1145 zio_t *zio; local 1199 zio_t *zio; local [all...] |
H A D | vdev_queue.c | 34 #include <sys/zio.h> 251 sizeof (zio_t), offsetof(struct zio, io_queue_node)); 254 offsetof(struct zio, io_offset_node)); 257 offsetof(struct zio, io_offset_node)); 273 sizeof (zio_t), offsetof(struct zio, io_queue_node)); 292 vdev_queue_io_add(vdev_queue_t *vq, zio_t *zio) argument 294 spa_t *spa = zio->io_spa; 296 ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE); 297 avl_add(vdev_queue_class_tree(vq, zio->io_priority), zio); 308 vdev_queue_io_remove(vdev_queue_t *vq, zio_t *zio) argument 325 vdev_queue_pending_add(vdev_queue_t *vq, zio_t *zio) argument 341 vdev_queue_pending_remove(vdev_queue_t *vq, zio_t *zio) argument 507 vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) argument 647 zio_t *zio, *aio; local 705 vdev_queue_io(zio_t *zio) argument 749 vdev_queue_io_done(zio_t *zio) argument [all...] |
H A D | vdev_disk.c | 34 #include <sys/zio.h> 649 zio_t *zio = vb->vb_io; local 652 * The rest of the zio stack only deals with EIO, ECKSUM, and ENXIO. 656 zio->io_error = (geterror(bp) != 0 ? EIO : 0); 658 if (zio->io_error == 0 && bp->b_resid != 0) 659 zio->io_error = SET_ERROR(EIO); 663 zio_delay_interrupt(zio); 667 vdev_disk_ioctl_free(zio_t *zio) argument 669 kmem_free(zio->io_vsd, sizeof (struct dk_callback)); 680 zio_t *zio local 688 vdev_disk_io_start(zio_t *zio) argument 782 vdev_disk_io_done(zio_t *zio) argument [all...] |
H A D | zfs_fm.c | 34 #include <sys/zio.h> 107 const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio, 132 if (zio != NULL) { 134 * If this is not a read or write zio, ignore the error. This 137 if (zio->io_type != ZIO_TYPE_READ && 138 zio->io_type != ZIO_TYPE_WRITE) 145 if (zio->io_flags & ZIO_FLAG_SPECULATIVE) 153 if (zio->io_error == EIO && 154 !(zio->io_flags & ZIO_FLAG_IO_RETRY)) 167 if (zio 106 zfs_ereport_start(nvlist_t **ereport_out, nvlist_t **detector_out, const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio, uint64_t stateoroffset, uint64_t size) argument 669 zfs_ereport_post(const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio, uint64_t stateoroffset, uint64_t size) argument 690 zfs_ereport_start_checksum(spa_t *spa, vdev_t *vd, struct zio *zio, uint64_t offset, uint64_t length, void *arg, zio_bad_cksum_t *info) argument 780 zfs_ereport_post_checksum(spa_t *spa, vdev_t *vd, struct zio *zio, uint64_t offset, uint64_t length, const void *good_data, const void *bad_data, zio_bad_cksum_t *zbc) argument [all...] |
H A D | dsl_pool.c | 40 #include <sys/zio.h> 430 zio_t *zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); local 431 dmu_objset_sync(dp->dp_meta_objset, zio, tx); 432 VERIFY0(zio_wait(zio)); 458 zio_t *zio; local 473 zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); 482 dsl_dataset_sync(ds, zio, tx); 484 VERIFY0(zio_wait(zio)); 511 zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); 515 dsl_dataset_sync(ds, zio, t [all...] |
H A D | ddt.c | 30 #include <sys/zio.h> 526 zio_t *zio = dde->dde_lead_zio[p]; local 528 if (zio != NULL) 529 refcnt += zio->io_parent_count; /* pending refs */ 930 ddt_repair_entry_done(zio_t *zio) argument 932 ddt_entry_t *rdde = zio->io_private; 944 zio_t *zio; local 947 zio = zio_null(rio, rio->io_spa, NULL, 956 zio_nowait(zio_rewrite(zio, zio [all...] |
H A D | dmu_tx.c | 162 dmu_tx_check_ioerr(zio_t *zio, dnode_t *dn, int level, uint64_t blkid) argument 172 err = dbuf_read(db, zio, DB_RF_CANFAIL | DB_RF_NOPREFETCH); 264 zio_t *zio = zio_root(dn->dn_objset->os_spa, local 271 err = dmu_tx_check_ioerr(zio, dn, 0, start); 280 err = dmu_tx_check_ioerr(zio, dn, 0, end); 289 err = dmu_tx_check_ioerr(zio, dn, 1, i); 295 err = zio_wait(zio); 658 zio_t *zio; local 714 zio = zio_root(tx->tx_pool->dp_spa, 727 err = dmu_tx_check_ioerr(zio, d [all...] |
H A D | dsl_scan.c | 38 #include <sys/zio.h> 1755 dsl_scan_scrub_done(zio_t *zio) argument 1757 spa_t *spa = zio->io_spa; 1759 zio_data_buf_free(zio->io_data, zio->io_size); 1765 if (zio->io_error && (zio->io_error != ECKSUM || 1766 !(zio->io_flags & ZIO_FLAG_SPECULATIVE))) {
|
H A D | vdev_raidz.c | 35 #include <sys/zio.h> 286 vdev_raidz_map_free_vsd(zio_t *zio) argument 288 raidz_map_t *rm = zio->io_vsd; 389 vdev_raidz_cksum_report(zio_t *zio, zio_cksum_report_t *zcr, void *arg) argument 394 raidz_map_t *rm = zio->io_vsd; 411 * to copy the data aside; there's no guarantee that our zio's buffer 451 /* The zio's size in units of the vdev's minimum sector size. */ 1689 vdev_raidz_child_done(zio_t *zio) argument 1691 raidz_col_t *rc = zio->io_private; 1693 rc->rc_error = zio 1716 vdev_raidz_io_start(zio_t *zio) argument 1812 raidz_checksum_error(zio_t *zio, raidz_col_t *rc, void *bad_data) argument 1838 raidz_checksum_verify(zio_t *zio) argument 1857 raidz_parity_verify(zio_t *zio, raidz_map_t *rm) argument 1920 vdev_raidz_combrec(zio_t *zio, int total_errors, int data_errors) argument 2089 vdev_raidz_io_done(zio_t *zio) argument [all...] |
H A D | vdev.c | 42 #include <sys/zio.h> 950 vdev_probe_done(zio_t *zio) argument 952 spa_t *spa = zio->io_spa; 953 vdev_t *vd = zio->io_vd; 954 vdev_probe_stats_t *vps = zio->io_private; 958 if (zio->io_type == ZIO_TYPE_READ) { 959 if (zio->io_error == 0) 961 if (zio->io_error == 0 && spa_writeable(spa)) { 963 zio->io_offset, zio 1011 vdev_probe(vdev_t *vd, zio_t *zio) argument 2715 vdev_accessible(vdev_t *vd, zio_t *zio) argument 2806 vdev_stat_update(zio_t *zio, uint64_t psize) argument [all...] |
H A D | dbuf.c | 41 #include <sys/zio.h> 901 dbuf_read_done(zio_t *zio, arc_buf_t *buf, void *vdb) argument 921 } else if (zio == NULL || zio->io_error == 0) { 935 dbuf_read_impl(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags) argument 1020 (void) arc_read(zio, db->db_objset->os_spa, db->db_blkptr, 1089 dbuf_read(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags) argument 1092 boolean_t havepzio = (zio != NULL); 1137 if (zio == NULL) 1138 zio 2346 dbuf_prefetch_indirect_done(zio_t *zio, arc_buf_t *abuf, void *private) argument 3004 zio_t *zio; local 3221 dbuf_write_ready(zio_t *zio, arc_buf_t *buf, void *vdb) argument 3311 dbuf_write_children_ready(zio_t *zio, arc_buf_t *buf, void *vdb) argument 3358 dbuf_write_physdone(zio_t *zio, arc_buf_t *buf, void *arg) argument 3381 dbuf_write_done(zio_t *zio, arc_buf_t *buf, void *vdb) argument 3466 dbuf_write_nofill_ready(zio_t *zio) argument 3472 dbuf_write_nofill_done(zio_t *zio) argument 3478 dbuf_write_override_ready(zio_t *zio) argument 3487 dbuf_write_override_done(zio_t *zio) argument 3515 zio_t *zio; local [all...] |
H A D | dmu.c | 438 zio_t *zio; local 470 zio = zio_root(dn->dn_objset->os_spa, NULL, NULL, ZIO_FLAG_CANFAIL); 477 zio_nowait(zio); 483 (void) dbuf_read(db, zio, dbuf_flags); 495 err = zio_wait(zio); 1446 dmu_sync_ready(zio_t *zio, arc_buf_t *buf, void *varg) argument 1450 blkptr_t *bp = zio->io_bp; 1452 if (zio->io_error == 0) { 1467 dmu_sync_late_arrival_ready(zio_t *zio) argument 1469 dmu_sync_ready(zio, NUL 1474 dmu_sync_done(zio_t *zio, arc_buf_t *buf, void *varg) argument 1523 dmu_sync_late_arrival_done(zio_t *zio) argument [all...] |
H A D | dmu_objset.c | 1057 dmu_objset_write_ready(zio_t *zio, arc_buf_t *abuf, void *arg) argument 1059 blkptr_t *bp = zio->io_bp; 1085 dmu_objset_write_done(zio_t *zio, arc_buf_t *abuf, void *arg) argument 1087 blkptr_t *bp = zio->io_bp; 1088 blkptr_t *bp_orig = &zio->io_bp_orig; 1091 if (zio->io_flags & ZIO_FLAG_IO_REWRITE) { 1110 zio_t *zio; local 1142 zio = arc_write(pio, os->os_spa, tx->tx_txg, 1150 DMU_META_DNODE(os)->dn_zio = zio; 1157 DMU_USERUSED_DNODE(os)->dn_zio = zio; [all...] |
H A D | metaslab.c | 34 #include <sys/zio.h> 2553 * The list is part of the zio so locking is not required. Only 2554 * a single thread will perform allocations for a given zio. 3238 metaslab_class_throttle_reserve(metaslab_class_t *mc, int slots, zio_t *zio, argument 3257 reserved_slots = refcount_add(&mc->mc_alloc_slots, zio); 3259 zio->io_flags |= ZIO_FLAG_IO_ALLOCATING; 3268 metaslab_class_throttle_unreserve(metaslab_class_t *mc, int slots, zio_t *zio) argument 3273 (void) refcount_remove(&mc->mc_alloc_slots, zio); 3281 zio_alloc_list_t *zal, zio_t *zio) 3309 DVA_GET_VDEV(&dva[d]), zio, flag 3279 metaslab_alloc(spa_t *spa, metaslab_class_t *mc, uint64_t psize, blkptr_t *bp, int ndvas, uint64_t txg, blkptr_t *hintbp, int flags, zio_alloc_list_t *zal, zio_t *zio) argument [all...] |
H A D | zil.c | 823 zio_t *zio; local 836 zio = zio_root(spa, NULL, NULL, ZIO_FLAG_CANFAIL); 841 zio_flush(zio, vd); 849 (void) zio_wait(zio); 858 zil_lwb_write_done(zio_t *zio) argument 860 lwb_t *lwb = zio->io_private; 864 ASSERT(BP_GET_COMPRESS(zio->io_bp) == ZIO_COMPRESS_OFF); 865 ASSERT(BP_GET_TYPE(zio->io_bp) == DMU_OT_INTENT_LOG); 866 ASSERT(BP_GET_LEVEL(zio->io_bp) == 0); 867 ASSERT(BP_GET_BYTEORDER(zio [all...] |
H A D | zvol.c | 60 #include <sys/zio.h> 160 static int zvol_get_data(void *arg, lr_write_t *lr, char *buf, zio_t *zio); 987 zvol_get_data(void *arg, lr_write_t *lr, char *buf, zio_t *zio) argument 999 ASSERT(zio != NULL); 1034 error = dmu_sync(zio, lr->lr_common.lrc_txg,
|
H A D | zfs_vnops.c | 1045 zfs_get_data(void *arg, lr_write_t *lr, char *buf, zio_t *zio) argument 1058 ASSERT(zio != NULL); 1142 error = dmu_sync(zio, lr->lr_common.lrc_txg,
|
/illumos-gate/usr/src/uts/common/fs/zfs/sys/ |
H A D | zio.h | 199 #define ZIO_DDT_CHILD_FLAGS(zio) \ 200 (((zio)->io_flags & ZIO_FLAG_DDT_INHERIT) | \ 203 #define ZIO_GANG_CHILD_FLAGS(zio) \ 204 (((zio)->io_flags & ZIO_FLAG_GANG_INHERIT) | \ 207 #define ZIO_VDEV_CHILD_FLAGS(zio) \ 208 (((zio)->io_flags & ZIO_FLAG_VDEV_INHERIT) | \ 232 typedef void zio_done_func_t(zio_t *zio); 325 typedef void zio_vsd_cksum_report_f(zio_t *zio, zio_cksum_report_t *zcr, 340 typedef zio_t *zio_gang_issue_func_t(zio_t *zio, blkptr_t *bp, 343 typedef void zio_transform_func_t(zio_t *zio, voi 377 struct zio { struct [all...] |