| /freebsd-12-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ |
| D | zio.c | 51 SYSCTL_NODE(_vfs_zfs, OID_AUTO, zio, CTLFLAG_RW, 0, "ZFS ZIO"); 133 #define IO_IS_ALLOCATING(zio) ((zio)->io_orig_pipeline & ZIO_STAGE_DVA_ALLOCATE) argument 341 zio_push_transform(zio_t *zio, abd_t *data, uint64_t size, uint64_t bufsize, in zio_push_transform() argument 351 IMPLY(abd_is_linear(zio->io_abd), abd_is_linear(data)); in zio_push_transform() 353 IMPLY(zio->io_abd != NULL && abd_is_linear(zio->io_abd), in zio_push_transform() 357 zt->zt_orig_abd = zio->io_abd; in zio_push_transform() 358 zt->zt_orig_size = zio->io_size; in zio_push_transform() 362 zt->zt_next = zio->io_transform_stack; in zio_push_transform() 363 zio->io_transform_stack = zt; in zio_push_transform() 365 zio->io_abd = data; in zio_push_transform() [all …]
|
| D | vdev_mirror.c | 140 vdev_mirror_map_free(zio_t *zio) in vdev_mirror_map_free() argument 142 mirror_map_t *mm = zio->io_vsd; in vdev_mirror_map_free() 204 vdev_mirror_map_init(zio_t *zio) in vdev_mirror_map_init() argument 208 vdev_t *vd = zio->io_vd; in vdev_mirror_map_init() 212 dva_t *dva = zio->io_bp->blk_dva; in vdev_mirror_map_init() 213 spa_t *spa = zio->io_spa; in vdev_mirror_map_init() 216 c = BP_GET_NDVAS(zio->io_bp); in vdev_mirror_map_init() 223 ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ); in vdev_mirror_map_init() 226 if (zfs_dva_valid(spa, &dva[i], zio->io_bp)) in vdev_mirror_map_init() 230 zio->io_vsd = NULL; in vdev_mirror_map_init() [all …]
|
| D | vdev_queue.c | 376 sizeof (zio_t), offsetof(struct zio, io_queue_node)); in vdev_queue_init() 379 offsetof(struct zio, io_offset_node)); in vdev_queue_init() 382 offsetof(struct zio, io_offset_node)); in vdev_queue_init() 398 sizeof (zio_t), offsetof(struct zio, io_queue_node)); in vdev_queue_init() 419 vdev_queue_io_add(vdev_queue_t *vq, zio_t *zio) in vdev_queue_io_add() argument 421 spa_t *spa = zio->io_spa; in vdev_queue_io_add() 425 ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE); in vdev_queue_io_add() 426 avl_add(vdev_queue_class_tree(vq, zio->io_priority), zio); in vdev_queue_io_add() 427 qtt = vdev_queue_type_tree(vq, zio->io_type); in vdev_queue_io_add() 429 avl_add(qtt, zio); in vdev_queue_io_add() [all …]
|
| D | vdev_file.c | 185 vdev_file_io_intr(zio_t *zio) in vdev_file_io_intr() argument 187 zio_delay_interrupt(zio); in vdev_file_io_intr() 193 zio_t *zio = arg; in vdev_file_io_strategy() local 194 vdev_t *vd = zio->io_vd; in vdev_file_io_strategy() 203 ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); in vdev_file_io_strategy() 204 if (zio->io_type == ZIO_TYPE_READ) { in vdev_file_io_strategy() 205 addr = abd_borrow_buf(zio->io_abd, zio->io_size); in vdev_file_io_strategy() 207 addr = abd_borrow_buf_copy(zio->io_abd, zio->io_size); in vdev_file_io_strategy() 210 zio->io_error = vn_rdwr(zio->io_type == ZIO_TYPE_READ ? in vdev_file_io_strategy() 211 UIO_READ : UIO_WRITE, vp, addr, zio->io_size, in vdev_file_io_strategy() [all …]
|
| D | vdev_indirect.c | 290 vdev_indirect_map_free(zio_t *zio) in vdev_indirect_map_free() argument 292 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_map_free() 1160 vdev_indirect_child_io_done(zio_t *zio) in vdev_indirect_child_io_done() argument 1162 zio_t *pio = zio->io_private; in vdev_indirect_child_io_done() 1165 pio->io_error = zio_worst_error(pio->io_error, zio->io_error); in vdev_indirect_child_io_done() 1169 if (zio->io_abd != NULL) in vdev_indirect_child_io_done() 1171 abd_put(zio->io_abd); in vdev_indirect_child_io_done() 1182 zio_t *zio = arg; in vdev_indirect_gather_splits() local 1183 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_gather_splits() 1224 vdev_indirect_read_split_done(zio_t *zio) in vdev_indirect_read_split_done() argument [all …]
|
| D | vdev_cache.c | 164 vdev_cache_allocate(zio_t *zio) in vdev_cache_allocate() argument 166 vdev_cache_t *vc = &zio->io_vd->vdev_cache; in vdev_cache_allocate() 167 uint64_t offset = P2ALIGN(zio->io_offset, VCBS); in vdev_cache_allocate() 200 vdev_cache_hit(vdev_cache_t *vc, vdev_cache_entry_t *ve, zio_t *zio) in vdev_cache_hit() argument 202 uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS); in vdev_cache_hit() 214 abd_copy_off(zio->io_abd, ve->ve_abd, 0, cache_phase, zio->io_size); in vdev_cache_hit() 260 vdev_cache_read(zio_t *zio) in vdev_cache_read() argument 262 vdev_cache_t *vc = &zio->io_vd->vdev_cache; in vdev_cache_read() 264 uint64_t cache_offset = P2ALIGN(zio->io_offset, VCBS); in vdev_cache_read() 265 uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS); in vdev_cache_read() [all …]
|
| D | vdev_disk.c | 700 zio_t *zio = vb->vb_io; in vdev_disk_io_intr() local 707 zio->io_error = (geterror(bp) != 0 ? SET_ERROR(EIO) : 0); in vdev_disk_io_intr() 709 if (zio->io_error == 0 && bp->b_resid != 0) in vdev_disk_io_intr() 710 zio->io_error = SET_ERROR(EIO); in vdev_disk_io_intr() 712 if (zio->io_type == ZIO_TYPE_READ) { in vdev_disk_io_intr() 713 abd_return_buf_copy(zio->io_abd, bp->b_un.b_addr, zio->io_size); in vdev_disk_io_intr() 715 abd_return_buf(zio->io_abd, bp->b_un.b_addr, zio->io_size); in vdev_disk_io_intr() 720 zio_delay_interrupt(zio); in vdev_disk_io_intr() 724 vdev_disk_ioctl_free(zio_t *zio) in vdev_disk_ioctl_free() argument 726 kmem_free(zio->io_vsd, sizeof (struct dk_callback)); in vdev_disk_ioctl_free() [all …]
|
| D | vdev_label.c | 191 vdev_label_read(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, in vdev_label_read() argument 195 spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE || in vdev_label_read() 196 spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE); in vdev_label_read() 199 zio_nowait(zio_read_phys(zio, vd, in vdev_label_read() 206 vdev_label_write(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, in vdev_label_write() argument 210 spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE || in vdev_label_write() 211 spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE); in vdev_label_write() 214 zio_nowait(zio_write_phys(zio, vd, in vdev_label_write() 582 zio_t *zio; in vdev_label_read_config() local 601 zio = zio_root(spa, NULL, NULL, flags); in vdev_label_read_config() [all …]
|
| D | 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 …]
|
| D | vdev_geom.c | 995 zio_t *zio; in vdev_geom_io_intr() local 997 zio = bp->bio_caller1; in vdev_geom_io_intr() 998 vd = zio->io_vd; in vdev_geom_io_intr() 999 zio->io_error = bp->bio_error; in vdev_geom_io_intr() 1000 if (zio->io_error == 0 && bp->bio_resid != 0) in vdev_geom_io_intr() 1001 zio->io_error = SET_ERROR(EIO); in vdev_geom_io_intr() 1003 switch(zio->io_error) { in vdev_geom_io_intr() 1028 spa_async_request(zio->io_spa, in vdev_geom_io_intr() 1042 if (zio->io_type != ZIO_TYPE_READ && zio->io_type != ZIO_TYPE_WRITE) { in vdev_geom_io_intr() 1044 zio->io_bio = NULL; in vdev_geom_io_intr() [all …]
|
| D | zio_inject.c | 167 zio_handle_fault_injection(zio_t *zio, int error) in zio_handle_fault_injection() argument 175 if (zio->io_logical == NULL) in zio_handle_fault_injection() 181 if (zio->io_type != ZIO_TYPE_READ) in zio_handle_fault_injection() 189 if (zio->io_spa != handler->zi_spa || in zio_handle_fault_injection() 194 if (zio_match_handler(&zio->io_logical->io_bookmark, in zio_handle_fault_injection() 195 zio->io_bp ? BP_GET_TYPE(zio->io_bp) : DMU_OT_NONE, in zio_handle_fault_injection() 214 zio_handle_label_injection(zio_t *zio, int error) in zio_handle_label_injection() argument 217 vdev_t *vd = zio->io_vd; in zio_handle_label_injection() 218 uint64_t offset = zio->io_offset; in zio_handle_label_injection() 245 if (zio->io_vd->vdev_guid == handler->zi_record.zi_guid && in zio_handle_label_injection() [all …]
|
| D | vdev_raidz.c | 295 vdev_raidz_map_free_vsd(zio_t *zio) in vdev_raidz_map_free_vsd() argument 297 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_map_free_vsd() 410 vdev_raidz_cksum_report(zio_t *zio, zio_cksum_report_t *zcr, void *arg) in vdev_raidz_cksum_report() argument 415 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_cksum_report() 1891 vdev_raidz_child_done(zio_t *zio) in vdev_raidz_child_done() argument 1893 raidz_col_t *rc = zio->io_private; in vdev_raidz_child_done() 1895 rc->rc_error = zio->io_error; in vdev_raidz_child_done() 1901 vdev_raidz_io_verify(zio_t *zio, raidz_map_t *rm, int col) in vdev_raidz_io_verify() argument 1904 vdev_t *vd = zio->io_vd; in vdev_raidz_io_verify() 1908 logical_rs.rs_start = zio->io_offset; in vdev_raidz_io_verify() [all …]
|
| D | trim_map.c | 335 trim_map_write_start(zio_t *zio) in trim_map_write_start() argument 337 vdev_t *vd = zio->io_vd; in trim_map_write_start() 346 start = zio->io_offset; in trim_map_write_start() 347 end = TRIM_ZIO_END(zio->io_vd, start, zio->io_size); in trim_map_write_start() 358 list_insert_tail(&tm->tm_pending_writes, zio); in trim_map_write_start() 370 avl_add(&tm->tm_inflight_writes, zio); in trim_map_write_start() 378 trim_map_write_done(zio_t *zio) in trim_map_write_done() argument 380 vdev_t *vd = zio->io_vd; in trim_map_write_done() 395 if (zio->io_trim_node.avl_child[0] || in trim_map_write_done() 396 zio->io_trim_node.avl_child[1] || in trim_map_write_done() [all …]
|
| D | zio_checksum.c | 298 zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, in zio_checksum_compute() argument 301 blkptr_t *bp = zio->io_bp; in zio_checksum_compute() 302 uint64_t offset = zio->io_offset; in zio_checksum_compute() 305 spa_t *spa = zio->io_spa; in zio_checksum_compute() 433 zio_checksum_error(zio_t *zio, zio_bad_cksum_t *info) in zio_checksum_error() argument 435 blkptr_t *bp = zio->io_bp; in zio_checksum_error() 436 uint_t checksum = (bp == NULL ? zio->io_prop.zp_checksum : in zio_checksum_error() 439 uint64_t size = (bp == NULL ? zio->io_size : in zio_checksum_error() 441 uint64_t offset = zio->io_offset; in zio_checksum_error() 442 abd_t *data = zio->io_abd; in zio_checksum_error() [all …]
|
| D | 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_execute(zio); in vdev_missing_io_start() 79 vdev_missing_io_done(zio_t *zio) in vdev_missing_io_done() argument
|
| D | arc.c | 2009 arc_cksum_is_equal(arc_buf_hdr_t *hdr, zio_t *zio) in arc_cksum_is_equal() argument 2011 enum zio_compress compress = BP_GET_COMPRESS(zio->io_bp); in arc_cksum_is_equal() 2014 ASSERT(!BP_IS_EMBEDDED(zio->io_bp)); in arc_cksum_is_equal() 2015 VERIFY3U(BP_GET_PSIZE(zio->io_bp), ==, HDR_GET_PSIZE(hdr)); in arc_cksum_is_equal() 2035 csize = zio_compress_data(compress, zio->io_abd, in arc_cksum_is_equal() 2055 zio_push_transform(zio, cdata, csize, HDR_GET_PSIZE(hdr), NULL); in arc_cksum_is_equal() 2071 valid_cksum = (zio_checksum_error_impl(zio->io_spa, zio->io_bp, in arc_cksum_is_equal() 2072 BP_GET_CHECKSUM(zio->io_bp), zio->io_abd, zio->io_size, in arc_cksum_is_equal() 2073 zio->io_offset, NULL) == 0); in arc_cksum_is_equal() 2074 zio_pop_transforms(zio); in arc_cksum_is_equal() [all …]
|
| D | dbuf.c | 1160 dbuf_read_done(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp, in dbuf_read_done() argument 1175 ASSERT(zio == NULL || zio->io_error != 0); in dbuf_read_done() 1181 ASSERT(zio == NULL || zio->io_error == 0); in dbuf_read_done() 1194 ASSERT(zio == NULL || zio->io_error == 0); in dbuf_read_done() 1203 dbuf_read_impl(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags) in dbuf_read_impl() argument 1293 (void) arc_read(zio, db->db_objset->os_spa, db->db_blkptr, in dbuf_read_impl() 1364 dbuf_read(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags) in dbuf_read() argument 1413 if (zio == NULL && in dbuf_read() 1415 zio = zio_root(spa, NULL, NULL, ZIO_FLAG_CANFAIL); in dbuf_read() 1418 dbuf_read_impl(db, zio, flags); in dbuf_read() [all …]
|
| D | dmu.c | 469 zio_t *zio; in dmu_buf_hold_array_by_dnode() local 510 zio = zio_root(dn->dn_objset->os_spa, NULL, NULL, ZIO_FLAG_CANFAIL); in dmu_buf_hold_array_by_dnode() 517 zio_nowait(zio); in dmu_buf_hold_array_by_dnode() 523 (void) dbuf_read(db, zio, dbuf_flags); in dmu_buf_hold_array_by_dnode() 539 err = zio_wait(zio); in dmu_buf_hold_array_by_dnode() 1993 dmu_sync_ready(zio_t *zio, arc_buf_t *buf, void *varg) in dmu_sync_ready() argument 1997 blkptr_t *bp = zio->io_bp; in dmu_sync_ready() 1999 if (zio->io_error == 0) { in dmu_sync_ready() 2014 dmu_sync_late_arrival_ready(zio_t *zio) in dmu_sync_late_arrival_ready() argument 2016 dmu_sync_ready(zio, NULL, zio->io_private); in dmu_sync_late_arrival_ready() [all …]
|
| D | mmp.c | 406 mmp_write_done(zio_t *zio) in mmp_write_done() argument 408 spa_t *spa = zio->io_spa; in mmp_write_done() 409 vdev_t *vd = zio->io_vd; in mmp_write_done() 410 mmp_thread_t *mts = zio->io_private; in mmp_write_done() 416 mmp_delay_update(spa, (zio->io_error == 0)); in mmp_write_done() 424 abd_free(zio->io_abd); in mmp_write_done() 536 zio_t *zio = zio_null(mmp->mmp_zio_root, spa, NULL, NULL, NULL, flags); in mmp_write_uberblock() local 549 vdev_label_write(zio, vd, label, ub_abd, offset, in mmp_write_uberblock() 559 zio_nowait(zio); in mmp_write_uberblock()
|
| D | vdev.c | 1429 vdev_probe_done(zio_t *zio) in vdev_probe_done() argument 1431 spa_t *spa = zio->io_spa; in vdev_probe_done() 1432 vdev_t *vd = zio->io_vd; in vdev_probe_done() 1433 vdev_probe_stats_t *vps = zio->io_private; in vdev_probe_done() 1437 if (zio->io_type == ZIO_TYPE_READ) { in vdev_probe_done() 1438 if (zio->io_error == 0) in vdev_probe_done() 1440 if (zio->io_error == 0 && spa_writeable(spa)) { in vdev_probe_done() 1442 zio->io_offset, zio->io_size, zio->io_abd, in vdev_probe_done() 1446 abd_free(zio->io_abd); in vdev_probe_done() 1448 } else if (zio->io_type == ZIO_TYPE_WRITE) { in vdev_probe_done() [all …]
|
| D | dmu_tx.c | 191 dmu_tx_check_ioerr(zio_t *zio, dnode_t *dn, int level, uint64_t blkid) in dmu_tx_check_ioerr() argument 201 err = dbuf_read(db, zio, DB_RF_CANFAIL | DB_RF_NOPREFETCH); in dmu_tx_check_ioerr() 239 zio_t *zio = zio_root(dn->dn_objset->os_spa, in dmu_tx_count_write() local 245 err = dmu_tx_check_ioerr(zio, dn, 0, start); in dmu_tx_count_write() 255 err = dmu_tx_check_ioerr(zio, dn, 0, end); in dmu_tx_count_write() 266 err = dmu_tx_check_ioerr(zio, dn, 1, i); in dmu_tx_count_write() 273 err = zio_wait(zio); in dmu_tx_count_write() 410 zio_t *zio = zio_root(tx->tx_pool->dp_spa, in dmu_tx_hold_free_impl() local 420 (void) zio_wait(zio); in dmu_tx_hold_free_impl() 427 err = dmu_tx_check_ioerr(zio, dn, 1, i); in dmu_tx_hold_free_impl() [all …]
|
| /freebsd-12-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ |
| D | zio.h | 198 #define ZIO_DDT_CHILD_FLAGS(zio) \ argument 199 (((zio)->io_flags & ZIO_FLAG_DDT_INHERIT) | \ 202 #define ZIO_GANG_CHILD_FLAGS(zio) \ argument 203 (((zio)->io_flags & ZIO_FLAG_GANG_INHERIT) | \ 206 #define ZIO_VDEV_CHILD_FLAGS(zio) \ argument 207 (((zio)->io_flags & ZIO_FLAG_VDEV_INHERIT) | \ 242 typedef void zio_done_func_t(zio_t *zio); 337 typedef void zio_vsd_cksum_report_f(zio_t *zio, zio_cksum_report_t *zcr, 352 typedef zio_t *zio_gang_issue_func_t(zio_t *zio, blkptr_t *bp, 355 typedef void zio_transform_func_t(zio_t *zio, struct abd *data, uint64_t size); [all …]
|
| D | vdev.h | 104 extern void vdev_stat_update(zio_t *zio, uint64_t psize); 129 extern boolean_t vdev_accessible(vdev_t *vd, zio_t *zio); 134 extern boolean_t vdev_cache_read(zio_t *zio); 135 extern void vdev_cache_write(zio_t *zio); 140 extern zio_t *vdev_queue_io(zio_t *zio); 141 extern void vdev_queue_io_done(zio_t *zio); 142 extern void vdev_queue_change_io_priority(zio_t *zio, zio_priority_t priority); 145 extern void vdev_queue_register_lastoffset(vdev_t *vd, zio_t *zio); 174 extern void vdev_label_write(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t
|
| D | trim_map.h | 40 extern boolean_t trim_map_write_start(zio_t *zio); 41 extern void trim_map_write_done(zio_t *zio);
|
| /freebsd-12-stable/stand/libsa/zfs/ |
| D | zfsimpl.c | 546 zio_t *zio = arg; in vdev_indirect_gather_splits() local 547 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_gather_splits() 558 zio->io_error = ENOMEM; in vdev_indirect_gather_splits() 594 zio_t *zio = arg; in vdev_indirect_remap() local 603 zio->io_error = ENOMEM; in vdev_indirect_remap() 614 zio->io_error = ENOMEM; in vdev_indirect_remap() 635 zio->io_error = ENOMEM; in vdev_indirect_remap() 649 if (zio->io_error != 0) in vdev_indirect_remap() 658 if (zio->io_error != 0) in vdev_indirect_remap() 666 vdev_indirect_map_free(zio_t *zio) in vdev_indirect_map_free() argument [all …]
|