Searched defs:zio (Results 1 - 25 of 39) sorted by relevance

12

/illumos-gate/usr/src/uts/common/fs/zfs/
H A Dvdev_missing.c44 #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 Dvdev_file.c33 #include <sys/zio.h>
177 zio_t *zio = vb->vb_io; local
179 zio->io_error = (geterror(bp) != 0 ? EIO : 0);
180 if (zio->io_error == 0 && bp->b_resid != 0)
181 zio->io_error = SET_ERROR(ENOSPC);
183 if (zio->io_type == ZIO_TYPE_READ) {
184 abd_return_buf_copy(zio->io_abd, bp->b_un.b_addr, zio->io_size);
186 abd_return_buf(zio->io_abd, bp->b_un.b_addr, zio
216 vdev_file_io_start(zio_t *zio) argument
290 vdev_file_io_done(zio_t *zio) argument
[all...]
H A Dzio_inject.c171 zio_match_dva(zio_t *zio) argument
175 if (zio->io_bp != NULL && zio->io_vd != NULL &&
176 zio->io_child_type == ZIO_CHILD_VDEV) {
177 for (i = BP_GET_NDVAS(zio->io_bp) - 1; i >= 0; i--) {
178 dva_t *dva = &zio->io_bp->blk_dva[i];
180 vdev_t *vd = vdev_lookup_top(zio->io_spa,
184 if (zio->io_vd->vdev_ops->vdev_op_leaf)
187 if (zio->io_vd == vd && zio
232 zio_handle_fault_injection(zio_t *zio, int error) argument
279 zio_handle_label_injection(zio_t *zio, int error) argument
322 zio_handle_device_injection(vdev_t *vd, zio_t *zio, int error) argument
398 zio_handle_ignored_writes(zio_t *zio) argument
467 zio_handle_io_delay(zio_t *zio) argument
[all...]
H A Dzio_checksum.c31 #include <sys/zio.h>
313 zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, argument
317 blkptr_t *bp = zio->io_bp;
318 uint64_t offset = zio->io_offset;
321 spa_t *spa = zio->io_spa;
509 zio_checksum_error(zio_t *zio, zio_bad_cksum_t *info) argument
511 blkptr_t *bp = zio->io_bp;
512 uint_t checksum = (bp == NULL ? zio->io_prop.zp_checksum :
515 uint64_t size = (bp == NULL ? zio->io_size :
517 uint64_t offset = zio
[all...]
H A Dmmp.c389 mmp_write_done(zio_t *zio) argument
391 spa_t *spa = zio->io_spa;
392 vdev_t *vd = zio->io_vd;
393 mmp_thread_t *mts = zio->io_private;
399 mmp_delay_update(spa, (zio->io_error == 0));
407 abd_free(zio->io_abd);
519 zio_t *zio = zio_null(mmp->mmp_zio_root, spa, NULL, NULL, NULL, flags); local
532 vdev_label_write(zio, vd, label, ub_abd, offset,
542 zio_nowait(zio);
H A Dvdev_cache.c32 #include <sys/zio.h>
155 vdev_cache_allocate(zio_t *zio) argument
157 vdev_cache_t *vc = &zio->io_vd->vdev_cache;
158 uint64_t offset = P2ALIGN(zio->io_offset, VCBS);
191 vdev_cache_hit(vdev_cache_t *vc, vdev_cache_entry_t *ve, zio_t *zio) argument
193 uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS);
205 abd_copy_off(zio->io_abd, ve->ve_abd, 0, cache_phase, zio->io_size);
251 vdev_cache_read(zio_t *zio) argument
253 vdev_cache_t *vc = &zio
328 vdev_cache_write(zio_t *zio) argument
[all...]
H A Dvdev_initialize.c152 vdev_initialize_cb(zio_t *zio) argument
154 vdev_t *vd = zio->io_vd;
156 if (zio->io_error == ENXIO && !vdev_writeable(vd)) {
163 &vd->vdev_initialize_offset[zio->io_txg & TXG_MASK];
164 *off = MIN(*off, zio->io_offset);
171 if (zio->io_error != 0)
174 vd->vdev_initialize_bytes_done += zio->io_orig_size;
H A Ddmu_tx.c191 dmu_tx_check_ioerr(zio_t *zio, dnode_t *dn, int level, uint64_t blkid) argument
201 err = dbuf_read(db, zio, DB_RF_CANFAIL | DB_RF_NOPREFETCH);
239 zio_t *zio = zio_root(dn->dn_objset->os_spa, local
245 err = dmu_tx_check_ioerr(zio, dn, 0, start);
255 err = dmu_tx_check_ioerr(zio, dn, 0, end);
266 err = dmu_tx_check_ioerr(zio, dn, 1, i);
273 err = zio_wait(zio);
409 zio_t *zio = zio_root(tx->tx_pool->dp_spa, local
419 (void) zio_wait(zio);
426 err = dmu_tx_check_ioerr(zio, d
[all...]
H A Dzfs_fm.c34 #include <sys/zio.h>
108 zio_t *zio, uint64_t stateoroffset, uint64_t size)
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, const zbookmark_phys_t *zb, zio_t *zio, uint64_t stateoroffset, uint64_t size) argument
678 zfs_ereport_post(const char *subclass, spa_t *spa, vdev_t *vd, const struct zbookmark_phys *zb, zio_t *zio, uint64_t stateoroffset, uint64_t size) argument
700 zfs_ereport_start_checksum(spa_t *spa, vdev_t *vd, const zbookmark_phys_t *zb, struct zio *zio, uint64_t offset, uint64_t length, void *arg, zio_bad_cksum_t *info) argument
790 zfs_ereport_post_checksum(spa_t *spa, vdev_t *vd, const zbookmark_phys_t *zb, struct zio *zio, uint64_t offset, uint64_t length, const abd_t *good_data, const abd_t *bad_data, zio_bad_cksum_t *zbc) argument
[all...]
H A Ddsl_pool.c41 #include <sys/zio.h>
551 zio_t *zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); local
552 dmu_objset_sync(dp->dp_meta_objset, zio, tx);
553 VERIFY0(zio_wait(zio));
600 zio_t *zio; local
632 zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
641 dsl_dataset_sync(ds, zio, tx);
643 VERIFY0(zio_wait(zio));
683 zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
689 dsl_dataset_sync(ds, zio, t
[all...]
H A Dvdev_label.c149 #include <sys/zio.h>
185 vdev_label_read(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, argument
189 spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE ||
190 spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE);
193 zio_nowait(zio_read_phys(zio, vd,
200 vdev_label_write(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, argument
204 spa_config_held(zio->io_spa, SCL_STATE, RW_READER) == SCL_STATE ||
205 spa_config_held(zio->io_spa, SCL_STATE, RW_WRITER) == SCL_STATE);
208 zio_nowait(zio_write_phys(zio, vd,
582 zio_t *zio; local
787 zio_t *zio; local
1062 vdev_uberblock_load_done(zio_t *zio) argument
1092 vdev_uberblock_load_impl(zio_t *zio, vdev_t *vd, int flags, struct ubl_cbdata *cbp) argument
1120 zio_t *zio; local
1168 vdev_uberblock_sync_done(zio_t *zio) argument
1180 vdev_uberblock_sync(zio_t *zio, uint64_t *good_writes, uberblock_t *ub, vdev_t *vd, int flags) argument
1216 zio_t *zio; local
1248 vdev_label_sync_done(zio_t *zio) argument
1260 vdev_label_sync_top_done(zio_t *zio) argument
1274 vdev_label_sync_ignore_done(zio_t *zio) argument
1283 vdev_label_sync(zio_t *zio, uint64_t *good_writes, vdev_t *vd, int l, uint64_t txg, int flags) argument
1334 zio_t *zio; local
1432 zio_t *zio = zio_root(spa, NULL, NULL, flags); local
[all...]
H A Dvdev_queue.c35 #include <sys/zio.h>
266 sizeof (zio_t), offsetof(struct zio, io_queue_node));
269 offsetof(struct zio, io_offset_node));
272 offsetof(struct zio, io_offset_node));
275 offsetof(struct zio, io_offset_node));
294 sizeof (zio_t), offsetof(struct zio, io_queue_node));
316 vdev_queue_io_add(vdev_queue_t *vq, zio_t *zio) argument
318 spa_t *spa = zio->io_spa;
320 ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE);
321 avl_add(vdev_queue_class_tree(vq, zio
332 vdev_queue_io_remove(vdev_queue_t *vq, zio_t *zio) argument
349 vdev_queue_pending_add(vdev_queue_t *vq, zio_t *zio) argument
365 vdev_queue_pending_remove(vdev_queue_t *vq, zio_t *zio) argument
541 vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) argument
709 zio_t *zio, *aio; local
767 vdev_queue_io(zio_t *zio) argument
823 vdev_queue_io_done(zio_t *zio) argument
849 vdev_queue_change_io_priority(zio_t *zio, zio_priority_t priority) argument
[all...]
H A Dvdev_trim.c358 vdev_trim_cb(zio_t *zio) argument
360 vdev_t *vd = zio->io_vd;
363 if (zio->io_error == ENXIO && !vdev_writeable(vd)) {
370 &vd->vdev_trim_offset[zio->io_txg & TXG_MASK];
371 *offset = MIN(*offset, zio->io_offset);
373 if (zio->io_error != 0) {
377 * 0, 0, 0, 0, 1, zio->io_orig_size);
382 * 1, zio->io_orig_size, 0, 0, 0, 0);
386 vd->vdev_trim_bytes_done += zio->io_orig_size;
404 vdev_autotrim_cb(zio_t *zio) argument
[all...]
H A Dvdev_disk.c35 #include <sys/zio.h>
848 zio_t *zio = vb->vb_io; local
851 * The rest of the zio stack only deals with EIO, ECKSUM, and ENXIO.
855 zio->io_error = (geterror(bp) != 0 ? EIO : 0);
857 if (zio->io_error == 0 && bp->b_resid != 0)
858 zio->io_error = SET_ERROR(EIO);
860 if (zio->io_type == ZIO_TYPE_READ) {
861 abd_return_buf_copy(zio->io_abd, bp->b_un.b_addr, zio->io_size);
863 abd_return_buf(zio
873 vdev_disk_ioctl_free(zio_t *zio) argument
886 zio_t *zio = zio_arg; local
894 vdev_disk_io_start(zio_t *zio) argument
1036 vdev_disk_io_done(zio_t *zio) argument
[all...]
H A Dvdev_mirror.c37 #include <sys/zio.h>
167 vdev_mirror_map_free(zio_t *zio) argument
169 mirror_map_t *mm = zio->io_vsd;
244 vdev_mirror_map_init(zio_t *zio) argument
248 vdev_t *vd = zio->io_vd;
252 dva_t *dva = zio->io_bp->blk_dva;
253 spa_t *spa = zio->io_spa;
275 if ((zio->io_flags & ZIO_FLAG_SCRUB) &&
276 !(zio->io_flags & ZIO_FLAG_IO_RETRY) &&
282 c = BP_GET_NDVAS(zio
403 vdev_mirror_child_done(zio_t *zio) argument
413 vdev_mirror_scrub_done(zio_t *zio) argument
446 vdev_mirror_dva_select(zio_t *zio, int p) argument
463 vdev_mirror_preferred_child_randomize(zio_t *zio) argument
491 vdev_mirror_child_select(zio_t *zio) argument
560 vdev_mirror_io_start(zio_t *zio) argument
640 vdev_mirror_io_done(zio_t *zio) argument
[all...]
H A Dddt.c30 #include <sys/zio.h>
536 zio_t *zio = dde->dde_lead_zio[p]; local
538 if (zio != NULL)
539 refcnt += zio->io_parent_count; /* pending refs */
954 ddt_repair_entry_done(zio_t *zio) argument
956 ddt_entry_t *rdde = zio->io_private;
968 zio_t *zio; local
971 zio = zio_null(rio, rio->io_spa, NULL,
980 zio_nowait(zio_rewrite(zio, zio
[all...]
H A Dvdev_removal.c347 * called from syncing context (potentially from a zio taskq thread,
779 spa_vdev_copy_segment_done(zio_t *zio) argument
781 vdev_copy_segment_arg_t *vcsa = zio->io_private;
788 spa_config_exit(zio->io_spa, SCL_STATE, zio->io_spa);
795 spa_vdev_copy_segment_write_done(zio_t *zio) argument
797 vdev_copy_arg_t *vca = zio->io_private;
799 abd_free(zio->io_abd);
802 vca->vca_outstanding_bytes -= zio->io_size;
808 * The read of the old location is done. The parent zio i
812 spa_vdev_copy_segment_read_done(zio_t *zio) argument
[all...]
H A Dvdev_indirect.c26 #include <sys/zio.h>
291 vdev_indirect_map_free(zio_t *zio) argument
293 indirect_vsd_t *iv = zio->io_vsd;
1160 vdev_indirect_child_io_done(zio_t *zio) argument
1162 zio_t *pio = zio->io_private;
1165 pio->io_error = zio_worst_error(pio->io_error, zio->io_error);
1168 abd_put(zio->io_abd);
1179 zio_t *zio = arg; local
1180 indirect_vsd_t *iv = zio->io_vsd;
1221 vdev_indirect_read_split_done(zio_t *zio) argument
1239 vdev_indirect_read_all(zio_t *zio) argument
1278 vdev_indirect_io_start(zio_t *zio) argument
1369 vdev_indirect_checksum_error(zio_t *zio, indirect_split_t *is, indirect_child_t *ic) argument
1402 vdev_indirect_repair(zio_t *zio) argument
1441 vdev_indirect_all_checksum_errors(zio_t *zio) argument
1474 vdev_indirect_splits_checksum_validate(indirect_vsd_t *iv, zio_t *zio) argument
1499 vdev_indirect_splits_enumerate_all(indirect_vsd_t *iv, zio_t *zio) argument
1540 vdev_indirect_splits_enumerate_randomly(indirect_vsd_t *iv, zio_t *zio) argument
1573 vdev_indirect_splits_damage(indirect_vsd_t *iv, zio_t *zio) argument
1691 vdev_indirect_reconstruct_io_done(zio_t *zio) argument
1783 vdev_indirect_io_done(zio_t *zio) argument
[all...]
H A Ddmu.c556 zio_t *zio; local
588 zio = zio_root(dn->dn_objset->os_spa, NULL, NULL, ZIO_FLAG_CANFAIL);
595 zio_nowait(zio);
601 (void) dbuf_read(db, zio, dbuf_flags);
613 err = zio_wait(zio);
1825 dmu_sync_ready(zio_t *zio, arc_buf_t *buf, void *varg) argument
1829 blkptr_t *bp = zio->io_bp;
1831 if (zio->io_error == 0) {
1846 dmu_sync_late_arrival_ready(zio_t *zio) argument
1848 dmu_sync_ready(zio, NUL
1853 dmu_sync_done(zio_t *zio, arc_buf_t *buf, void *varg) argument
1912 dmu_sync_late_arrival_done(zio_t *zio) argument
[all...]
H A Ddsl_crypt.c63 * The zio layer needs to lookup master keys by their dataset object id. Since
1024 * the lock because this lock is also used by the zio layer to lookup
1085 * This function is primarily used by the zio and arc layer to lookup
2059 zio_t *zio; local
2119 zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
2120 dsl_dataset_sync(ds, zio, tx);
2121 VERIFY0(zio_wait(zio));
H A Dzil.c1072 * it's called for "this" lwb (enforced via zio the dependencies
1082 zil_lwb_flush_vdevs_done(zio_t *zio) argument
1084 lwb_t *lwb = zio->io_private;
1133 zcw->zcw_zio_error = zio->io_error;
1153 * This is called when an lwb's write zio completes. The callback's
1160 * the zio dependencies configured in zil_lwb_set_zio_dependency(),
1162 * once zil_lwb_flush_vdevs_done() is called, which occurs in the zio
1163 * completion callback for the lwb's root zio.
1166 zil_lwb_write_done(zio_t *zio) argument
1168 lwb_t *lwb = zio
[all...]
H A Dvdev_raidz.c33 #include <sys/zio.h>
287 vdev_raidz_map_free_vsd(zio_t *zio) argument
289 raidz_map_t *rm = zio->io_vsd;
402 vdev_raidz_cksum_report(zio_t *zio, zio_cksum_report_t *zcr, void *arg) argument
407 raidz_map_t *rm = zio->io_vsd;
424 * to copy the data aside; there's no guarantee that our zio's buffer
469 /* The zio's size in units of the vdev's minimum sector size. */
1899 vdev_raidz_child_done(zio_t *zio) argument
1901 raidz_col_t *rc = zio->io_private;
1903 rc->rc_error = zio
1909 vdev_raidz_io_verify(zio_t *zio, raidz_map_t *rm, int col) argument
1959 vdev_raidz_io_start(zio_t *zio) argument
2061 raidz_checksum_error(zio_t *zio, raidz_col_t *rc, abd_t *bad_data) argument
2087 raidz_checksum_verify(zio_t *zio) argument
2106 raidz_parity_verify(zio_t *zio, raidz_map_t *rm) argument
2169 vdev_raidz_combrec(zio_t *zio, int total_errors, int data_errors) argument
2344 vdev_raidz_io_done(zio_t *zio) argument
[all...]
H A Dzvol.c60 #include <sys/zio.h>
163 struct lwb *lwb, zio_t *zio);
995 zvol_get_data(void *arg, lr_write_t *lr, char *buf, struct lwb *lwb, zio_t *zio) argument
1005 ASSERT3P(zio, !=, NULL);
1045 error = dmu_sync(zio, lr->lr_common.lrc_txg,
H A Ddbuf.c41 #include <sys/zio.h>
946 dbuf_read_done(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp, argument
961 ASSERT(zio == NULL || zio->io_error != 0);
967 ASSERT(zio == NULL || zio->io_error == 0);
980 ASSERT(zio == NULL || zio->io_error == 0);
1046 dbuf_read_impl(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags) argument
1170 err = arc_read(zio, d
1255 dbuf_read(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags) argument
2587 dbuf_prefetch_indirect_done(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *iobp, arc_buf_t *abuf, void *private) argument
3368 zio_t *zio; local
3607 dbuf_write_ready(zio_t *zio, arc_buf_t *buf, void *vdb) argument
3705 dbuf_write_children_ready(zio_t *zio, arc_buf_t *buf, void *vdb) argument
3752 dbuf_write_physdone(zio_t *zio, arc_buf_t *buf, void *arg) argument
3775 dbuf_write_done(zio_t *zio, arc_buf_t *buf, void *vdb) argument
3860 dbuf_write_nofill_ready(zio_t *zio) argument
3866 dbuf_write_nofill_done(zio_t *zio) argument
3872 dbuf_write_override_ready(zio_t *zio) argument
3881 dbuf_write_override_done(zio_t *zio) argument
4046 zio_t *zio; local
[all...]
/illumos-gate/usr/src/uts/common/fs/zfs/sys/
H A Dzio.h216 #define ZIO_DDT_CHILD_FLAGS(zio) \
217 (((zio)->io_flags & ZIO_FLAG_DDT_INHERIT) | \
220 #define ZIO_GANG_CHILD_FLAGS(zio) \
221 (((zio)->io_flags & ZIO_FLAG_GANG_INHERIT) | \
224 #define ZIO_VDEV_CHILD_FLAGS(zio) \
225 (((zio)->io_flags & ZIO_FLAG_VDEV_INHERIT) | \
260 typedef void zio_done_func_t(zio_t *zio);
360 typedef void zio_vsd_cksum_report_f(zio_t *zio, zio_cksum_report_t *zcr,
375 typedef zio_t *zio_gang_issue_func_t(zio_t *zio, blkptr_t *bp,
378 typedef void zio_transform_func_t(zio_t *zio, struc
420 struct zio { struct
[all...]

Completed in 265 milliseconds

12