/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ |
H A D | zio.c | 47 SYSCTL_NODE(_vfs_zfs, OID_AUTO, zio, CTLFLAG_RW, 0, "ZFS ZIO"); 53 TUNABLE_INT("vfs.zfs.zio.use_uma", &zio_use_uma); 57 TUNABLE_INT("vfs.zfs.zio.exclude_metadata", &zio_exclude_metadata); 134 * An allocating zio is one that either currently has the DVA allocate 137 #define IO_IS_ALLOCATING(zio) ((zio)->io_orig_pipeline & ZIO_STAGE_DVA_ALLOCATE) 360 zio_push_transform(zio_t *zio, void *data, uint64_t size, uint64_t bufsize, argument 365 zt->zt_orig_data = zio->io_data; 366 zt->zt_orig_size = zio->io_size; 370 zt->zt_next = zio 378 zio_pop_transforms(zio_t *zio) argument 404 zio_subblock(zio_t *zio, void *data, uint64_t size) argument 413 zio_decompress(zio_t *zio, void *data, uint64_t size) argument 518 zio_wait_for_children(zio_t *zio, uint8_t childbits, enum zio_wait_type wait) argument 542 zio_notify_parent(zio_t *pio, zio_t *zio, enum zio_wait_type wait) argument 574 zio_inherit_child_errors(zio_t *zio, enum zio_child c) argument 631 zio_t *zio; local 707 zio_destroy(zio_t *zio) argument 720 zio_t *zio; local 822 zio_t *zio; local 843 zio_t *zio; local 882 zio_t *zio; local 892 zio_write_override(zio_t *zio, blkptr_t *bp, int copies, boolean_t nopwrite) argument 943 zio_t *zio; local 980 zio_t *zio; local 1016 zio_t *zio; local 1041 zio_t *zio; local 1062 zio_t *zio; local 1099 zio_t *zio; local 1168 zio_t *zio; local 1182 zio_flush(zio_t *zio, vdev_t *vd) argument 1190 zio_trim(zio_t *zio, spa_t *spa, vdev_t *vd, uint64_t offset, uint64_t size) argument 1202 zio_shrink(zio_t *zio, uint64_t size) argument 1225 zio_read_bp_init(zio_t *zio) argument 1259 zio_write_bp_init(zio_t *zio) argument 1318 zio_write_compress(zio_t *zio) argument 1484 zio_free_bp_init(zio_t *zio) argument 1503 zio_taskq_dispatch(zio_t *zio, zio_taskq_type_t q, boolean_t cutinline) argument 1550 zio_taskq_member(zio_t *zio, zio_taskq_type_t q) argument 1568 zio_issue_async(zio_t *zio) argument 1576 zio_interrupt(zio_t *zio) argument 1582 zio_delay_interrupt(zio_t *zio) argument 1652 zio_execute(zio_t *zio) argument 1707 zio_wait(zio_t *zio) argument 1732 zio_nowait(zio_t *zio) argument 1813 zio_suspend(spa_t *spa, zio_t *zio) argument 1954 zio_t *zio; local 2071 zio_gang_tree_assemble_done(zio_t *zio) argument 2102 zio_t *zio; local 2134 zio_gang_assemble(zio_t *zio) argument 2149 zio_gang_issue(zio_t *zio) argument 2171 zio_write_gang_member_ready(zio_t *zio) argument 2207 zio_t *zio; local 2343 zio_nop_write(zio_t *zio) argument 2398 zio_ddt_child_read_done(zio_t *zio) argument 2417 zio_ddt_read_start(zio_t *zio) argument 2460 zio_ddt_read_done(zio_t *zio) argument 2498 zio_ddt_collision(zio_t *zio, ddt_t *ddt, ddt_entry_t *dde) argument 2553 zio_ddt_child_write_ready(zio_t *zio) argument 2578 zio_ddt_child_write_done(zio_t *zio) argument 2603 zio_ddt_ditto_write_done(zio_t *zio) argument 2632 zio_ddt_write(zio_t *zio) argument 2746 zio_ddt_free(zio_t *zio) argument 2775 zio_t *zio; local 2801 zio_dva_throttle(zio_t *zio) argument 2849 zio_t *zio; local 2863 zio_dva_allocate(zio_t *zio) argument 2908 zio_dva_free(zio_t *zio) argument 2916 zio_dva_claim(zio_t *zio) argument 2933 zio_dva_unallocate(zio_t *zio, zio_gang_node_t *gn, blkptr_t *bp) argument 3017 zio_vdev_io_start(zio_t *zio) argument 3161 zio_vdev_io_done(zio_t *zio) argument 3228 zio_vsd_default_cksum_report(zio_t *zio, zio_cksum_report_t *zcr, void *ignored) argument 3241 zio_vdev_io_assess(zio_t *zio) argument 3326 zio_vdev_io_reissue(zio_t *zio) argument 3335 zio_vdev_io_redone(zio_t *zio) argument 3343 zio_vdev_io_bypass(zio_t *zio) argument 3358 zio_checksum_generate(zio_t *zio) argument 3389 zio_checksum_verify(zio_t *zio) argument 3425 zio_checksum_verified(zio_t *zio) argument 3462 zio_ready(zio_t *zio) argument 3497 zio->io_prop.zp_copies, zio); local 3539 zio_dva_throttle_done(zio_t *zio) argument 3596 zio_done(zio_t *zio) argument [all...] |
H A D | vdev_mirror.c | 36 #include <sys/zio.h> 145 vdev_mirror_map_free(zio_t *zio) argument 147 mirror_map_t *mm = zio->io_vsd; 209 vdev_mirror_map_init(zio_t *zio) argument 213 vdev_t *vd = zio->io_vd; 217 dva_t *dva = zio->io_bp->blk_dva; 218 spa_t *spa = zio->io_spa; 220 mm = vdev_mirror_map_alloc(BP_GET_NDVAS(zio->io_bp), B_FALSE, 264 mc->mc_offset = zio->io_offset; 268 zio 319 vdev_mirror_child_done(zio_t *zio) argument 329 vdev_mirror_scrub_done(zio_t *zio) argument 362 vdev_mirror_dva_select(zio_t *zio, int p) argument 379 vdev_mirror_preferred_child_randomize(zio_t *zio) argument 406 vdev_mirror_child_select(zio_t *zio) argument 481 vdev_mirror_io_start(zio_t *zio) argument 552 vdev_mirror_io_done(zio_t *zio) argument [all...] |
H A D | vdev_queue.c | 34 #include <sys/zio.h> 379 sizeof (zio_t), offsetof(struct zio, io_queue_node)); 382 offsetof(struct zio, io_offset_node)); 385 offsetof(struct zio, io_offset_node)); 401 sizeof (zio_t), offsetof(struct zio, io_queue_node)); 422 vdev_queue_io_add(vdev_queue_t *vq, zio_t *zio) argument 424 spa_t *spa = zio->io_spa; 428 ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE); 429 avl_add(vdev_queue_class_tree(vq, zio->io_priority), zio); 444 vdev_queue_io_remove(vdev_queue_t *vq, zio_t *zio) argument 467 vdev_queue_pending_add(vdev_queue_t *vq, zio_t *zio) argument 485 vdev_queue_pending_remove(vdev_queue_t *vq, zio_t *zio) argument 659 vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) argument 809 zio_t *zio, *aio; local 867 vdev_queue_io(zio_t *zio) argument 913 vdev_queue_io_done(zio_t *zio) argument 956 vdev_queue_register_lastoffset(vdev_t *vd, zio_t *zio) argument [all...] |
H A D | vdev_missing.c | 43 #include <sys/zio.h> 71 vdev_missing_io_start(zio_t *zio) argument 73 zio->io_error = SET_ERROR(ENOTSUP); 74 zio_execute(zio); 79 vdev_missing_io_done(zio_t *zio) argument
|
H A D | vdev_file.c | 30 #include <sys/zio.h> 181 vdev_file_io_intr(zio_t *zio) argument 183 zio_delay_interrupt(zio); 189 zio_t *zio = arg; local 190 vdev_t *vd = zio->io_vd; 198 ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); 199 zio->io_error = vn_rdwr(zio->io_type == ZIO_TYPE_READ ? 200 UIO_READ : UIO_WRITE, vp, zio 210 vdev_file_io_start(zio_t *zio) argument 245 vdev_file_io_done(zio_t *zio) argument [all...] |
H A D | vdev_cache.c | 32 #include <sys/zio.h> 171 vdev_cache_allocate(zio_t *zio) argument 173 vdev_cache_t *vc = &zio->io_vd->vdev_cache; 174 uint64_t offset = P2ALIGN(zio->io_offset, VCBS); 207 vdev_cache_hit(vdev_cache_t *vc, vdev_cache_entry_t *ve, zio_t *zio) argument 209 uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS); 221 bcopy(ve->ve_data + cache_phase, zio->io_data, zio->io_size); 267 vdev_cache_read(zio_t *zio) argument 269 vdev_cache_t *vc = &zio 344 vdev_cache_write(zio_t *zio) argument [all...] |
H A D | vdev_label.c | 146 #include <sys/zio.h> 187 vdev_label_read(zio_t *zio, vdev_t *vd, int l, void *buf, uint64_t offset, argument 190 ASSERT(spa_config_held(zio->io_spa, SCL_STATE_ALL, RW_WRITER) == 194 zio_nowait(zio_read_phys(zio, vd, 201 vdev_label_write(zio_t *zio, vdev_t *vd, int l, void *buf, uint64_t offset, argument 204 ASSERT(spa_config_held(zio->io_spa, SCL_ALL, RW_WRITER) == SCL_ALL || 205 (spa_config_held(zio->io_spa, SCL_CONFIG | SCL_STATE, RW_READER) == 207 dsl_pool_sync_context(spa_get_dsl(zio->io_spa)))); 210 zio_nowait(zio_write_phys(zio, vd, 439 zio_t *zio; local 633 zio_t *zio; local 864 zio_t *zio; local 936 vdev_uberblock_load_done(zio_t *zio) argument 966 vdev_uberblock_load_impl(zio_t *zio, vdev_t *vd, int flags, struct ubl_cbdata *cbp) argument 994 zio_t *zio; local 1030 vdev_uberblock_sync_done(zio_t *zio) argument 1042 vdev_uberblock_sync(zio_t *zio, uberblock_t *ub, vdev_t *vd, int flags) argument 1076 zio_t *zio; local 1105 vdev_label_sync_done(zio_t *zio) argument 1117 vdev_label_sync_top_done(zio_t *zio) argument 1131 vdev_label_sync_ignore_done(zio_t *zio) argument 1140 vdev_label_sync(zio_t *zio, vdev_t *vd, int l, uint64_t txg, int flags) argument 1186 zio_t *zio; local 1240 zio_t *zio; local [all...] |
H A D | zfs_fm.c | 34 #include <sys/zio.h> 107 const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio, 132 if (zio != NULL) { 134 * If this is not a read or write zio, ignore the error. This 137 if (zio->io_type != ZIO_TYPE_READ && 138 zio->io_type != ZIO_TYPE_WRITE) 145 if (zio->io_flags & ZIO_FLAG_SPECULATIVE) 153 if (zio->io_error == EIO && 154 !(zio->io_flags & ZIO_FLAG_IO_RETRY)) 167 if (zio 106 zfs_ereport_start(nvlist_t **ereport_out, nvlist_t **detector_out, const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio, uint64_t stateoroffset, uint64_t size) argument 669 zfs_ereport_post(const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio, uint64_t stateoroffset, uint64_t size) argument 690 zfs_ereport_start_checksum(spa_t *spa, vdev_t *vd, struct zio *zio, uint64_t offset, uint64_t length, void *arg, zio_bad_cksum_t *info) argument 780 zfs_ereport_post_checksum(spa_t *spa, vdev_t *vd, struct zio *zio, uint64_t offset, uint64_t length, const void *good_data, const void *bad_data, zio_bad_cksum_t *zbc) argument [all...] |
H A D | zio_inject.c | 167 zio_handle_fault_injection(zio_t *zio, int error) argument 175 if (zio->io_logical == NULL) 181 if (zio->io_type != ZIO_TYPE_READ) 189 if (zio->io_spa != handler->zi_spa || 194 if (zio_match_handler(&zio->io_logical->io_bookmark, 195 zio->io_bp ? BP_GET_TYPE(zio->io_bp) : DMU_OT_NONE, 208 * Determine if the zio is part of a label update and has an injection 214 zio_handle_label_injection(zio_t *zio, int error) argument 217 vdev_t *vd = zio 257 zio_handle_device_injection(vdev_t *vd, zio_t *zio, int error) argument 333 zio_handle_ignored_writes(zio_t *zio) argument 402 zio_handle_io_delay(zio_t *zio) argument [all...] |
H A D | vdev_disk.c | 34 #include <sys/zio.h> 649 zio_t *zio = vb->vb_io; local 652 * The rest of the zio stack only deals with EIO, ECKSUM, and ENXIO. 656 zio->io_error = (geterror(bp) != 0 ? SET_ERROR(EIO) : 0); 658 if (zio->io_error == 0 && bp->b_resid != 0) 659 zio->io_error = SET_ERROR(EIO); 663 zio_delay_interrupt(zio); 667 vdev_disk_ioctl_free(zio_t *zio) argument 669 kmem_free(zio->io_vsd, sizeof (struct dk_callback)); 680 zio_t *zio local 688 vdev_disk_io_start(zio_t *zio) argument 792 vdev_disk_io_done(zio_t *zio) argument [all...] |
H A D | zio_checksum.c | 31 #include <sys/zio.h> 257 zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, argument 260 blkptr_t *bp = zio->io_bp; 261 uint64_t offset = zio->io_offset; 264 spa_t *spa = zio->io_spa; 381 zio_checksum_error(zio_t *zio, zio_bad_cksum_t *info) argument 383 blkptr_t *bp = zio->io_bp; 384 uint_t checksum = (bp == NULL ? zio->io_prop.zp_checksum : 387 uint64_t size = (bp == NULL ? zio->io_size : 389 uint64_t offset = zio [all...] |
H A D | trim_map.c | 33 * Calculate the zio end, upgrading based on ashift which would be 342 trim_map_write_start(zio_t *zio) argument 344 vdev_t *vd = zio->io_vd; 353 start = zio->io_offset; 354 end = TRIM_ZIO_END(zio->io_vd, start, zio->io_size); 365 list_insert_tail(&tm->tm_pending_writes, zio); 380 avl_add(&tm->tm_inflight_writes, zio); 388 trim_map_write_done(zio_t *zio) argument 390 vdev_t *vd = zio 437 trim_map_vdev_commit(spa_t *spa, zio_t *zio, vdev_t *vd) argument 498 zio_t *zio; local 528 trim_map_commit(spa_t *spa, zio_t *zio, vdev_t *vd) argument 563 zio_t *zio; local [all...] |
H A D | vdev_geom.c | 37 #include <sys/zio.h> 965 zio_t *zio; local 967 zio = bp->bio_caller1; 968 vd = zio->io_vd; 969 zio->io_error = bp->bio_error; 970 if (zio->io_error == 0 && bp->bio_resid != 0) 971 zio->io_error = SET_ERROR(EIO); 973 switch(zio->io_error) { 998 spa_async_request(zio->io_spa, 1007 zio_delay_interrupt(zio); 1011 vdev_geom_io_start(zio_t *zio) argument 1096 vdev_geom_io_done(zio_t *zio) argument [all...] |
H A D | vdev_raidz.c | 37 #include <sys/zio.h> 291 vdev_raidz_map_free_vsd(zio_t *zio) argument 293 raidz_map_t *rm = zio->io_vsd; 394 vdev_raidz_cksum_report(zio_t *zio, zio_cksum_report_t *zcr, void *arg) argument 399 raidz_map_t *rm = zio->io_vsd; 416 * to copy the data aside; there's no guarantee that our zio's buffer 456 /* The zio's size in units of the vdev's minimum sector size. */ 1704 vdev_raidz_child_done(zio_t *zio) argument 1706 raidz_col_t *rc = zio->io_private; 1708 rc->rc_error = zio 1731 vdev_raidz_io_start(zio_t *zio) argument 1842 raidz_checksum_error(zio_t *zio, raidz_col_t *rc, void *bad_data) argument 1868 raidz_checksum_verify(zio_t *zio) argument 1887 raidz_parity_verify(zio_t *zio, raidz_map_t *rm) argument 1950 vdev_raidz_combrec(zio_t *zio, int total_errors, int data_errors) argument 2119 vdev_raidz_io_done(zio_t *zio) argument [all...] |
H A D | arc.c | 247 #include <sys/zio.h> 1010 * compression, and is set in the arc's zio completion handlers. 1729 arc_cksum_is_equal(arc_buf_hdr_t *hdr, zio_t *zio) argument 1731 enum zio_compress compress = BP_GET_COMPRESS(zio->io_bp); 1734 ASSERT(!BP_IS_EMBEDDED(zio->io_bp)); 1735 VERIFY3U(BP_GET_PSIZE(zio->io_bp), ==, HDR_GET_PSIZE(hdr)); 1755 csize = zio_compress_data(compress, zio->io_data, cbuf, lsize); 1773 zio_push_transform(zio, cbuf, csize, HDR_GET_PSIZE(hdr), NULL); 1780 * individual gang member. The zio pipeline, however, must be able to 1789 valid_cksum = (zio_checksum_error_impl(zio 4543 arc_bcopy_func(zio_t *zio, arc_buf_t *buf, void *arg) argument 4552 arc_getbuf_func(zio_t *zio, arc_buf_t *buf, void *arg) argument 4581 arc_read_done(zio_t *zio) argument 5396 arc_write_ready(zio_t *zio) argument 5483 arc_write_children_ready(zio_t *zio) argument 5496 arc_write_physdone(zio_t *zio) argument 5504 arc_write_done(zio_t *zio) argument 5595 zio_t *zio; local 6497 l2arc_write_done(zio_t *zio) argument 6614 l2arc_read_done(zio_t *zio) argument [all...] |
H A D | dmu.c | 442 zio_t *zio; local 474 zio = zio_root(dn->dn_objset->os_spa, NULL, NULL, ZIO_FLAG_CANFAIL); 481 zio_nowait(zio); 487 (void) dbuf_read(db, zio, dbuf_flags); 503 err = zio_wait(zio); 1509 dmu_sync_ready(zio_t *zio, arc_buf_t *buf, void *varg) argument 1513 blkptr_t *bp = zio->io_bp; 1515 if (zio->io_error == 0) { 1530 dmu_sync_late_arrival_ready(zio_t *zio) argument 1532 dmu_sync_ready(zio, NUL 1537 dmu_sync_done(zio_t *zio, arc_buf_t *buf, void *varg) argument 1586 dmu_sync_late_arrival_done(zio_t *zio) argument [all...] |
/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ |
H A D | blkptr.h | 24 #include <sys/zio.h>
|
H A 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);
|
H A D | uberblock.h | 34 #include <sys/zio.h>
|
H A D | zio.h | 211 #define ZIO_DDT_CHILD_FLAGS(zio) \ 212 (((zio)->io_flags & ZIO_FLAG_DDT_INHERIT) | \ 215 #define ZIO_GANG_CHILD_FLAGS(zio) \ 216 (((zio)->io_flags & ZIO_FLAG_GANG_INHERIT) | \ 219 #define ZIO_VDEV_CHILD_FLAGS(zio) \ 220 (((zio)->io_flags & ZIO_FLAG_VDEV_INHERIT) | \ 256 typedef void zio_done_func_t(zio_t *zio); 349 typedef void zio_vsd_cksum_report_f(zio_t *zio, zio_cksum_report_t *zcr, 364 typedef zio_t *zio_gang_issue_func_t(zio_t *zio, blkptr_t *bp, 367 typedef void zio_transform_func_t(zio_t *zio, voi 429 struct zio { struct [all...] |
H A D | zio_checksum.h | 30 #include <sys/zio.h> 104 extern void zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, 108 extern int zio_checksum_error(zio_t *zio, zio_bad_cksum_t *out);
|
H A D | vdev.h | 31 #include <sys/zio.h> 90 extern void vdev_stat_update(zio_t *zio, uint64_t psize); 112 extern boolean_t vdev_accessible(vdev_t *vd, zio_t *zio); 116 extern boolean_t vdev_cache_read(zio_t *zio); 117 extern void vdev_cache_write(zio_t *zio); 122 extern zio_t *vdev_queue_io(zio_t *zio); 123 extern void vdev_queue_io_done(zio_t *zio); 126 extern void vdev_queue_register_lastoffset(vdev_t *vd, zio_t *zio);
|
H A D | dmu_traverse.h | 31 #include <sys/zio.h>
|
H A D | bptree.h | 29 #include <sys/zio.h>
|
H A D | zio_compress.h | 33 #include <sys/zio.h> 39 /* Common signature for all zio compress functions. */ 42 /* Common signature for all zio decompress functions. */
|