| /src/sys/contrib/openzfs/module/zfs/ |
| H A D | zio.c | 134 #define IO_IS_ALLOCATING(zio) ((zio)->io_orig_pipeline & ZIO_STAGE_DVA_ALLOCATE) argument 174 static inline void __zio_execute(zio_t *zio); 502 zio_push_transform(zio_t *zio, abd_t *data, uint64_t size, uint64_t bufsize, in zio_push_transform() argument 507 zt->zt_orig_abd = zio->io_abd; in zio_push_transform() 508 zt->zt_orig_size = zio->io_size; in zio_push_transform() 512 zt->zt_next = zio->io_transform_stack; in zio_push_transform() 513 zio->io_transform_stack = zt; in zio_push_transform() 515 zio->io_abd = data; in zio_push_transform() 516 zio->io_size = size; in zio_push_transform() 520 zio_pop_transforms(zio_t *zio) in zio_pop_transforms() argument [all …]
|
| H A D | vdev_queue.c | 248 vdev_queue_class_add(vdev_queue_t *vq, zio_t *zio) in vdev_queue_class_add() argument 250 zio_priority_t p = zio->io_priority; in vdev_queue_class_add() 253 list_insert_tail(&vq->vq_class[p].vqc_list, zio); in vdev_queue_class_add() 257 avl_add(&vq->vq_class[p].vqc_tree, zio); in vdev_queue_class_add() 261 vdev_queue_class_remove(vdev_queue_t *vq, zio_t *zio) in vdev_queue_class_remove() argument 263 zio_priority_t p = zio->io_priority; in vdev_queue_class_remove() 267 list_remove(list, zio); in vdev_queue_class_remove() 272 avl_remove(tree, zio); in vdev_queue_class_remove() 463 offsetof(struct zio, io_queue_node.l)); in vdev_queue_init() 467 offsetof(struct zio, io_queue_node.a)); in vdev_queue_init() [all …]
|
| H A D | vdev_mirror.c | 171 vdev_mirror_map_free(zio_t *zio) in vdev_mirror_map_free() argument 173 mirror_map_t *mm = zio->io_vsd; in vdev_mirror_map_free() 266 vdev_mirror_map_init(zio_t *zio) in vdev_mirror_map_init() argument 270 vdev_t *vd = zio->io_vd; in vdev_mirror_map_init() 274 dva_t *dva = zio->io_bp->blk_dva; in vdev_mirror_map_init() 275 spa_t *spa = zio->io_spa; in vdev_mirror_map_init() 294 if ((zio->io_flags & ZIO_FLAG_SCRUB) && in vdev_mirror_map_init() 295 !(zio->io_flags & ZIO_FLAG_IO_RETRY) && in vdev_mirror_map_init() 300 c = BP_GET_NDVAS(zio->io_bp); in vdev_mirror_map_init() 309 ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ); in vdev_mirror_map_init() [all …]
|
| H A D | vdev_file.c | 214 zio_t *zio = (zio_t *)arg; in vdev_file_io_strategy() local 215 vdev_t *vd = zio->io_vd; in vdev_file_io_strategy() 223 off = zio->io_offset; in vdev_file_io_strategy() 224 size = zio->io_size; in vdev_file_io_strategy() 227 ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); in vdev_file_io_strategy() 228 if (zio->io_type == ZIO_TYPE_READ) { in vdev_file_io_strategy() 229 buf = abd_borrow_buf(zio->io_abd, zio->io_size); in vdev_file_io_strategy() 231 abd_return_buf_copy(zio->io_abd, buf, size); in vdev_file_io_strategy() 233 buf = abd_borrow_buf_copy(zio->io_abd, zio->io_size); in vdev_file_io_strategy() 236 abd_return_buf(zio->io_abd, buf, size); in vdev_file_io_strategy() [all …]
|
| H A D | zio_inject.c | 240 zio_match_dva(zio_t *zio) in zio_match_dva() argument 244 if (zio->io_bp != NULL && zio->io_vd != NULL && in zio_match_dva() 245 zio->io_child_type == ZIO_CHILD_VDEV) { in zio_match_dva() 246 for (i = BP_GET_NDVAS(zio->io_bp) - 1; i >= 0; i--) { in zio_match_dva() 247 dva_t *dva = &zio->io_bp->blk_dva[i]; in zio_match_dva() 249 vdev_t *vd = vdev_lookup_top(zio->io_spa, in zio_match_dva() 253 if (zio->io_vd->vdev_ops->vdev_op_leaf) in zio_match_dva() 256 if (zio->io_vd == vd && zio->io_offset == off) in zio_match_dva() 270 zio_handle_fault_injection(zio_t *zio, int error) in zio_handle_fault_injection() argument 278 if (zio->io_logical == NULL) in zio_handle_fault_injection() [all …]
|
| H A D | vdev_indirect.c | 293 vdev_indirect_map_free(zio_t *zio) in vdev_indirect_map_free() argument 295 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_map_free() 1181 vdev_indirect_child_io_done(zio_t *zio) in vdev_indirect_child_io_done() argument 1183 zio_t *pio = zio->io_private; in vdev_indirect_child_io_done() 1186 pio->io_error = zio_worst_error(pio->io_error, zio->io_error); in vdev_indirect_child_io_done() 1189 abd_free(zio->io_abd); in vdev_indirect_child_io_done() 1200 zio_t *zio = arg; in vdev_indirect_gather_splits() local 1201 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_gather_splits() 1242 vdev_indirect_read_split_done(zio_t *zio) in vdev_indirect_read_split_done() argument 1244 indirect_child_t *ic = zio->io_private; in vdev_indirect_read_split_done() [all …]
|
| H A D | vdev_draid.c | 653 vdev_draid_map_alloc_write(zio_t *zio, uint64_t abd_offset, raidz_row_t *rr) in vdev_draid_map_alloc_write() argument 655 uint64_t skip_size = 1ULL << zio->io_vd->vdev_top->vdev_ashift; in vdev_draid_map_alloc_write() 659 ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE); in vdev_draid_map_alloc_write() 672 zio->io_abd, abd_off, rc->rc_size); in vdev_draid_map_alloc_write() 678 zio->io_abd, abd_off, rc->rc_size), B_TRUE); in vdev_draid_map_alloc_write() 689 IMPLY(abd_offset != 0, abd_off == zio->io_size); in vdev_draid_map_alloc_write() 700 vdev_draid_map_alloc_scrub(zio_t *zio, uint64_t abd_offset, raidz_row_t *rr) in vdev_draid_map_alloc_scrub() argument 702 uint64_t skip_size = 1ULL << zio->io_vd->vdev_top->vdev_ashift; in vdev_draid_map_alloc_scrub() 707 ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ); in vdev_draid_map_alloc_scrub() 728 zio->io_abd, abd_off, rc->rc_size); in vdev_draid_map_alloc_scrub() [all …]
|
| H A D | vdev_label.c | 189 vdev_label_read(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, in vdev_label_read() argument 193 spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE || in vdev_label_read() 194 spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE); in vdev_label_read() 197 zio_nowait(zio_read_phys(zio, vd, in vdev_label_read() 204 vdev_label_write(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, in vdev_label_write() argument 208 spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE || in vdev_label_write() 209 spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE); in vdev_label_write() 212 zio_nowait(zio_write_phys(zio, vd, in vdev_label_write() 798 zio_t *zio[VDEV_LABELS]; in vdev_label_read_config() local 826 zio[l] = zio_root(spa, NULL, NULL, flags); in vdev_label_read_config() [all …]
|
| H A D | vdev_raidz.c | 447 vdev_raidz_map_free_vsd(zio_t *zio) in vdev_raidz_map_free_vsd() argument 449 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_map_free_vsd() 468 vdev_raidz_row_alloc(int cols, zio_t *zio) in vdev_raidz_row_alloc() argument 489 if (!(zio->io_flags & ZIO_FLAG_DIO_READ)) in vdev_raidz_row_alloc() 496 vdev_raidz_map_alloc_write(zio_t *zio, raidz_map_t *rm, uint64_t ashift) in vdev_raidz_map_alloc_write() argument 503 ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE); in vdev_raidz_map_alloc_write() 550 zio->io_abd, off, rc->rc_size); in vdev_raidz_map_alloc_write() 578 ASSERT3U(off, ==, zio->io_size); in vdev_raidz_map_alloc_write() 583 vdev_raidz_map_alloc_read(zio_t *zio, raidz_map_t *rm) in vdev_raidz_map_alloc_read() argument 598 zio->io_abd, off, rc->rc_size); in vdev_raidz_map_alloc_read() [all …]
|
| H A D | zfs_fm.c | 342 const zbookmark_phys_t *zb, zio_t *zio, uint64_t offset, uint64_t size) in zfs_ereport_is_duplicate() argument 346 if (vd == NULL || zio == NULL) in zfs_ereport_is_duplicate() 363 search.re_io_error = zio->io_error; in zfs_ereport_is_duplicate() 364 search.re_io_priority = zio->io_priority; in zfs_ereport_is_duplicate() 370 search.re_io_size = zio->io_size; in zfs_ereport_is_duplicate() 371 search.re_io_offset = zio->io_offset; in zfs_ereport_is_duplicate() 476 zio_t *zio, uint64_t stateoroffset, uint64_t size) in zfs_ereport_start() argument 505 } else if (zio != NULL && zio->io_logical != NULL) { in zfs_ereport_start() 506 if (zio->io_logical->io_ena == 0) in zfs_ereport_start() 507 zio->io_logical->io_ena = in zfs_ereport_start() [all …]
|
| H A D | mmp.c | 400 mmp_write_done(zio_t *zio) in mmp_write_done() argument 402 spa_t *spa = zio->io_spa; in mmp_write_done() 403 vdev_t *vd = zio->io_vd; in mmp_write_done() 404 mmp_thread_t *mts = zio->io_private; in mmp_write_done() 410 mmp_delay_update(spa, (zio->io_error == 0)); in mmp_write_done() 418 spa_mmp_history_set(spa, mmp_kstat_id, zio->io_error, in mmp_write_done() 421 abd_free(zio->io_abd); in mmp_write_done() 528 zio_t *zio = zio_null(mmp->mmp_zio_root, spa, NULL, NULL, NULL, flags); in mmp_write_uberblock() local 542 vdev_label_write(zio, vd, label, ub_abd, offset, in mmp_write_uberblock() 549 zio_nowait(zio); in mmp_write_uberblock() [all …]
|
| H A D | dmu_direct.c | 77 dmu_read_abd_done(zio_t *zio) in dmu_read_abd_done() argument 79 abd_free(zio->io_abd); in dmu_read_abd_done() 83 dmu_write_direct_ready(zio_t *zio) in dmu_write_direct_ready() argument 85 dmu_sync_ready(zio, NULL, zio->io_private); in dmu_write_direct_ready() 89 dmu_write_direct_done(zio_t *zio) in dmu_write_direct_done() argument 91 dmu_sync_arg_t *dsa = zio->io_private; in dmu_write_direct_done() 95 abd_free(zio->io_abd); in dmu_write_direct_done() 104 dmu_sync_done(zio, NULL, zio->io_private); in dmu_write_direct_done() 106 if (zio->io_error != 0) { in dmu_write_direct_done() 107 if (zio->io_post & ZIO_POST_DIO_CHKSUM_ERR) in dmu_write_direct_done() [all …]
|
| H A D | zio_checksum.c | 347 zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, in zio_checksum_compute() argument 351 blkptr_t *bp = zio->io_bp; in zio_checksum_compute() 352 uint64_t offset = zio->io_offset; in zio_checksum_compute() 355 spa_t *spa = zio->io_spa; in zio_checksum_compute() 542 zio_checksum_error(zio_t *zio, zio_bad_cksum_t *info) in zio_checksum_error() argument 544 blkptr_t *bp = zio->io_bp; in zio_checksum_error() 545 uint_t checksum = (bp == NULL ? zio->io_prop.zp_checksum : in zio_checksum_error() 548 uint64_t size = bp ? BP_GET_PSIZE(bp) : zio->io_size; in zio_checksum_error() 549 uint64_t offset = zio->io_offset; in zio_checksum_error() 550 abd_t *data = zio->io_abd; in zio_checksum_error() [all …]
|
| H A 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() 78 vdev_missing_io_done(zio_t *zio) in vdev_missing_io_done() argument 80 (void) zio; in vdev_missing_io_done()
|
| H A D | arc.c | 1005 static void l2arc_log_blk_fetch_abort(zio_t *zio); 1024 static void l2arc_blk_fetch_done(zio_t *zio); 1499 arc_cksum_is_equal(arc_buf_hdr_t *hdr, zio_t *zio) in arc_cksum_is_equal() argument 1501 ASSERT(!BP_IS_EMBEDDED(zio->io_bp)); in arc_cksum_is_equal() 1502 VERIFY3U(BP_GET_PSIZE(zio->io_bp), ==, HDR_GET_PSIZE(hdr)); in arc_cksum_is_equal() 1517 return (zio_checksum_error_impl(zio->io_spa, zio->io_bp, in arc_cksum_is_equal() 1518 BP_GET_CHECKSUM(zio->io_bp), zio->io_abd, zio->io_size, in arc_cksum_is_equal() 1519 zio->io_offset, NULL) == 0); in arc_cksum_is_equal() 5560 arc_bcopy_func(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp, in arc_bcopy_func() argument 5563 (void) zio, (void) zb, (void) bp; in arc_bcopy_func() [all …]
|
| /src/sys/fs/tarfs/ |
| H A D | tarfs_io.c | 58 SYSCTL_NODE(_vfs_tarfs, OID_AUTO, zio, CTLFLAG_RD, 0, 229 tarfs_zio_update_index(struct tarfs_zio *zio, off_t i, off_t o) in tarfs_zio_update_index() argument 232 if (++zio->curidx >= zio->nidx) { in tarfs_zio_update_index() 233 if (++zio->nidx > zio->szidx) { in tarfs_zio_update_index() 234 zio->szidx *= 2; in tarfs_zio_update_index() 235 zio->idx = realloc(zio->idx, in tarfs_zio_update_index() 236 zio->szidx * sizeof(*zio->idx), in tarfs_zio_update_index() 240 zio->idx[zio->curidx].i = i; in tarfs_zio_update_index() 241 zio->idx[zio->curidx].o = o; in tarfs_zio_update_index() 243 zio->curidx, (size_t)zio->idx[zio->curidx].i, in tarfs_zio_update_index() [all …]
|
| /src/sys/contrib/openzfs/include/os/linux/zfs/sys/ |
| H A D | trace_common.h | 63 __entry->zio_type = zio->io_type; \ 64 __entry->zio_priority = zio->io_priority; \ 65 __entry->zio_size = zio->io_size; \ 66 __entry->zio_orig_size = zio->io_orig_size; \ 67 __entry->zio_offset = zio->io_offset; \ 68 __entry->zio_timestamp = zio->io_timestamp; \ 69 __entry->zio_delta = zio->io_delta; \ 70 __entry->zio_delay = zio->io_delay; \ 71 __entry->zio_flags = zio->io_flags; \ 72 __entry->zio_stage = zio->io_stage; \ [all …]
|
| H A D | trace_zio.h | 43 TP_PROTO(zio_t *zio, hrtime_t now), 44 TP_ARGS(zio, now), 58 TP_PROTO(zio_t *zio, hrtime_t now, hrtime_t diff), 59 TP_ARGS(zio, now, diff), 75 TP_PROTO(zio_t *zio), 76 TP_ARGS(zio),
|
| H A D | trace_dbuf.h | 102 TP_PROTO(dmu_buf_impl_t *db, zio_t *zio), 103 TP_ARGS(db, zio), 120 TP_PROTO(dmu_buf_impl_t *db, zio_t *zio), \ 121 TP_ARGS(db, zio))
|
| H A D | trace_arc.h | 124 TP_PROTO(vdev_t *vd, zio_t *zio), 125 TP_ARGS(vd, zio), 146 TP_PROTO(vdev_t *vd, zio_t *zio), \ 147 TP_ARGS(vd, zio)) 161 TP_PROTO(zio_t *zio, l2arc_write_callback_t *cb), 162 TP_ARGS(zio, cb), 171 TP_PROTO(zio_t *zio, l2arc_write_callback_t *cb), \ 172 TP_ARGS(zio, cb))
|
| /src/sys/contrib/openzfs/module/os/linux/zfs/ |
| H A D | vdev_disk.c | 227 vdev_disk_error(zio_t *zio) in vdev_disk_error() argument 235 "offset=%llu size=%llu flags=%llu\n", spa_name(zio->io_spa), in vdev_disk_error() 236 zio->io_vd->vdev_path, zio->io_error, zio->io_type, in vdev_disk_error() 237 (u_longlong_t)zio->io_offset, (u_longlong_t)zio->io_size, in vdev_disk_error() 238 zio->io_flags); in vdev_disk_error() 684 vbio_alloc(zio_t *zio, struct block_device *bdev, int flags) in vbio_alloc() argument 688 vbio->vbio_zio = zio; in vbio_alloc() 694 vbio->vbio_offset = zio->io_offset; in vbio_alloc() 801 zio_t *zio = vbio->vbio_zio; in vbio_completion() local 803 ASSERT(zio); in vbio_completion() [all …]
|
| /src/sys/contrib/openzfs/include/sys/ |
| H A D | zio.h | 248 #define ZIO_HAS_ALLOCATOR(zio) ((zio)->io_allocator != ZIO_ALLOCATOR_NONE) argument 253 #define ZIO_DDT_CHILD_FLAGS(zio) \ argument 254 (((zio)->io_flags & ZIO_FLAG_DDT_INHERIT) | \ 257 #define ZIO_GANG_CHILD_FLAGS(zio) \ argument 258 (((zio)->io_flags & ZIO_FLAG_GANG_INHERIT) | \ 261 #define ZIO_VDEV_CHILD_FLAGS(zio) \ argument 262 (((zio)->io_flags & ZIO_FLAG_VDEV_INHERIT) | \ 290 typedef void zio_done_func_t(zio_t *zio); 423 typedef zio_t *zio_gang_issue_func_t(zio_t *zio, blkptr_t *bp, 426 typedef void zio_transform_func_t(zio_t *zio, struct abd *data, uint64_t size); [all …]
|
| /src/sys/contrib/openzfs/module/os/freebsd/zfs/ |
| H A D | vdev_geom.c | 1012 zio_t *zio; in vdev_geom_io_intr() local 1014 zio = bp->bio_caller1; in vdev_geom_io_intr() 1015 vd = zio->io_vd; in vdev_geom_io_intr() 1016 zio->io_error = bp->bio_error; in vdev_geom_io_intr() 1017 if (zio->io_error == 0 && bp->bio_resid != 0) in vdev_geom_io_intr() 1018 zio->io_error = SET_ERROR(EIO); in vdev_geom_io_intr() 1020 switch (zio->io_error) { in vdev_geom_io_intr() 1029 spa_async_request(zio->io_spa, in vdev_geom_io_intr() 1043 if (zio->io_type != ZIO_TYPE_READ && zio->io_type != ZIO_TYPE_WRITE) { in vdev_geom_io_intr() 1045 zio->io_bio = NULL; in vdev_geom_io_intr() [all …]
|
| H A D | vdev_label_os.c | 43 zio_t *zio; in vdev_label_write_pad2() local 63 zio = zio_root(spa, NULL, NULL, flags); in vdev_label_write_pad2() 64 vdev_label_write(zio, vd, 0, pad2, in vdev_label_write_pad2() 67 error = zio_wait(zio); in vdev_label_write_pad2() 74 vdev_child_done(zio_t *zio) in vdev_child_done() argument 76 zio_t *pio = zio->io_private; in vdev_child_done() 79 pio->io_error = zio_worst_error(pio->io_error, zio->io_error); in vdev_child_done()
|
| /src/sys/contrib/openzfs/cmd/raidz_test/ |
| H A D | raidz_test.c | 300 init_zio_abd(zio_t *zio) in init_zio_abd() argument 303 abd_iterate_func(zio->io_abd, 0, zio->io_size, init_rand, &offset); in init_zio_abd() 307 fini_raidz_map(zio_t **zio, raidz_map_t **rm) in fini_raidz_map() argument 310 raidz_free((*zio)->io_abd, (*zio)->io_size); in fini_raidz_map() 311 umem_free(*zio, sizeof (zio_t)); in fini_raidz_map() 313 *zio = NULL; in fini_raidz_map() 378 init_raidz_map(raidz_test_opts_t *opts, zio_t **zio, const int parity) in init_raidz_map() argument 385 VERIFY(zio); in init_raidz_map() 388 *zio = umem_zalloc(sizeof (zio_t), UMEM_NOFAIL); in init_raidz_map() 390 (*zio)->io_offset = opts->rto_offset; in init_raidz_map() [all …]
|