Home
last modified time | relevance | path

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

1234

/freebsd/sys/contrib/openzfs/module/zfs/
H A Dzio.c133 #define IO_IS_ALLOCATING(zio) ((zio)->io_orig_pipeline & ZIO_STAGE_DVA_ALLOCATE) argument
148 static inline void __zio_execute(zio_t *zio);
435 zio_push_transform(zio_t *zio, abd_t *data, uint64_t size, uint64_t bufsize, in zio_push_transform() argument
440 zt->zt_orig_abd = zio->io_abd; in zio_push_transform()
441 zt->zt_orig_size = zio->io_size; in zio_push_transform()
445 zt->zt_next = zio->io_transform_stack; in zio_push_transform()
446 zio->io_transform_stack = zt; in zio_push_transform()
448 zio->io_abd = data; in zio_push_transform()
449 zio->io_size = size; in zio_push_transform()
453 zio_pop_transforms(zio_t *zio) in zio_pop_transforms() argument
[all …]
H A Dvdev_queue.c272 vdev_queue_class_add(vdev_queue_t *vq, zio_t *zio) in vdev_queue_class_add() argument
274 zio_priority_t p = zio->io_priority; in vdev_queue_class_add()
277 list_insert_tail(&vq->vq_class[p].vqc_list, zio); in vdev_queue_class_add()
281 avl_add(&vq->vq_class[p].vqc_tree, zio); in vdev_queue_class_add()
285 vdev_queue_class_remove(vdev_queue_t *vq, zio_t *zio) in vdev_queue_class_remove() argument
287 zio_priority_t p = zio->io_priority; in vdev_queue_class_remove()
291 list_remove(list, zio); in vdev_queue_class_remove()
296 avl_remove(tree, zio); in vdev_queue_class_remove()
487 offsetof(struct zio, io_queue_node.l)); in vdev_queue_init()
491 offsetof(struct zio, io_queue_node.a)); in vdev_queue_init()
[all …]
H A Dvdev_mirror.c170 vdev_mirror_map_free(zio_t *zio) in vdev_mirror_map_free() argument
172 mirror_map_t *mm = zio->io_vsd; in vdev_mirror_map_free()
265 vdev_mirror_map_init(zio_t *zio) in vdev_mirror_map_init() argument
269 vdev_t *vd = zio->io_vd; in vdev_mirror_map_init()
273 dva_t *dva = zio->io_bp->blk_dva; in vdev_mirror_map_init()
274 spa_t *spa = zio->io_spa; in vdev_mirror_map_init()
293 if ((zio->io_flags & ZIO_FLAG_SCRUB) && in vdev_mirror_map_init()
294 !(zio->io_flags & ZIO_FLAG_IO_RETRY) && in vdev_mirror_map_init()
299 c = BP_GET_NDVAS(zio->io_bp); in vdev_mirror_map_init()
308 ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ); in vdev_mirror_map_init()
[all …]
H A Dzio_inject.c46 #include <sys/zio.h>
239 zio_match_dva(zio_t *zio) in zio_match_dva()
243 if (zio->io_bp != NULL && zio->io_vd != NULL && in zio_match_dva()
244 zio->io_child_type == ZIO_CHILD_VDEV) { in zio_match_dva()
245 for (i = BP_GET_NDVAS(zio->io_bp) - 1; i >= 0; i--) {
246 dva_t *dva = &zio->io_bp->blk_dva[i];
248 vdev_t *vd = vdev_lookup_top(zio->io_spa,
252 if (zio->io_vd->vdev_ops->vdev_op_leaf) in zio_handle_fault_injection() argument
255 if (zio in zio_handle_fault_injection()
222 zio_match_dva(zio_t * zio) zio_match_dva() argument
304 zio_handle_label_injection(zio_t * zio,int error) zio_handle_label_injection() argument
348 zio_t *zio = private; zio_inject_bitflip_cb() local
361 zio_handle_device_injection_impl(vdev_t * vd,zio_t * zio,int err1,int err2) zio_handle_device_injection_impl() argument
454 zio_handle_device_injection(vdev_t * vd,zio_t * zio,int error) zio_handle_device_injection() argument
460 zio_handle_device_injections(vdev_t * vd,zio_t * zio,int err1,int err2) zio_handle_device_injections() argument
470 zio_handle_ignored_writes(zio_t * zio) zio_handle_ignored_writes() argument
540 zio_handle_io_delay(zio_t * zio) zio_handle_io_delay() argument
[all...]
H A Dvdev_indirect.c292 vdev_indirect_map_free(zio_t *zio) in vdev_indirect_map_free() argument
294 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_map_free()
1180 vdev_indirect_child_io_done(zio_t *zio) in vdev_indirect_child_io_done() argument
1182 zio_t *pio = zio->io_private; in vdev_indirect_child_io_done()
1185 pio->io_error = zio_worst_error(pio->io_error, zio->io_error); in vdev_indirect_child_io_done()
1188 abd_free(zio->io_abd); in vdev_indirect_child_io_done()
1199 zio_t *zio = arg; in vdev_indirect_gather_splits() local
1200 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_gather_splits()
1241 vdev_indirect_read_split_done(zio_t *zio) in vdev_indirect_read_split_done() argument
1243 indirect_child_t *ic = zio->io_private; in vdev_indirect_read_split_done()
[all …]
H A Dvdev_draid.c650 vdev_draid_map_alloc_write(zio_t *zio, uint64_t abd_offset, raidz_row_t *rr) in vdev_draid_map_alloc_write() argument
652 uint64_t skip_size = 1ULL << zio->io_vd->vdev_top->vdev_ashift; in vdev_draid_map_alloc_write()
656 ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE); in vdev_draid_map_alloc_write()
669 zio->io_abd, abd_off, rc->rc_size); in vdev_draid_map_alloc_write()
675 zio->io_abd, abd_off, rc->rc_size), B_TRUE); in vdev_draid_map_alloc_write()
686 IMPLY(abd_offset != 0, abd_off == zio->io_size); in vdev_draid_map_alloc_write()
697 vdev_draid_map_alloc_scrub(zio_t *zio, uint64_t abd_offset, raidz_row_t *rr) in vdev_draid_map_alloc_scrub() argument
699 uint64_t skip_size = 1ULL << zio->io_vd->vdev_top->vdev_ashift; in vdev_draid_map_alloc_scrub()
704 ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ); in vdev_draid_map_alloc_scrub()
725 zio->io_abd, abd_off, rc->rc_size); in vdev_draid_map_alloc_scrub()
[all …]
H A Dvdev_label.c188 vdev_label_read(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, in vdev_label_read() argument
192 spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE || in vdev_label_read()
193 spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE); in vdev_label_read()
196 zio_nowait(zio_read_phys(zio, vd, in vdev_label_read()
203 vdev_label_write(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, in vdev_label_write() argument
207 spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE || in vdev_label_write()
208 spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE); in vdev_label_write()
211 zio_nowait(zio_write_phys(zio, vd, in vdev_label_write()
794 zio_t *zio[VDEV_LABELS]; in vdev_label_read_config() local
822 zio[l] = zio_root(spa, NULL, NULL, flags); in vdev_label_read_config()
[all …]
H A Dvdev_raidz.c419 vdev_raidz_map_free_vsd(zio_t *zio) in vdev_raidz_map_free_vsd() argument
421 raidz_map_t *rm = zio->io_vsd; in vdev_raidz_map_free_vsd()
440 vdev_raidz_row_alloc(int cols, zio_t *zio) in vdev_raidz_row_alloc() argument
461 if (!(zio->io_flags & ZIO_FLAG_DIO_READ)) in vdev_raidz_row_alloc()
468 vdev_raidz_map_alloc_write(zio_t *zio, raidz_map_t *rm, uint64_t ashift) in vdev_raidz_map_alloc_write() argument
475 ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE); in vdev_raidz_map_alloc_write()
522 zio->io_abd, off, rc->rc_size); in vdev_raidz_map_alloc_write()
550 ASSERT3U(off, ==, zio->io_size); in vdev_raidz_map_alloc_write()
555 vdev_raidz_map_alloc_read(zio_t *zio, raidz_map_t *rm) in vdev_raidz_map_alloc_read() argument
570 zio->io_abd, off, rc->rc_size); in vdev_raidz_map_alloc_read()
[all …]
H A Dzfs_fm.c338 const zbookmark_phys_t *zb, zio_t *zio, uint64_t offset, uint64_t size) in zfs_ereport_is_duplicate() argument
342 if (vd == NULL || zio == NULL) in zfs_ereport_is_duplicate()
359 search.re_io_error = zio->io_error; in zfs_ereport_is_duplicate()
360 search.re_io_priority = zio->io_priority; in zfs_ereport_is_duplicate()
366 search.re_io_size = zio->io_size; in zfs_ereport_is_duplicate()
367 search.re_io_offset = zio->io_offset; in zfs_ereport_is_duplicate()
472 zio_t *zio, uint64_t stateoroffset, uint64_t size) in zfs_ereport_start() argument
501 } else if (zio != NULL && zio->io_logical != NULL) { in zfs_ereport_start()
502 if (zio->io_logical->io_ena == 0) in zfs_ereport_start()
503 zio->io_logical->io_ena = in zfs_ereport_start()
[all …]
H A Ddmu_direct.c76 dmu_read_abd_done(zio_t *zio) in dmu_read_abd_done() argument
78 abd_free(zio->io_abd); in dmu_read_abd_done()
82 dmu_write_direct_ready(zio_t *zio) in dmu_write_direct_ready() argument
84 dmu_sync_ready(zio, NULL, zio->io_private); in dmu_write_direct_ready()
88 dmu_write_direct_done(zio_t *zio) in dmu_write_direct_done() argument
90 dmu_sync_arg_t *dsa = zio->io_private; in dmu_write_direct_done()
94 abd_free(zio->io_abd); in dmu_write_direct_done()
103 dmu_sync_done(zio, NULL, zio->io_private); in dmu_write_direct_done()
105 if (zio->io_error != 0) { in dmu_write_direct_done()
106 if (zio->io_flags & ZIO_FLAG_DIO_CHKSUM_ERR) in dmu_write_direct_done()
[all …]
H A Dvdev_missing.c70 vdev_missing_io_start(zio_t *zio) in vdev_missing_io_start() argument
72 zio->io_error = SET_ERROR(ENOTSUP); in vdev_missing_io_start()
73 zio_execute(zio); in vdev_missing_io_start()
77 vdev_missing_io_done(zio_t *zio) in vdev_missing_io_done() argument
79 (void) zio; in vdev_missing_io_done()
H A Dzio_checksum.c346 zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, in zio_checksum_compute() argument
350 blkptr_t *bp = zio->io_bp; in zio_checksum_compute()
351 uint64_t offset = zio->io_offset; in zio_checksum_compute()
354 spa_t *spa = zio->io_spa; in zio_checksum_compute()
541 zio_checksum_error(zio_t *zio, zio_bad_cksum_t *info) in zio_checksum_error() argument
543 blkptr_t *bp = zio->io_bp; in zio_checksum_error()
544 uint_t checksum = (bp == NULL ? zio->io_prop.zp_checksum : in zio_checksum_error()
547 uint64_t size = (bp == NULL ? 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 Darc.c981 static void l2arc_log_blk_fetch_abort(zio_t *zio);
1000 static void l2arc_blk_fetch_done(zio_t *zio);
1474 arc_cksum_is_equal(arc_buf_hdr_t *hdr, zio_t *zio) in arc_cksum_is_equal() argument
1476 ASSERT(!BP_IS_EMBEDDED(zio->io_bp)); in arc_cksum_is_equal()
1477 VERIFY3U(BP_GET_PSIZE(zio->io_bp), ==, HDR_GET_PSIZE(hdr)); in arc_cksum_is_equal()
1492 return (zio_checksum_error_impl(zio->io_spa, zio->io_bp, in arc_cksum_is_equal()
1493 BP_GET_CHECKSUM(zio->io_bp), zio->io_abd, zio->io_size, in arc_cksum_is_equal()
1494 zio->io_offset, NULL) == 0); in arc_cksum_is_equal()
5342 arc_bcopy_func(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp, in arc_bcopy_func() argument
5345 (void) zio, (void) zb, (void) bp; in arc_bcopy_func()
[all …]
H A Dmmp.c390 mmp_write_done(zio_t *zio) in mmp_write_done() argument
392 spa_t *spa = zio->io_spa; in mmp_write_done()
393 vdev_t *vd = zio->io_vd; in mmp_write_done()
394 mmp_thread_t *mts = zio->io_private; in mmp_write_done()
400 mmp_delay_update(spa, (zio->io_error == 0)); in mmp_write_done()
408 spa_mmp_history_set(spa, mmp_kstat_id, zio->io_error, in mmp_write_done()
411 abd_free(zio->io_abd); in mmp_write_done()
518 zio_t *zio = zio_null(mmp->mmp_zio_root, spa, NULL, NULL, NULL, flags); in mmp_write_uberblock() local
532 vdev_label_write(zio, vd, label, ub_abd, offset, in mmp_write_uberblock()
539 zio_nowait(zio); in mmp_write_uberblock()
/freebsd/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 …]
/freebsd/sys/contrib/openzfs/module/os/freebsd/zfs/
H A Dvdev_file.c204 vdev_file_io_intr(zio_t *zio) in vdev_file_io_intr() argument
206 zio_delay_interrupt(zio); in vdev_file_io_intr()
212 zio_t *zio = arg; in vdev_file_io_strategy() local
213 vdev_t *vd = zio->io_vd; in vdev_file_io_strategy()
221 off = zio->io_offset; in vdev_file_io_strategy()
222 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()
[all …]
H A Dvdev_geom.c1008 zio_t *zio; in vdev_geom_io_intr() local
1010 zio = bp->bio_caller1; in vdev_geom_io_intr()
1011 vd = zio->io_vd; in vdev_geom_io_intr()
1012 zio->io_error = bp->bio_error; in vdev_geom_io_intr()
1013 if (zio->io_error == 0 && bp->bio_resid != 0) in vdev_geom_io_intr()
1014 zio->io_error = SET_ERROR(EIO); in vdev_geom_io_intr()
1016 switch (zio->io_error) { in vdev_geom_io_intr()
1025 spa_async_request(zio->io_spa, in vdev_geom_io_intr()
1039 if (zio->io_type != ZIO_TYPE_READ && zio->io_type != ZIO_TYPE_WRITE) { in vdev_geom_io_intr()
1041 zio->io_bio = NULL; in vdev_geom_io_intr()
[all …]
H A Dvdev_label_os.c42 zio_t *zio; in vdev_label_write_pad2() local
62 zio = zio_root(spa, NULL, NULL, flags); in vdev_label_write_pad2()
63 vdev_label_write(zio, vd, 0, pad2, in vdev_label_write_pad2()
66 error = zio_wait(zio); in vdev_label_write_pad2()
77 vdev_child_done(zio_t *zio) in vdev_child_done() argument
79 zio_t *pio = zio->io_private; in vdev_child_done()
82 pio->io_error = zio_worst_error(pio->io_error, zio->io_error); in vdev_child_done()
/freebsd/sys/contrib/openzfs/module/os/linux/zfs/
H A Dvdev_file.c201 zio_t *zio = (zio_t *)arg; in vdev_file_io_strategy() local
202 vdev_t *vd = zio->io_vd; in vdev_file_io_strategy()
210 off = zio->io_offset; in vdev_file_io_strategy()
211 size = zio->io_size; in vdev_file_io_strategy()
214 if (zio->io_type == ZIO_TYPE_READ) { in vdev_file_io_strategy()
215 buf = abd_borrow_buf(zio->io_abd, zio->io_size); in vdev_file_io_strategy()
217 abd_return_buf_copy(zio->io_abd, buf, size); in vdev_file_io_strategy()
219 buf = abd_borrow_buf_copy(zio->io_abd, zio->io_size); in vdev_file_io_strategy()
221 abd_return_buf(zio->io_abd, buf, size); in vdev_file_io_strategy()
223 zio->io_error = err; in vdev_file_io_strategy()
[all …]
H A Dvdev_disk.c226 vdev_disk_error(zio_t *zio) in vdev_disk_error() argument
234 "offset=%llu size=%llu flags=%llu\n", spa_name(zio->io_spa), in vdev_disk_error()
235 zio->io_vd->vdev_path, zio->io_error, zio->io_type, in vdev_disk_error()
236 (u_longlong_t)zio->io_offset, (u_longlong_t)zio->io_size, in vdev_disk_error()
237 zio->io_flags); in vdev_disk_error()
672 vbio_alloc(zio_t *zio, struct block_device *bdev, int flags) in vbio_alloc() argument
676 vbio->vbio_zio = zio; in vbio_alloc()
682 vbio->vbio_offset = zio->io_offset; in vbio_alloc()
789 zio_t *zio = vbio->vbio_zio; in vbio_completion() local
791 ASSERT(zio); in vbio_completion()
[all …]
/freebsd/sys/contrib/openzfs/include/os/linux/zfs/sys/
H A Dtrace_common.h62 __entry->zio_type = zio->io_type; \
63 __entry->zio_priority = zio->io_priority; \
64 __entry->zio_size = zio->io_size; \
65 __entry->zio_orig_size = zio->io_orig_size; \
66 __entry->zio_offset = zio->io_offset; \
67 __entry->zio_timestamp = zio->io_timestamp; \
68 __entry->zio_delta = zio->io_delta; \
69 __entry->zio_delay = zio->io_delay; \
70 __entry->zio_flags = zio->io_flags; \
71 __entry->zio_stage = zio
[all...]
H A Dtrace_zio.h42 TP_PROTO(zio_t *zio, hrtime_t now),
43 TP_ARGS(zio, now),
57 TP_PROTO(zio_t *zio, hrtime_t now, hrtime_t diff),
58 TP_ARGS(zio, now, diff),
74 TP_PROTO(zio_t *zio),
75 TP_ARGS(zio),
H A Dtrace_dbuf.h101 TP_PROTO(dmu_buf_impl_t *db, zio_t *zio),
102 TP_ARGS(db, zio),
119 TP_PROTO(dmu_buf_impl_t *db, zio_t *zio), \
120 TP_ARGS(db, zio))
/freebsd/sys/contrib/openzfs/include/sys/
H A Dzio.h232 #define ZIO_HAS_ALLOCATOR(zio) ((zio)->io_allocator != ZIO_ALLOCATOR_NONE) argument
237 #define ZIO_DDT_CHILD_FLAGS(zio) \ argument
238 (((zio)->io_flags & ZIO_FLAG_DDT_INHERIT) | \
241 #define ZIO_GANG_CHILD_FLAGS(zio) \ argument
242 (((zio)->io_flags & ZIO_FLAG_GANG_INHERIT) | \
245 #define ZIO_VDEV_CHILD_FLAGS(zio) \ argument
246 (((zio)->io_flags & ZIO_FLAG_VDEV_INHERIT) | \
274 typedef void zio_done_func_t(zio_t *zio);
403 typedef zio_t *zio_gang_issue_func_t(zio_t *zio, blkptr_t *bp,
406 typedef void zio_transform_func_t(zio_t *zio, struct abd *data, uint64_t size);
[all …]
/freebsd/sys/contrib/openzfs/cmd/raidz_test/
H A Draidz_test.c286 init_zio_abd(zio_t *zio) in init_zio_abd() argument
288 abd_iterate_func(zio->io_abd, 0, zio->io_size, init_rand, NULL); in init_zio_abd()
292 fini_raidz_map(zio_t **zio, raidz_map_t **rm) in fini_raidz_map() argument
295 raidz_free((*zio)->io_abd, (*zio)->io_size); in fini_raidz_map()
296 umem_free(*zio, sizeof (zio_t)); in fini_raidz_map()
298 *zio = NULL; in fini_raidz_map()
363 init_raidz_map(raidz_test_opts_t *opts, zio_t **zio, const int parity) in init_raidz_map() argument
370 VERIFY(zio); in init_raidz_map()
373 *zio = umem_zalloc(sizeof (zio_t), UMEM_NOFAIL); in init_raidz_map()
375 (*zio)->io_offset = 0; in init_raidz_map()
[all …]

1234