Lines Matching refs:spa
498 zio_create(zio_t *pio, spa_t *spa, uint64_t txg, const blkptr_t *bp, in zio_create() argument
510 ASSERT(!vd || spa_config_held(spa, SCL_STATE_ALL, RW_READER)); in zio_create()
547 zio->io_spa = spa; in zio_create()
589 zio_null(zio_t *pio, spa_t *spa, vdev_t *vd, zio_done_func_t *done, in zio_null() argument
594 zio = zio_create(pio, spa, 0, NULL, NULL, 0, done, private, in zio_null()
602 zio_root(spa_t *spa, zio_done_func_t *done, void *private, enum zio_flag flags) in zio_root() argument
604 return (zio_null(NULL, spa, NULL, done, private, flags)); in zio_root()
608 zfs_blkptr_verify(spa_t *spa, const blkptr_t *bp) in zfs_blkptr_verify() argument
650 if (vdevid >= spa->spa_root_vdev->vdev_children) { in zfs_blkptr_verify()
656 vdev_t *vd = spa->spa_root_vdev->vdev_child[vdevid]; in zfs_blkptr_verify()
690 zio_read(zio_t *pio, spa_t *spa, const blkptr_t *bp, in zio_read() argument
696 zfs_blkptr_verify(spa, bp); in zio_read()
698 zio = zio_create(pio, spa, BP_PHYSICAL_BIRTH(bp), bp, in zio_read()
708 zio_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, in zio_write() argument
723 zp->zp_copies <= spa_max_replication(spa)); in zio_write()
725 zio = zio_create(pio, spa, txg, bp, data, size, done, private, in zio_write()
748 zio_rewrite(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, void *data, in zio_rewrite() argument
754 zio = zio_create(pio, spa, txg, bp, data, size, done, private, in zio_rewrite()
781 zio_free(spa_t *spa, uint64_t txg, const blkptr_t *bp) in zio_free() argument
791 metaslab_check_free(spa, bp); in zio_free()
800 txg != spa->spa_syncing_txg || in zio_free()
801 spa_sync_pass(spa) >= zfs_sync_pass_deferred_free) { in zio_free()
802 bplist_append(&spa->spa_free_bplist[txg & TXG_MASK], bp); in zio_free()
804 VERIFY0(zio_wait(zio_free_sync(NULL, spa, txg, bp, 0))); in zio_free()
809 zio_free_sync(zio_t *pio, spa_t *spa, uint64_t txg, const blkptr_t *bp, in zio_free_sync() argument
816 ASSERT(spa_syncing_txg(spa) == txg); in zio_free_sync()
817 ASSERT(spa_sync_pass(spa) < zfs_sync_pass_deferred_free); in zio_free_sync()
820 return (zio_null(pio, spa, NULL, NULL, NULL, 0)); in zio_free_sync()
822 metaslab_check_free(spa, bp); in zio_free_sync()
823 arc_freed(spa, bp); in zio_free_sync()
833 zio = zio_create(pio, spa, txg, bp, NULL, BP_GET_PSIZE(bp), in zio_free_sync()
841 zio_claim(zio_t *pio, spa_t *spa, uint64_t txg, const blkptr_t *bp, in zio_claim() argument
849 return (zio_null(pio, spa, NULL, NULL, NULL, 0)); in zio_claim()
863 ASSERT3U(spa->spa_uberblock.ub_rootbp.blk_birth, <, spa_first_txg(spa)); in zio_claim()
864 ASSERT(txg == spa_first_txg(spa) || txg == 0); in zio_claim()
865 ASSERT(!BP_GET_DEDUP(bp) || !spa_writeable(spa)); /* zdb(1M) */ in zio_claim()
867 zio = zio_create(pio, spa, txg, bp, NULL, BP_GET_PSIZE(bp), in zio_claim()
875 zio_ioctl(zio_t *pio, spa_t *spa, vdev_t *vd, int cmd, in zio_ioctl() argument
882 zio = zio_create(pio, spa, 0, NULL, NULL, 0, done, private, in zio_ioctl()
888 zio = zio_null(pio, spa, NULL, NULL, NULL, flags); in zio_ioctl()
891 zio_nowait(zio_ioctl(zio, spa, vd->vdev_child[c], cmd, in zio_ioctl()
1086 spa_t *spa = zio->io_spa; in zio_write_bp_init() local
1154 pass = spa_sync_pass(spa); in zio_write_bp_init()
1156 ASSERT(zio->io_txg == spa_syncing_txg(spa)); in zio_write_bp_init()
1165 spa_max_replication(spa)) == BP_GET_NDVAS(bp)); in zio_write_bp_init()
1176 spa_feature_is_enabled(spa, SPA_FEATURE_EMBEDDED_DATA)) { in zio_write_bp_init()
1185 ASSERT(spa_feature_is_active(spa, in zio_write_bp_init()
1197 ASSERT3U(spa->spa_min_ashift, >=, SPA_MINBLOCKSHIFT); in zio_write_bp_init()
1199 1ULL << spa->spa_min_ashift); in zio_write_bp_init()
1235 spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) { in zio_write_bp_init()
1289 spa_t *spa = zio->io_spa; in zio_taskq_dispatch() local
1312 spa->spa_zio_taskq[t][q + 1].stqs_count != 0) in zio_taskq_dispatch()
1323 spa_taskq_dispatch_ent(spa, t, q, (task_func_t *)zio_execute, zio, in zio_taskq_dispatch()
1331 spa_t *spa = zio->io_spa; in zio_taskq_member() local
1334 spa_taskqs_t *tqs = &spa->spa_zio_taskq[t][q]; in zio_taskq_member()
1464 spa_t *spa = zio->io_spa; in zio_nowait() local
1466 zio_add_child(spa->spa_async_zio_root[CPU_SEQID], zio); in zio_nowait()
1528 zio_suspend(spa_t *spa, zio_t *zio) in zio_suspend() argument
1530 if (spa_get_failmode(spa) == ZIO_FAILURE_MODE_PANIC) in zio_suspend()
1533 "is set to panic.", spa_name(spa)); in zio_suspend()
1535 zfs_ereport_post(FM_EREPORT_ZFS_IO_FAILURE, spa, NULL, NULL, 0, 0); in zio_suspend()
1537 mutex_enter(&spa->spa_suspend_lock); in zio_suspend()
1539 if (spa->spa_suspend_zio_root == NULL) in zio_suspend()
1540 spa->spa_suspend_zio_root = zio_root(spa, NULL, NULL, in zio_suspend()
1544 spa->spa_suspended = B_TRUE; in zio_suspend()
1548 ASSERT(zio != spa->spa_suspend_zio_root); in zio_suspend()
1552 zio_add_child(spa->spa_suspend_zio_root, zio); in zio_suspend()
1555 mutex_exit(&spa->spa_suspend_lock); in zio_suspend()
1559 zio_resume(spa_t *spa) in zio_resume() argument
1566 mutex_enter(&spa->spa_suspend_lock); in zio_resume()
1567 spa->spa_suspended = B_FALSE; in zio_resume()
1568 cv_broadcast(&spa->spa_suspend_cv); in zio_resume()
1569 pio = spa->spa_suspend_zio_root; in zio_resume()
1570 spa->spa_suspend_zio_root = NULL; in zio_resume()
1571 mutex_exit(&spa->spa_suspend_lock); in zio_resume()
1581 zio_resume_wait(spa_t *spa) in zio_resume_wait() argument
1583 mutex_enter(&spa->spa_suspend_lock); in zio_resume_wait()
1584 while (spa_suspended(spa)) in zio_resume_wait()
1585 cv_wait(&spa->spa_suspend_cv, &spa->spa_suspend_lock); in zio_resume_wait()
1586 mutex_exit(&spa->spa_suspend_lock); in zio_resume_wait()
1917 spa_t *spa = pio->io_spa; in zio_write_gang_block() local
1927 int gbh_copies = MIN(copies + 1, spa_max_replication(spa)); in zio_write_gang_block()
1931 error = metaslab_alloc(spa, spa_normal_class(spa), SPA_GANGBLOCKSIZE, in zio_write_gang_block()
1953 zio = zio_rewrite(pio, spa, txg, bp, gbh, SPA_GANGBLOCKSIZE, NULL, NULL, in zio_write_gang_block()
1973 zio_nowait(zio_write(zio, spa, txg, &gbh->zg_blkptr[g], in zio_write_gang_block()
2154 spa_t *spa = zio->io_spa; in zio_ddt_collision() local
2185 error = arc_read(NULL, spa, &blk, in zio_ddt_collision()
2286 spa_t *spa = zio->io_spa; in zio_ddt_write() local
2294 ddt_t *ddt = ddt_select(spa, bp); in zio_ddt_write()
2314 zp->zp_checksum = spa_dedup_checksum(spa); in zio_ddt_write()
2352 dio = zio_write(zio, spa, txg, bp, zio->io_orig_data, in zio_ddt_write()
2374 cio = zio_write(zio, spa, txg, bp, zio->io_orig_data, in zio_ddt_write()
2398 spa_t *spa = zio->io_spa; in zio_ddt_free() local
2400 ddt_t *ddt = ddt_select(spa, bp); in zio_ddt_free()
2424 spa_t *spa = zio->io_spa; in zio_dva_allocate() local
2425 metaslab_class_t *mc = spa_normal_class(spa); in zio_dva_allocate()
2438 ASSERT3U(zio->io_prop.zp_copies, <=, spa_max_replication(spa)); in zio_dva_allocate()
2449 error = metaslab_alloc(spa, mc, zio->io_size, bp, in zio_dva_allocate()
2453 spa_dbgmsg(spa, "%s: metaslab allocation failure: zio %p, " in zio_dva_allocate()
2454 "size %llu, error %d", spa_name(spa), zio, zio->io_size, in zio_dva_allocate()
2510 zio_alloc_zil(spa_t *spa, uint64_t txg, blkptr_t *new_bp, blkptr_t *old_bp, in zio_alloc_zil() argument
2515 ASSERT(txg > spa_syncing_txg(spa)); in zio_alloc_zil()
2523 error = metaslab_alloc(spa, spa_log_class(spa), size, in zio_alloc_zil()
2529 error = metaslab_alloc(spa, spa_normal_class(spa), size, in zio_alloc_zil()
2539 spa_version(spa) >= SPA_VERSION_SLIM_ZIL in zio_alloc_zil()
2554 zio_free_zil(spa_t *spa, uint64_t txg, blkptr_t *bp) in zio_free_zil() argument
2559 zio_free(spa, txg, bp); in zio_free_zil()
2584 spa_t *spa = zio->io_spa; in zio_vdev_io_start() local
2591 spa_config_enter(spa, SCL_ZIO, zio, RW_READER); in zio_vdev_io_start()
2613 zio->io_txg != spa_syncing_txg(spa)) { in zio_vdev_io_start()
2614 uint64_t old = spa->spa_last_io; in zio_vdev_io_start()
2617 (void) atomic_cas_64(&spa->spa_last_io, old, new); in zio_vdev_io_start()
2651 VERIFY(zio->io_type != ZIO_TYPE_WRITE || spa_writeable(spa)); in zio_vdev_io_start()
3032 spa_t *spa = zio->io_spa; in zio_done() local
3114 zfs_ereport_post(FM_EREPORT_ZFS_IO, spa, vd, zio, 0, 0); in zio_done()
3123 spa_log_error(spa, zio); in zio_done()
3124 zfs_ereport_post(FM_EREPORT_ZFS_DATA, spa, NULL, zio, in zio_done()
3149 spa_load_state(spa) == SPA_LOAD_NONE && in zio_done()
3150 spa_get_failmode(spa) != ZIO_FAILURE_MODE_CONTINUE) in zio_done()
3241 zio_suspend(spa, zio); in zio_done()
3248 spa_taskq_dispatch_ent(spa, ZIO_TYPE_CLAIM, in zio_done()