| /trueos/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ |
| HD | zio.c | 45 SYSCTL_NODE(_vfs_zfs, OID_AUTO, zio, CTLFLAG_RW, 0, "ZFS ZIO"); 125 #define IO_IS_ALLOCATING(zio) ((zio)->io_orig_pipeline & ZIO_STAGE_DVA_ALLOCATE) argument 329 zio_push_transform(zio_t *zio, void *data, uint64_t size, uint64_t bufsize, in zio_push_transform() argument 334 zt->zt_orig_data = zio->io_data; in zio_push_transform() 335 zt->zt_orig_size = zio->io_size; in zio_push_transform() 339 zt->zt_next = zio->io_transform_stack; in zio_push_transform() 340 zio->io_transform_stack = zt; in zio_push_transform() 342 zio->io_data = data; in zio_push_transform() 343 zio->io_size = size; in zio_push_transform() 347 zio_pop_transforms(zio_t *zio) in zio_pop_transforms() argument [all …]
|
| HD | vdev_mirror.c | 130 vdev_mirror_map_free(zio_t *zio) in vdev_mirror_map_free() argument 132 mirror_map_t *mm = zio->io_vsd; in vdev_mirror_map_free() 194 vdev_mirror_map_init(zio_t *zio) in vdev_mirror_map_init() argument 198 vdev_t *vd = zio->io_vd; in vdev_mirror_map_init() 202 dva_t *dva = zio->io_bp->blk_dva; in vdev_mirror_map_init() 203 spa_t *spa = zio->io_spa; in vdev_mirror_map_init() 205 mm = vdev_mirror_map_alloc(BP_GET_NDVAS(zio->io_bp), B_FALSE, in vdev_mirror_map_init() 219 mc->mc_offset = zio->io_offset; in vdev_mirror_map_init() 223 zio->io_vsd = mm; in vdev_mirror_map_init() 224 zio->io_vsd_ops = &vdev_mirror_vsd_ops; in vdev_mirror_map_init() [all …]
|
| HD | vdev_queue.c | 338 sizeof (zio_t), offsetof(struct zio, io_queue_node)); in vdev_queue_init() 352 sizeof (zio_t), offsetof(struct zio, io_queue_node)); in vdev_queue_init() 371 vdev_queue_io_add(vdev_queue_t *vq, zio_t *zio) in vdev_queue_io_add() argument 373 spa_t *spa = zio->io_spa; in vdev_queue_io_add() 375 ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE); in vdev_queue_io_add() 376 avl_add(&vq->vq_class[zio->io_priority].vqc_queued_tree, zio); in vdev_queue_io_add() 380 spa->spa_queue_stats[zio->io_priority].spa_queued++; in vdev_queue_io_add() 388 vdev_queue_io_remove(vdev_queue_t *vq, zio_t *zio) in vdev_queue_io_remove() argument 390 spa_t *spa = zio->io_spa; in vdev_queue_io_remove() 392 ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE); in vdev_queue_io_remove() [all …]
|
| HD | vdev_label.c | 187 vdev_label_read(zio_t *zio, vdev_t *vd, int l, void *buf, uint64_t offset, in vdev_label_read() argument 190 ASSERT(spa_config_held(zio->io_spa, SCL_STATE_ALL, RW_WRITER) == in vdev_label_read() 194 zio_nowait(zio_read_phys(zio, vd, in vdev_label_read() 201 vdev_label_write(zio_t *zio, vdev_t *vd, int l, void *buf, uint64_t offset, in vdev_label_write() argument 204 ASSERT(spa_config_held(zio->io_spa, SCL_ALL, RW_WRITER) == SCL_ALL || in vdev_label_write() 205 (spa_config_held(zio->io_spa, SCL_CONFIG | SCL_STATE, RW_READER) == in vdev_label_write() 207 dsl_pool_sync_context(spa_get_dsl(zio->io_spa)))); in vdev_label_write() 210 zio_nowait(zio_write_phys(zio, vd, in vdev_label_write() 439 zio_t *zio; in vdev_label_read_config() local 456 zio = zio_root(spa, NULL, NULL, flags); in vdev_label_read_config() [all …]
|
| HD | vdev_file.c | 160 vdev_file_io_start(zio_t *zio) in vdev_file_io_start() argument 162 vdev_t *vd = zio->io_vd; in vdev_file_io_start() 168 zio->io_error = SET_ERROR(ENXIO); in vdev_file_io_start() 169 zio_interrupt(zio); in vdev_file_io_start() 176 if (zio->io_type == ZIO_TYPE_IOCTL) { in vdev_file_io_start() 177 switch (zio->io_cmd) { in vdev_file_io_start() 179 zio->io_error = VOP_FSYNC(vp, FSYNC | FDSYNC, in vdev_file_io_start() 183 zio->io_error = SET_ERROR(ENOTSUP); in vdev_file_io_start() 186 zio_interrupt(zio); in vdev_file_io_start() 190 ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); in vdev_file_io_start() [all …]
|
| HD | vdev_cache.c | 171 vdev_cache_allocate(zio_t *zio) in vdev_cache_allocate() argument 173 vdev_cache_t *vc = &zio->io_vd->vdev_cache; in vdev_cache_allocate() 174 uint64_t offset = P2ALIGN(zio->io_offset, VCBS); in vdev_cache_allocate() 207 vdev_cache_hit(vdev_cache_t *vc, vdev_cache_entry_t *ve, zio_t *zio) in vdev_cache_hit() argument 209 uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS); in vdev_cache_hit() 221 bcopy(ve->ve_data + cache_phase, zio->io_data, zio->io_size); in vdev_cache_hit() 266 vdev_cache_read(zio_t *zio) in vdev_cache_read() argument 268 vdev_cache_t *vc = &zio->io_vd->vdev_cache; in vdev_cache_read() 270 uint64_t cache_offset = P2ALIGN(zio->io_offset, VCBS); in vdev_cache_read() 271 uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS); in vdev_cache_read() [all …]
|
| HD | zio_inject.c | 129 zio_handle_fault_injection(zio_t *zio, int error) in zio_handle_fault_injection() argument 137 if (zio->io_logical == NULL) in zio_handle_fault_injection() 143 if (zio->io_type != ZIO_TYPE_READ) in zio_handle_fault_injection() 151 if (zio->io_spa != handler->zi_spa || in zio_handle_fault_injection() 156 if (zio_match_handler(&zio->io_logical->io_bookmark, in zio_handle_fault_injection() 157 zio->io_bp ? BP_GET_TYPE(zio->io_bp) : DMU_OT_NONE, in zio_handle_fault_injection() 176 zio_handle_label_injection(zio_t *zio, int error) in zio_handle_label_injection() argument 179 vdev_t *vd = zio->io_vd; in zio_handle_label_injection() 180 uint64_t offset = zio->io_offset; in zio_handle_label_injection() 207 if (zio->io_vd->vdev_guid == handler->zi_record.zi_guid && in zio_handle_label_injection() [all …]
|
| HD | zfs_fm.c | 107 const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio, in zfs_ereport_start() argument 132 if (zio != NULL) { in zfs_ereport_start() 137 if (zio->io_type != ZIO_TYPE_READ && in zfs_ereport_start() 138 zio->io_type != ZIO_TYPE_WRITE) in zfs_ereport_start() 145 if (zio->io_flags & ZIO_FLAG_SPECULATIVE) in zfs_ereport_start() 153 if (zio->io_error == EIO && in zfs_ereport_start() 154 !(zio->io_flags & ZIO_FLAG_IO_RETRY)) in zfs_ereport_start() 167 if (zio->io_vd == vd && !vdev_accessible(vd, zio)) in zfs_ereport_start() 174 if (zio->io_type == ZIO_TYPE_READ && in zfs_ereport_start() 175 zio->io_error == ECKSUM && in zfs_ereport_start() [all …]
|
| HD | vdev_disk.c | 680 zio_t *zio = vb->vb_io; in vdev_disk_io_intr() local 687 zio->io_error = (geterror(bp) != 0 ? SET_ERROR(EIO) : 0); in vdev_disk_io_intr() 689 if (zio->io_error == 0 && bp->b_resid != 0) in vdev_disk_io_intr() 690 zio->io_error = SET_ERROR(EIO); in vdev_disk_io_intr() 694 zio_interrupt(zio); in vdev_disk_io_intr() 698 vdev_disk_ioctl_free(zio_t *zio) in vdev_disk_ioctl_free() argument 700 kmem_free(zio->io_vsd, sizeof (struct dk_callback)); in vdev_disk_ioctl_free() 711 zio_t *zio = zio_arg; in vdev_disk_ioctl_done() local 713 zio->io_error = error; in vdev_disk_ioctl_done() 715 zio_interrupt(zio); in vdev_disk_ioctl_done() [all …]
|
| HD | vdev_raidz.c | 290 vdev_raidz_map_free_vsd(zio_t *zio) in vdev_raidz_map_free_vsd() argument 292 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_map_free_vsd() 393 vdev_raidz_cksum_report(zio_t *zio, zio_cksum_report_t *zcr, void *arg) in vdev_raidz_cksum_report() argument 398 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_cksum_report() 1703 vdev_raidz_child_done(zio_t *zio) in vdev_raidz_child_done() argument 1705 raidz_col_t *rc = zio->io_private; in vdev_raidz_child_done() 1707 rc->rc_error = zio->io_error; in vdev_raidz_child_done() 1730 vdev_raidz_io_start(zio_t *zio) in vdev_raidz_io_start() argument 1732 vdev_t *vd = zio->io_vd; in vdev_raidz_io_start() 1739 rm = vdev_raidz_map_alloc(zio->io_data, zio->io_size, zio->io_offset, in vdev_raidz_io_start() [all …]
|
| HD | vdev_geom.c | 818 zio_t *zio; in vdev_geom_io_intr() local 820 zio = bp->bio_caller1; in vdev_geom_io_intr() 821 vd = zio->io_vd; in vdev_geom_io_intr() 822 zio->io_error = bp->bio_error; in vdev_geom_io_intr() 823 if (zio->io_error == 0 && bp->bio_resid != 0) in vdev_geom_io_intr() 824 zio->io_error = SET_ERROR(EIO); in vdev_geom_io_intr() 826 switch(zio->io_error) { in vdev_geom_io_intr() 851 spa_async_request(zio->io_spa, in vdev_geom_io_intr() 860 zio_interrupt(zio); in vdev_geom_io_intr() 864 vdev_geom_io_start(zio_t *zio) in vdev_geom_io_start() argument [all …]
|
| HD | trim_map.c | 342 trim_map_write_start(zio_t *zio) in trim_map_write_start() argument 344 vdev_t *vd = zio->io_vd; in trim_map_write_start() 353 start = zio->io_offset; in trim_map_write_start() 354 end = TRIM_ZIO_END(zio->io_vd, start, zio->io_size); in trim_map_write_start() 365 list_insert_tail(&tm->tm_pending_writes, zio); in trim_map_write_start() 380 avl_add(&tm->tm_inflight_writes, zio); in trim_map_write_start() 388 trim_map_write_done(zio_t *zio) in trim_map_write_done() argument 390 vdev_t *vd = zio->io_vd; in trim_map_write_done() 405 if (zio->io_trim_node.avl_child[0] || in trim_map_write_done() 406 zio->io_trim_node.avl_child[1] || in trim_map_write_done() [all …]
|
| HD | zio_checksum.c | 154 zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, in zio_checksum_compute() argument 157 blkptr_t *bp = zio->io_bp; in zio_checksum_compute() 158 uint64_t offset = zio->io_offset; in zio_checksum_compute() 192 zio_checksum_error(zio_t *zio, zio_bad_cksum_t *info) in zio_checksum_error() argument 194 blkptr_t *bp = zio->io_bp; in zio_checksum_error() 195 uint_t checksum = (bp == NULL ? zio->io_prop.zp_checksum : in zio_checksum_error() 199 uint64_t size = (bp == NULL ? zio->io_size : in zio_checksum_error() 201 uint64_t offset = zio->io_offset; in zio_checksum_error() 202 void *data = zio->io_data; in zio_checksum_error() 269 if (zio_injection_enabled && !zio->io_error && in zio_checksum_error() [all …]
|
| HD | vdev_missing.c | 71 vdev_missing_io_start(zio_t *zio) in vdev_missing_io_start() argument 73 zio->io_error = SET_ERROR(ENOTSUP); in vdev_missing_io_start() 74 zio_interrupt(zio); in vdev_missing_io_start() 80 vdev_missing_io_done(zio_t *zio) in vdev_missing_io_done() argument
|
| HD | arc.c | 3103 arc_bcopy_func(zio_t *zio, arc_buf_t *buf, void *arg) in arc_bcopy_func() argument 3105 if (zio == NULL || zio->io_error == 0) in arc_bcopy_func() 3112 arc_getbuf_func(zio_t *zio, arc_buf_t *buf, void *arg) in arc_getbuf_func() argument 3115 if (zio && zio->io_error) { in arc_getbuf_func() 3125 arc_read_done(zio_t *zio) in arc_read_done() argument 3134 buf = zio->io_private; in arc_read_done() 3146 ASSERT3U(hdr->b_birth, ==, BP_PHYSICAL_BIRTH(zio->io_bp)); in arc_read_done() 3148 BP_IDENTITY(zio->io_bp)->dva_word[0]); in arc_read_done() 3150 BP_IDENTITY(zio->io_bp)->dva_word[1]); in arc_read_done() 3152 arc_buf_hdr_t *found = buf_hash_find(hdr->b_spa, zio->io_bp, in arc_read_done() [all …]
|
| HD | dbuf.c | 472 dbuf_read_done(zio_t *zio, arc_buf_t *buf, void *vdb) in dbuf_read_done() argument 492 } else if (zio == NULL || zio->io_error == 0) { in dbuf_read_done() 506 dbuf_read_impl(dmu_buf_impl_t *db, zio_t *zio, uint32_t *flags) in dbuf_read_impl() argument 573 (void) arc_read(zio, db->db_objset->os_spa, db->db_blkptr, in dbuf_read_impl() 582 dbuf_read(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags) in dbuf_read() argument 585 boolean_t havepzio = (zio != NULL); in dbuf_read() 619 if (zio == NULL) in dbuf_read() 620 zio = zio_root(spa, NULL, NULL, ZIO_FLAG_CANFAIL); in dbuf_read() 621 dbuf_read_impl(db, zio, &flags); in dbuf_read() 634 err = zio_wait(zio); in dbuf_read() [all …]
|
| HD | dmu.c | 399 zio_t *zio; in dmu_buf_hold_array_by_dnode() local 427 zio = zio_root(dn->dn_objset->os_spa, NULL, NULL, ZIO_FLAG_CANFAIL); in dmu_buf_hold_array_by_dnode() 434 zio_nowait(zio); in dmu_buf_hold_array_by_dnode() 439 (void) dbuf_read(db, zio, dbuf_flags); in dmu_buf_hold_array_by_dnode() 449 err = zio_wait(zio); in dmu_buf_hold_array_by_dnode() 1438 dmu_sync_ready(zio_t *zio, arc_buf_t *buf, void *varg) in dmu_sync_ready() argument 1442 blkptr_t *bp = zio->io_bp; in dmu_sync_ready() 1444 if (zio->io_error == 0) { in dmu_sync_ready() 1459 dmu_sync_late_arrival_ready(zio_t *zio) in dmu_sync_late_arrival_ready() argument 1461 dmu_sync_ready(zio, NULL, zio->io_private); in dmu_sync_late_arrival_ready() [all …]
|
| HD | vdev.c | 1008 vdev_probe_done(zio_t *zio) in vdev_probe_done() argument 1010 spa_t *spa = zio->io_spa; in vdev_probe_done() 1011 vdev_t *vd = zio->io_vd; in vdev_probe_done() 1012 vdev_probe_stats_t *vps = zio->io_private; in vdev_probe_done() 1016 if (zio->io_type == ZIO_TYPE_READ) { in vdev_probe_done() 1017 if (zio->io_error == 0) in vdev_probe_done() 1019 if (zio->io_error == 0 && spa_writeable(spa)) { in vdev_probe_done() 1021 zio->io_offset, zio->io_size, zio->io_data, in vdev_probe_done() 1025 zio_buf_free(zio->io_data, zio->io_size); in vdev_probe_done() 1027 } else if (zio->io_type == ZIO_TYPE_WRITE) { in vdev_probe_done() [all …]
|
| HD | dsl_pool.c | 529 zio_t *zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); in dsl_pool_sync_mos() local 530 dmu_objset_sync(dp->dp_meta_objset, zio, tx); in dsl_pool_sync_mos() 531 VERIFY0(zio_wait(zio)); in dsl_pool_sync_mos() 557 zio_t *zio; in dsl_pool_sync() local 572 zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); in dsl_pool_sync() 581 dsl_dataset_sync(ds, zio, tx); in dsl_pool_sync() 583 VERIFY0(zio_wait(zio)); in dsl_pool_sync() 610 zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); in dsl_pool_sync() 614 dsl_dataset_sync(ds, zio, tx); in dsl_pool_sync() 616 VERIFY0(zio_wait(zio)); in dsl_pool_sync()
|
| HD | ddt.c | 539 zio_t *zio = dde->dde_lead_zio[p]; in ddt_ditto_copies_needed() local 541 if (zio != NULL) in ddt_ditto_copies_needed() 542 refcnt += zio->io_parent_count; /* pending refs */ in ddt_ditto_copies_needed() 943 ddt_repair_entry_done(zio_t *zio) in ddt_repair_entry_done() argument 945 ddt_entry_t *rdde = zio->io_private; in ddt_repair_entry_done() 957 zio_t *zio; in ddt_repair_entry() local 960 zio = zio_null(rio, rio->io_spa, NULL, in ddt_repair_entry() 969 zio_nowait(zio_rewrite(zio, zio->io_spa, 0, &blk, in ddt_repair_entry() 971 ZIO_PRIORITY_SYNC_WRITE, ZIO_DDT_CHILD_FLAGS(zio), NULL)); in ddt_repair_entry() 974 zio_nowait(zio); in ddt_repair_entry()
|
| HD | dmu_objset.c | 991 dmu_objset_write_ready(zio_t *zio, arc_buf_t *abuf, void *arg) in dmu_objset_write_ready() argument 993 blkptr_t *bp = zio->io_bp; in dmu_objset_write_ready() 1015 dmu_objset_write_done(zio_t *zio, arc_buf_t *abuf, void *arg) in dmu_objset_write_done() argument 1017 blkptr_t *bp = zio->io_bp; in dmu_objset_write_done() 1018 blkptr_t *bp_orig = &zio->io_bp_orig; in dmu_objset_write_done() 1021 if (zio->io_flags & ZIO_FLAG_IO_REWRITE) { in dmu_objset_write_done() 1039 zio_t *zio; in dmu_objset_sync() local 1069 zio = arc_write(pio, os->os_spa, tx->tx_txg, in dmu_objset_sync() 1078 DMU_META_DNODE(os)->dn_zio = zio; in dmu_objset_sync() 1085 DMU_USERUSED_DNODE(os)->dn_zio = zio; in dmu_objset_sync() [all …]
|
| /trueos/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ |
| HD | zio.h | 216 #define ZIO_DDT_CHILD_FLAGS(zio) \ argument 217 (((zio)->io_flags & ZIO_FLAG_DDT_INHERIT) | \ 220 #define ZIO_GANG_CHILD_FLAGS(zio) \ argument 221 (((zio)->io_flags & ZIO_FLAG_GANG_INHERIT) | \ 224 #define ZIO_VDEV_CHILD_FLAGS(zio) \ argument 225 (((zio)->io_flags & ZIO_FLAG_VDEV_INHERIT) | \ 250 typedef void zio_done_func_t(zio_t *zio); 338 typedef void zio_vsd_cksum_report_f(zio_t *zio, zio_cksum_report_t *zcr, 353 typedef zio_t *zio_gang_issue_func_t(zio_t *zio, blkptr_t *bp, 356 typedef void zio_transform_func_t(zio_t *zio, void *data, uint64_t size); [all …]
|
| HD | vdev.h | 89 extern void vdev_stat_update(zio_t *zio, uint64_t psize); 111 extern boolean_t vdev_accessible(vdev_t *vd, zio_t *zio); 115 extern boolean_t vdev_cache_read(zio_t *zio); 116 extern void vdev_cache_write(zio_t *zio); 121 extern zio_t *vdev_queue_io(zio_t *zio); 122 extern void vdev_queue_io_done(zio_t *zio); 125 extern void vdev_queue_register_lastoffset(vdev_t *vd, zio_t *zio);
|
| HD | trim_map.h | 40 extern boolean_t trim_map_write_start(zio_t *zio); 41 extern void trim_map_write_done(zio_t *zio);
|
| HD | zio_checksum.h | 66 extern void zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, 68 extern int zio_checksum_error(zio_t *zio, zio_bad_cksum_t *out);
|