Home
last modified time | relevance | path

Searched refs:zio (Results 1 – 25 of 78) sorted by relevance

1234

/src/sys/contrib/openzfs/module/zfs/
H A Dzio.c134 #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 Dvdev_queue.c248 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 Dvdev_mirror.c171 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 Dvdev_file.c214 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 Dzio_inject.c240 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 Dvdev_indirect.c293 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 Dvdev_draid.c653 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 Dvdev_label.c189 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 Dvdev_raidz.c447 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 Dzfs_fm.c342 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 Dmmp.c400 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 Ddmu_direct.c77 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 Dzio_checksum.c347 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 Dvdev_missing.c71 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 Darc.c1005 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 Dtarfs_io.c58 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 Dtrace_common.h63 __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 Dtrace_zio.h43 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 Dtrace_dbuf.h102 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 Dtrace_arc.h124 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 Dvdev_disk.c227 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 Dzio.h248 #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 Dvdev_geom.c1012 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 Dvdev_label_os.c43 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 Draidz_test.c300 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 …]

1234