| /freebsd/sys/contrib/openzfs/module/zfs/ |
| H A D | zio.c | 124 #define IO_IS_ALLOCATING(zio) ((zio)->io_orig_pipeline & ZIO_STAGE_DVA_ALLOCATE) argument 164 static inline void __zio_execute(zio_t *zio); 492 zio_push_transform(zio_t *zio, abd_t *data, uint64_t size, uint64_t bufsize, in zio_push_transform() argument 497 zt->zt_orig_abd = zio->io_abd; in zio_push_transform() 498 zt->zt_orig_size = zio->io_size; in zio_push_transform() 502 zt->zt_next = zio->io_transform_stack; in zio_push_transform() 503 zio->io_transform_stack = zt; in zio_push_transform() 505 zio->io_abd = data; in zio_push_transform() 506 zio->io_size = size; in zio_push_transform() 510 zio_pop_transforms(zio_t *zio) in zio_pop_transforms() argument [all …]
|
| H A D | vdev_queue.c | 238 vdev_queue_class_add(vdev_queue_t *vq, zio_t *zio) in vdev_queue_class_add() argument 240 zio_priority_t p = zio->io_priority; in vdev_queue_class_add() 243 list_insert_tail(&vq->vq_class[p].vqc_list, zio); in vdev_queue_class_add() 247 avl_add(&vq->vq_class[p].vqc_tree, zio); in vdev_queue_class_add() 251 vdev_queue_class_remove(vdev_queue_t *vq, zio_t *zio) in vdev_queue_class_remove() argument 253 zio_priority_t p = zio->io_priority; in vdev_queue_class_remove() 257 list_remove(list, zio); in vdev_queue_class_remove() 262 avl_remove(tree, zio); in vdev_queue_class_remove() 453 offsetof(struct zio, io_queue_node.l)); in vdev_queue_init() 457 offsetof(struct zio, io_queue_node.a)); in vdev_queue_init() [all …]
|
| H A D | vdev_mirror.c | 161 vdev_mirror_map_free(zio_t *zio) in vdev_mirror_map_free() argument 163 mirror_map_t *mm = zio->io_vsd; in vdev_mirror_map_free() 256 vdev_mirror_map_init(zio_t *zio) in vdev_mirror_map_init() argument 260 vdev_t *vd = zio->io_vd; in vdev_mirror_map_init() 264 dva_t *dva = zio->io_bp->blk_dva; in vdev_mirror_map_init() 265 spa_t *spa = zio->io_spa; in vdev_mirror_map_init() 284 if ((zio->io_flags & ZIO_FLAG_SCRUB) && in vdev_mirror_map_init() 285 !(zio->io_flags & ZIO_FLAG_IO_RETRY) && in vdev_mirror_map_init() 290 c = BP_GET_NDVAS(zio->io_bp); in vdev_mirror_map_init() 299 ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ); in vdev_mirror_map_init() [all …]
|
| H A D | vdev_file.c | 206 zio_t *zio = (zio_t *)arg; in vdev_file_io_strategy() local 207 vdev_t *vd = zio->io_vd; in vdev_file_io_strategy() 215 off = zio->io_offset; in vdev_file_io_strategy() 216 size = zio->io_size; in vdev_file_io_strategy() 219 ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); in vdev_file_io_strategy() 220 if (zio->io_type == ZIO_TYPE_READ) { in vdev_file_io_strategy() 221 buf = abd_borrow_buf(zio->io_abd, zio->io_size); in vdev_file_io_strategy() 223 abd_return_buf_copy(zio->io_abd, buf, size); in vdev_file_io_strategy() 225 buf = abd_borrow_buf_copy(zio->io_abd, zio->io_size); in vdev_file_io_strategy() 228 abd_return_buf(zio->io_abd, buf, size); in vdev_file_io_strategy() [all …]
|
| H A D | zio_inject.c | 230 zio_match_dva(zio_t *zio) in zio_match_dva() argument 234 if (zio->io_bp != NULL && zio->io_vd != NULL && in zio_match_dva() 235 zio->io_child_type == ZIO_CHILD_VDEV) { in zio_match_dva() 236 for (i = BP_GET_NDVAS(zio->io_bp) - 1; i >= 0; i--) { in zio_match_dva() 237 dva_t *dva = &zio->io_bp->blk_dva[i]; in zio_match_dva() 239 vdev_t *vd = vdev_lookup_top(zio->io_spa, in zio_match_dva() 243 if (zio->io_vd->vdev_ops->vdev_op_leaf) in zio_match_dva() 246 if (zio->io_vd == vd && zio->io_offset == off) in zio_match_dva() 260 zio_handle_fault_injection(zio_t *zio, int error) in zio_handle_fault_injection() argument 268 if (zio->io_logical == NULL) in zio_handle_fault_injection() [all …]
|
| H A D | vdev_indirect.c | 289 vdev_indirect_map_free(zio_t *zio) in vdev_indirect_map_free() argument 291 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_map_free() 1178 vdev_indirect_child_io_done(zio_t *zio) in vdev_indirect_child_io_done() argument 1180 zio_t *pio = zio->io_private; in vdev_indirect_child_io_done() 1183 pio->io_error = zio_worst_error(pio->io_error, zio->io_error); in vdev_indirect_child_io_done() 1186 abd_free(zio->io_abd); in vdev_indirect_child_io_done() 1197 zio_t *zio = arg; in vdev_indirect_gather_splits() local 1198 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_gather_splits() 1239 vdev_indirect_read_split_done(zio_t *zio) in vdev_indirect_read_split_done() argument 1241 indirect_child_t *ic = zio->io_private; in vdev_indirect_read_split_done() [all …]
|
| H A D | vdev_draid.c | 776 vdev_draid_map_alloc_write(zio_t *zio, uint64_t abd_offset, raidz_row_t *rr) in vdev_draid_map_alloc_write() argument 778 uint64_t skip_size = 1ULL << zio->io_vd->vdev_top->vdev_ashift; in vdev_draid_map_alloc_write() 782 ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE); in vdev_draid_map_alloc_write() 796 zio->io_abd, abd_off, rc->rc_size); in vdev_draid_map_alloc_write() 802 zio->io_abd, abd_off, rc->rc_size), B_TRUE); in vdev_draid_map_alloc_write() 813 IMPLY(abd_offset != 0, abd_off == zio->io_size); in vdev_draid_map_alloc_write() 824 vdev_draid_map_alloc_scrub(zio_t *zio, uint64_t abd_offset, raidz_row_t *rr) in vdev_draid_map_alloc_scrub() argument 826 uint64_t skip_size = 1ULL << zio->io_vd->vdev_top->vdev_ashift; in vdev_draid_map_alloc_scrub() 831 ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ); in vdev_draid_map_alloc_scrub() 852 zio->io_abd, abd_off, rc->rc_size); in vdev_draid_map_alloc_scrub() [all …]
|
| H A D | vdev_label.c | 181 vdev_label_read(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, in vdev_label_read() argument 185 spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE || in vdev_label_read() 186 spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE); in vdev_label_read() 189 zio_nowait(zio_read_phys(zio, vd, in vdev_label_read() 196 vdev_label_write(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, in vdev_label_write() argument 200 spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE || in vdev_label_write() 201 spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE); in vdev_label_write() 204 zio_nowait(zio_write_phys(zio, vd, in vdev_label_write() 841 zio_t *zio[VDEV_LABELS]; in vdev_label_read_config() local 869 zio[l] = zio_root(spa, NULL, NULL, flags); in vdev_label_read_config() [all …]
|
| H A D | vdev_raidz.c | 457 vdev_raidz_map_free_vsd(zio_t *zio) in vdev_raidz_map_free_vsd() argument 459 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_map_free_vsd() 478 vdev_raidz_row_alloc(int cols, zio_t *zio) in vdev_raidz_row_alloc() argument 499 if (!(zio->io_flags & ZIO_FLAG_DIO_READ)) in vdev_raidz_row_alloc() 506 vdev_raidz_map_alloc_write(zio_t *zio, raidz_map_t *rm, uint64_t ashift) in vdev_raidz_map_alloc_write() argument 513 ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE); in vdev_raidz_map_alloc_write() 544 zio->io_abd, 0, dc->rc_size); in vdev_raidz_map_alloc_write() 577 zio->io_abd, off, rc->rc_size); in vdev_raidz_map_alloc_write() 605 ASSERT3U(off, ==, zio->io_size); in vdev_raidz_map_alloc_write() 610 vdev_raidz_map_alloc_read(zio_t *zio, raidz_map_t *rm) in vdev_raidz_map_alloc_read() argument [all …]
|
| H A D | zfs_fm.c | 332 const zbookmark_phys_t *zb, zio_t *zio, uint64_t offset, uint64_t size) in zfs_ereport_is_duplicate() argument 336 if (vd == NULL || zio == NULL) in zfs_ereport_is_duplicate() 353 search.re_io_error = zio->io_error; in zfs_ereport_is_duplicate() 354 search.re_io_priority = zio->io_priority; in zfs_ereport_is_duplicate() 360 search.re_io_size = zio->io_size; in zfs_ereport_is_duplicate() 361 search.re_io_offset = zio->io_offset; in zfs_ereport_is_duplicate() 466 zio_t *zio, uint64_t stateoroffset, uint64_t size) in zfs_ereport_start() argument 495 } else if (zio != NULL && zio->io_logical != NULL) { in zfs_ereport_start() 496 if (zio->io_logical->io_ena == 0) in zfs_ereport_start() 497 zio->io_logical->io_ena = in zfs_ereport_start() [all …]
|
| H A 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 spa_mmp_history_set(spa, mmp_kstat_id, zio->io_error, in mmp_write_done() 427 abd_free(zio->io_abd); in mmp_write_done() 534 zio_t *zio = zio_null(mmp->mmp_zio_root, spa, NULL, NULL, NULL, flags); in mmp_write_uberblock() local 548 vdev_label_write(zio, vd, label, ub_abd, offset, in mmp_write_uberblock() 555 zio_nowait(zio); in mmp_write_uberblock() [all …]
|
| H A D | dmu_direct.c | 67 dmu_read_abd_done(zio_t *zio) in dmu_read_abd_done() argument 69 abd_free(zio->io_abd); in dmu_read_abd_done() 73 dmu_write_direct_ready(zio_t *zio) in dmu_write_direct_ready() argument 75 dmu_sync_ready(zio, NULL, zio->io_private); in dmu_write_direct_ready() 79 dmu_write_direct_done(zio_t *zio) in dmu_write_direct_done() argument 81 dmu_sync_arg_t *dsa = zio->io_private; in dmu_write_direct_done() 86 abd_free(zio->io_abd); in dmu_write_direct_done() 100 dmu_sync_done(zio, NULL, zio->io_private); in dmu_write_direct_done() 102 if (zio->io_error != 0) { in dmu_write_direct_done() 103 if (zio->io_post & ZIO_POST_DIO_CHKSUM_ERR) in dmu_write_direct_done() [all …]
|
| H A D | zio_checksum.c | 337 zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, in zio_checksum_compute() argument 341 blkptr_t *bp = zio->io_bp; in zio_checksum_compute() 342 uint64_t offset = zio->io_offset; in zio_checksum_compute() 345 spa_t *spa = zio->io_spa; in zio_checksum_compute() 532 zio_checksum_error(zio_t *zio, zio_bad_cksum_t *info) in zio_checksum_error() argument 534 blkptr_t *bp = zio->io_bp; in zio_checksum_error() 535 uint_t checksum = (bp == NULL ? zio->io_prop.zp_checksum : in zio_checksum_error() 538 uint64_t size = bp ? BP_GET_PSIZE(bp) : zio->io_size; in zio_checksum_error() 539 uint64_t offset = zio->io_offset; in zio_checksum_error() 540 abd_t *data = zio->io_abd; in zio_checksum_error() [all …]
|
| H A D | vdev_missing.c | 61 vdev_missing_io_start(zio_t *zio) in vdev_missing_io_start() argument 63 zio->io_error = SET_ERROR(ENOTSUP); in vdev_missing_io_start() 64 zio_execute(zio); in vdev_missing_io_start() 68 vdev_missing_io_done(zio_t *zio) in vdev_missing_io_done() argument 70 (void) zio; in vdev_missing_io_done()
|
| H A D | arc.c | 1012 static void l2arc_log_blk_fetch_abort(zio_t *zio); 1031 static void l2arc_blk_fetch_done(zio_t *zio); 1507 arc_cksum_is_equal(arc_buf_hdr_t *hdr, zio_t *zio) in arc_cksum_is_equal() argument 1509 ASSERT(!BP_IS_EMBEDDED(zio->io_bp)); in arc_cksum_is_equal() 1510 VERIFY3U(BP_GET_PSIZE(zio->io_bp), ==, HDR_GET_PSIZE(hdr)); in arc_cksum_is_equal() 1525 return (zio_checksum_error_impl(zio->io_spa, zio->io_bp, in arc_cksum_is_equal() 1526 BP_GET_CHECKSUM(zio->io_bp), zio->io_abd, zio->io_size, in arc_cksum_is_equal() 1527 zio->io_offset, NULL) == 0); in arc_cksum_is_equal() 5569 arc_getbuf_func(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp, in arc_getbuf_func() argument 5576 ASSERT(zio == NULL || zio->io_error != 0); in arc_getbuf_func() [all …]
|
| /freebsd/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 …]
|
| /freebsd/sys/contrib/openzfs/include/os/linux/zfs/sys/ |
| H A D | trace_common.h | 53 __entry->zio_type = zio->io_type; \ 54 __entry->zio_priority = zio->io_priority; \ 55 __entry->zio_size = zio->io_size; \ 56 __entry->zio_orig_size = zio->io_orig_size; \ 57 __entry->zio_offset = zio->io_offset; \ 58 __entry->zio_timestamp = zio->io_timestamp; \ 59 __entry->zio_delta = zio->io_delta; \ 60 __entry->zio_delay = zio->io_delay; \ 61 __entry->zio_flags = zio->io_flags; \ 62 __entry->zio_stage = zio->io_stage; \ [all …]
|
| H A D | trace_zio.h | 33 TP_PROTO(zio_t *zio, hrtime_t now), 34 TP_ARGS(zio, now), 48 TP_PROTO(zio_t *zio, hrtime_t now, hrtime_t diff), 49 TP_ARGS(zio, now, diff), 65 TP_PROTO(zio_t *zio), 66 TP_ARGS(zio),
|
| H A D | trace_dbuf.h | 92 TP_PROTO(dmu_buf_impl_t *db, zio_t *zio), 93 TP_ARGS(db, zio), 110 TP_PROTO(dmu_buf_impl_t *db, zio_t *zio), \ 111 TP_ARGS(db, zio))
|
| H A D | trace_arc.h | 114 TP_PROTO(vdev_t *vd, zio_t *zio), 115 TP_ARGS(vd, zio), 136 TP_PROTO(vdev_t *vd, zio_t *zio), \ 137 TP_ARGS(vd, zio)) 151 TP_PROTO(zio_t *zio, l2arc_write_callback_t *cb), 152 TP_ARGS(zio, cb), 161 TP_PROTO(zio_t *zio, l2arc_write_callback_t *cb), \ 162 TP_ARGS(zio, cb))
|
| /freebsd/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() 745 vbio_alloc(zio_t *zio, struct block_device *bdev, int flags) in vbio_alloc() argument 749 vbio->vbio_zio = zio; in vbio_alloc() 755 vbio->vbio_offset = zio->io_offset; in vbio_alloc() 867 zio_t *zio = vbio->vbio_zio; in vbio_completion() local 869 ASSERT(zio); in vbio_completion() [all …]
|
| /freebsd/sys/contrib/openzfs/include/sys/ |
| H A D | zio.h | 240 #define ZIO_HAS_ALLOCATOR(zio) ((zio)->io_allocator != ZIO_ALLOCATOR_NONE) argument 245 #define ZIO_DDT_CHILD_FLAGS(zio) \ argument 246 (((zio)->io_flags & ZIO_FLAG_DDT_INHERIT) | \ 249 #define ZIO_GANG_CHILD_FLAGS(zio) \ argument 250 (((zio)->io_flags & ZIO_FLAG_GANG_INHERIT) | \ 253 #define ZIO_VDEV_CHILD_FLAGS(zio) \ argument 254 (((zio)->io_flags & ZIO_FLAG_VDEV_INHERIT) | \ 282 typedef void zio_done_func_t(zio_t *zio); 415 typedef zio_t *zio_gang_issue_func_t(zio_t *zio, blkptr_t *bp, 418 typedef void zio_transform_func_t(zio_t *zio, struct abd *data, uint64_t size); [all …]
|
| /freebsd/sys/contrib/openzfs/module/os/freebsd/zfs/ |
| H A D | vdev_geom.c | 1004 zio_t *zio; in vdev_geom_io_intr() local 1006 zio = bp->bio_caller1; in vdev_geom_io_intr() 1007 vd = zio->io_vd; in vdev_geom_io_intr() 1008 zio->io_error = bp->bio_error; in vdev_geom_io_intr() 1009 if (zio->io_error == 0 && bp->bio_resid != 0) in vdev_geom_io_intr() 1010 zio->io_error = SET_ERROR(EIO); in vdev_geom_io_intr() 1012 switch (zio->io_error) { in vdev_geom_io_intr() 1021 spa_async_request(zio->io_spa, in vdev_geom_io_intr() 1035 if (zio->io_type != ZIO_TYPE_READ && zio->io_type != ZIO_TYPE_WRITE) { in vdev_geom_io_intr() 1037 zio->io_bio = NULL; in vdev_geom_io_intr() [all …]
|
| H A D | vdev_label_os.c | 33 zio_t *zio; in vdev_label_write_pad2() local 53 zio = zio_root(spa, NULL, NULL, flags); in vdev_label_write_pad2() 54 vdev_label_write(zio, vd, 0, pad2, in vdev_label_write_pad2() 57 error = zio_wait(zio); in vdev_label_write_pad2() 64 vdev_child_done(zio_t *zio) in vdev_child_done() argument 66 zio_t *pio = zio->io_private; in vdev_child_done() 69 pio->io_error = zio_worst_error(pio->io_error, zio->io_error); in vdev_child_done()
|
| /freebsd/sys/contrib/openzfs/cmd/raidz_test/ |
| H A D | raidz_test.c | 290 init_zio_abd(zio_t *zio) in init_zio_abd() argument 293 abd_iterate_func(zio->io_abd, 0, zio->io_size, init_rand, &offset); in init_zio_abd() 297 fini_raidz_map(zio_t **zio, raidz_map_t **rm) in fini_raidz_map() argument 300 raidz_free((*zio)->io_abd, (*zio)->io_size); in fini_raidz_map() 301 umem_free(*zio, sizeof (zio_t)); in fini_raidz_map() 303 *zio = NULL; in fini_raidz_map() 368 init_raidz_map(raidz_test_opts_t *opts, zio_t **zio, const int parity) in init_raidz_map() argument 375 VERIFY(zio); in init_raidz_map() 378 *zio = umem_zalloc(sizeof (zio_t), UMEM_NOFAIL); in init_raidz_map() 380 (*zio)->io_offset = opts->rto_offset; in init_raidz_map() [all …]
|