Symbol: spa
usr/src/boot/libsa/zfs/zfs.c
1030
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
1040
if ((spa = spa_find_by_dev(dev)) == NULL)
usr/src/boot/libsa/zfs/zfs.c
1043
if (spa->spa_bootenv == NULL)
usr/src/boot/libsa/zfs/zfs.c
1046
if (nvlist_find(spa->spa_bootenv, OS_NVSTORE, DATA_TYPE_NVLIST,
usr/src/boot/libsa/zfs/zfs.c
1176
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
1183
if ((spa = spa_find_by_dev(dev)) == NULL)
usr/src/boot/libsa/zfs/zfs.c
1186
if (spa->spa_bootenv == NULL)
usr/src/boot/libsa/zfs/zfs.c
1189
if (nvlist_find(spa->spa_bootenv, OS_NVSTORE, DATA_TYPE_NVLIST,
usr/src/boot/libsa/zfs/zfs.c
1196
rv = nvlist_remove(spa->spa_bootenv, OS_NVSTORE,
usr/src/boot/libsa/zfs/zfs.c
1199
rv = nvlist_add_nvlist(spa->spa_bootenv,
usr/src/boot/libsa/zfs/zfs.c
1203
rv = zfs_set_bootenv(vdev, spa->spa_bootenv);
usr/src/boot/libsa/zfs/zfs.c
1336
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
1344
if ((spa = spa_find_by_dev(dev)) == NULL)
usr/src/boot/libsa/zfs/zfs.c
1347
if (spa->spa_bootenv == NULL)
usr/src/boot/libsa/zfs/zfs.c
1350
if (nvlist_find(spa->spa_bootenv, OS_NVSTORE, DATA_TYPE_NVLIST,
usr/src/boot/libsa/zfs/zfs.c
1377
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
1384
if ((spa = spa_find_by_dev(dev)) == NULL)
usr/src/boot/libsa/zfs/zfs.c
1387
rv = nvlist_find(spa->spa_bootenv, BOOTENV_VERSION, DATA_TYPE_UINT64,
usr/src/boot/libsa/zfs/zfs.c
1399
rv = nvstore_init(spa->spa_name, &nvstore_zfs_cb, dev);
usr/src/boot/libsa/zfs/zfs.c
140
const spa_t *spa = ((struct zfsmount *)f->f_devdata)->spa;
usr/src/boot/libsa/zfs/zfs.c
1464
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
1478
STAILQ_FOREACH(spa, &zfs_pools, spa_link) {
usr/src/boot/libsa/zfs/zfs.c
1479
snprintf(line, sizeof (line), " zfs:%s\n", spa->spa_name);
usr/src/boot/libsa/zfs/zfs.c
1496
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
1503
if ((spa = spa_find_by_dev(dev)) == NULL)
usr/src/boot/libsa/zfs/zfs.c
1510
rv = zfs_mount(spa, dev->root_guid, mount);
usr/src/boot/libsa/zfs/zfs.c
153
rc = dnode_read(spa, &fp->f_dnode, fp->f_seekp, start, n);
usr/src/boot/libsa/zfs/zfs.c
1561
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
1587
spa = spa_find_by_name(poolname);
usr/src/boot/libsa/zfs/zfs.c
1588
if (!spa)
usr/src/boot/libsa/zfs/zfs.c
1590
dev->pool_guid = spa->spa_guid;
usr/src/boot/libsa/zfs/zfs.c
1591
rv = zfs_lookup_dataset(spa, rootname, &dev->root_guid);
usr/src/boot/libsa/zfs/zfs.c
1607
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
1614
spa = spa_find_by_guid(dev->pool_guid);
usr/src/boot/libsa/zfs/zfs.c
1615
if (spa == NULL) {
usr/src/boot/libsa/zfs/zfs.c
1619
if (zfs_rlookup(spa, dev->root_guid, rootname)) {
usr/src/boot/libsa/zfs/zfs.c
1623
if (zfs_lookup_dataset(spa, rootname, &objnum)) {
usr/src/boot/libsa/zfs/zfs.c
1631
snprintf(buf, sizeof (buf), "%" PRIu64, spa->spa_boot_vdev->v_guid);
usr/src/boot/libsa/zfs/zfs.c
1633
snprintf(buf, sizeof (buf), "%s/%" PRIu64, spa->spa_name, objnum);
usr/src/boot/libsa/zfs/zfs.c
1635
if (spa->spa_boot_vdev->v_phys_path != NULL)
usr/src/boot/libsa/zfs/zfs.c
1636
setenv("bootpath", spa->spa_boot_vdev->v_phys_path, 1);
usr/src/boot/libsa/zfs/zfs.c
1637
if (spa->spa_boot_vdev->v_devid != NULL)
usr/src/boot/libsa/zfs/zfs.c
1638
setenv("diskdevid", spa->spa_boot_vdev->v_devid, 1);
usr/src/boot/libsa/zfs/zfs.c
1645
snprintf(buf, sizeof (buf), "zfs-bootfs=%s/%" PRIu64, spa->spa_name,
usr/src/boot/libsa/zfs/zfs.c
1648
if (spa->spa_boot_vdev->v_phys_path != NULL) {
usr/src/boot/libsa/zfs/zfs.c
1650
spa->spa_boot_vdev->v_phys_path);
usr/src/boot/libsa/zfs/zfs.c
1653
if (spa->spa_boot_vdev->v_devid != NULL) {
usr/src/boot/libsa/zfs/zfs.c
1655
spa->spa_boot_vdev->v_devid);
usr/src/boot/libsa/zfs/zfs.c
1666
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
1673
spa = STAILQ_FIRST(&zfs_pools);
usr/src/boot/libsa/zfs/zfs.c
1674
if (spa == NULL)
usr/src/boot/libsa/zfs/zfs.c
1678
dev->pool_guid = spa->spa_guid;
usr/src/boot/libsa/zfs/zfs.c
1680
spa = spa_find_by_guid(dev->pool_guid);
usr/src/boot/libsa/zfs/zfs.c
1682
if (spa == NULL) {
usr/src/boot/libsa/zfs/zfs.c
1686
if (dev->root_guid == 0 && zfs_get_root(spa, &dev->root_guid)) {
usr/src/boot/libsa/zfs/zfs.c
1690
if (zfs_rlookup(spa, dev->root_guid, rootname)) {
usr/src/boot/libsa/zfs/zfs.c
1697
spa->spa_name);
usr/src/boot/libsa/zfs/zfs.c
1700
spa->spa_name, rootname);
usr/src/boot/libsa/zfs/zfs.c
1709
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
1724
spa = spa_find_by_name(poolname);
usr/src/boot/libsa/zfs/zfs.c
1725
if (!spa)
usr/src/boot/libsa/zfs/zfs.c
1727
rv = zfs_lookup_dataset(spa, dsname, &objid);
usr/src/boot/libsa/zfs/zfs.c
1731
return (zfs_list_dataset(spa, objid));
usr/src/boot/libsa/zfs/zfs.c
196
const spa_t *spa = ((struct zfsmount *)f->f_devdata)->spa;
usr/src/boot/libsa/zfs/zfs.c
199
return (zfs_dnode_stat(spa, &fp->f_dnode, sb));
usr/src/boot/libsa/zfs/zfs.c
205
const spa_t *spa = ((struct zfsmount *)f->f_devdata)->spa;
usr/src/boot/libsa/zfs/zfs.c
222
rc = dnode_read(spa, &fp->f_dnode, 0, &fp->f_zap_type,
usr/src/boot/libsa/zfs/zfs.c
230
rc = dnode_read(spa, &fp->f_dnode,
usr/src/boot/libsa/zfs/zfs.c
240
rc = dnode_read(spa, &fp->f_dnode, fp->f_seekp,
usr/src/boot/libsa/zfs/zfs.c
252
rc = dnode_read(spa, &fp->f_dnode, fp->f_seekp, &mze,
usr/src/boot/libsa/zfs/zfs.c
298
rc = dnode_read(spa, &fp->f_dnode, fp->f_seekp,
usr/src/boot/libsa/zfs/zfs.c
579
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
589
spa = STAILQ_FIRST(&zfs_pools);
usr/src/boot/libsa/zfs/zfs.c
590
while (spa != NULL) {
usr/src/boot/libsa/zfs/zfs.c
591
next = STAILQ_NEXT(spa, spa_link);
usr/src/boot/libsa/zfs/zfs.c
592
if (zfs_spa_init(spa)) {
usr/src/boot/libsa/zfs/zfs.c
598
prev = spa;
usr/src/boot/libsa/zfs/zfs.c
599
spa = next;
usr/src/boot/libsa/zfs/zfs.c
624
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
627
spa = NULL;
usr/src/boot/libsa/zfs/zfs.c
628
ret = vdev_probe(vdev_read, vdev_write, (void *)(uintptr_t)fd, &spa);
usr/src/boot/libsa/zfs/zfs.c
630
*pool_guid = spa->spa_guid;
usr/src/boot/libsa/zfs/zfs.c
690
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
695
if ((spa = spa_find_by_dev(dev)) == NULL)
usr/src/boot/libsa/zfs/zfs.c
698
if (spa->spa_bootenv == NULL) {
usr/src/boot/libsa/zfs/zfs.c
699
STAILQ_FOREACH(vd, &spa->spa_root_vdev->v_children,
usr/src/boot/libsa/zfs/zfs.c
706
spa->spa_bootenv = benv;
usr/src/boot/libsa/zfs/zfs.c
708
benv = spa->spa_bootenv;
usr/src/boot/libsa/zfs/zfs.c
725
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
731
if ((spa = spa_find_by_dev(dev)) == NULL)
usr/src/boot/libsa/zfs/zfs.c
734
STAILQ_FOREACH(vd, &spa->spa_root_vdev->v_children, v_childlink) {
usr/src/boot/libsa/zfs/zfs.c
738
spa->spa_bootenv = benv;
usr/src/boot/libsa/zfs/zfs.c
825
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
834
if ((spa = spa_find_by_dev(dev)) == NULL)
usr/src/boot/libsa/zfs/zfs.c
837
if (spa->spa_bootenv == NULL)
usr/src/boot/libsa/zfs/zfs.c
840
if (nvlist_find(spa->spa_bootenv, OS_NVSTORE, DATA_TYPE_NVLIST,
usr/src/boot/libsa/zfs/zfs.c
860
spa_t *spa;
usr/src/boot/libsa/zfs/zfs.c
868
if ((spa = spa_find_by_dev(dev)) == NULL)
usr/src/boot/libsa/zfs/zfs.c
871
if (spa->spa_bootenv == NULL)
usr/src/boot/libsa/zfs/zfs.c
874
if (nvlist_find(spa->spa_bootenv, OS_NVSTORE, DATA_TYPE_NVLIST,
usr/src/boot/libsa/zfs/zfs.c
972
rv = nvlist_add_nvlist(spa->spa_bootenv, OS_NVSTORE, nv);
usr/src/boot/libsa/zfs/zfs.c
974
rv = zfs_set_bootenv(vdev, spa->spa_bootenv);
usr/src/boot/libsa/zfs/zfsimpl.c
1122
vdev_from_nvlist(spa_t *spa, uint64_t top_guid, const nvlist_t *nvlist)
usr/src/boot/libsa/zfs/zfsimpl.c
1134
top_vdev->v_spa = spa;
usr/src/boot/libsa/zfs/zfsimpl.c
1136
vdev_insert(spa->spa_root_vdev, top_vdev);
usr/src/boot/libsa/zfs/zfsimpl.c
1155
vdev->v_spa = spa;
usr/src/boot/libsa/zfs/zfsimpl.c
1177
vdev_init_from_label(spa_t *spa, const nvlist_t *nvlist)
usr/src/boot/libsa/zfs/zfsimpl.c
1193
rc = vdev_from_nvlist(spa, top_guid, vdevs);
usr/src/boot/libsa/zfs/zfsimpl.c
1284
vdev_init_from_nvlist(spa_t *spa, const nvlist_t *nvlist)
usr/src/boot/libsa/zfs/zfsimpl.c
1301
if (spa->spa_guid != pool_guid) {
usr/src/boot/libsa/zfs/zfsimpl.c
1306
spa->spa_root_vdev->v_nchildren = vdev_children;
usr/src/boot/libsa/zfs/zfsimpl.c
1331
rc = vdev_from_nvlist(spa, guid, kids[i]);
usr/src/boot/libsa/zfs/zfsimpl.c
1346
vdev_set_state(spa->spa_root_vdev);
usr/src/boot/libsa/zfs/zfsimpl.c
1354
spa_t *spa;
usr/src/boot/libsa/zfs/zfsimpl.c
1356
STAILQ_FOREACH(spa, &zfs_pools, spa_link)
usr/src/boot/libsa/zfs/zfsimpl.c
1357
if (spa->spa_guid == guid)
usr/src/boot/libsa/zfs/zfsimpl.c
1358
return (spa);
usr/src/boot/libsa/zfs/zfsimpl.c
1366
spa_t *spa;
usr/src/boot/libsa/zfs/zfsimpl.c
1368
STAILQ_FOREACH(spa, &zfs_pools, spa_link)
usr/src/boot/libsa/zfs/zfsimpl.c
1369
if (strcmp(spa->spa_name, name) == 0)
usr/src/boot/libsa/zfs/zfsimpl.c
1370
return (spa);
usr/src/boot/libsa/zfs/zfsimpl.c
1391
spa_t *spa;
usr/src/boot/libsa/zfs/zfsimpl.c
1393
if ((spa = calloc(1, sizeof (spa_t))) == NULL)
usr/src/boot/libsa/zfs/zfsimpl.c
1395
if ((spa->spa_name = strdup(name)) == NULL) {
usr/src/boot/libsa/zfs/zfsimpl.c
1396
free(spa);
usr/src/boot/libsa/zfs/zfsimpl.c
1399
spa->spa_guid = guid;
usr/src/boot/libsa/zfs/zfsimpl.c
1400
spa->spa_root_vdev = vdev_create(guid, NULL);
usr/src/boot/libsa/zfs/zfsimpl.c
1401
if (spa->spa_root_vdev == NULL) {
usr/src/boot/libsa/zfs/zfsimpl.c
1402
free(spa->spa_name);
usr/src/boot/libsa/zfs/zfsimpl.c
1403
free(spa);
usr/src/boot/libsa/zfs/zfsimpl.c
1406
spa->spa_root_vdev->v_name = strdup("root");
usr/src/boot/libsa/zfs/zfsimpl.c
1407
STAILQ_INSERT_TAIL(&zfs_pools, spa, spa_link);
usr/src/boot/libsa/zfs/zfsimpl.c
1409
return (spa);
usr/src/boot/libsa/zfs/zfsimpl.c
143
static int zio_read(const spa_t *spa, const blkptr_t *bp, void *buf);
usr/src/boot/libsa/zfs/zfsimpl.c
144
static int zfs_get_root(const spa_t *spa, uint64_t *objid);
usr/src/boot/libsa/zfs/zfsimpl.c
145
static int zfs_rlookup(const spa_t *spa, uint64_t objnum, char *result);
usr/src/boot/libsa/zfs/zfsimpl.c
146
static int zap_lookup(const spa_t *spa, const dnode_phys_t *dnode,
usr/src/boot/libsa/zfs/zfsimpl.c
1479
spa_status(spa_t *spa)
usr/src/boot/libsa/zfs/zfsimpl.c
1488
ret = pager_printf(" pool: %s\n", spa->spa_name);
usr/src/boot/libsa/zfs/zfsimpl.c
1492
if (zfs_get_root(spa, &rootid) == 0 &&
usr/src/boot/libsa/zfs/zfsimpl.c
1493
zfs_rlookup(spa, rootid, bootfs) == 0) {
usr/src/boot/libsa/zfs/zfsimpl.c
1495
ret = pager_printf("bootfs: %s\n", spa->spa_name);
usr/src/boot/libsa/zfs/zfsimpl.c
1497
ret = pager_printf("bootfs: %s/%s\n", spa->spa_name,
usr/src/boot/libsa/zfs/zfsimpl.c
1512
vlist = &spa->spa_root_vdev->v_children;
usr/src/boot/libsa/zfs/zfsimpl.c
1528
ret = print_state(0, spa->spa_name, state);
usr/src/boot/libsa/zfs/zfsimpl.c
1543
spa_t *spa;
usr/src/boot/libsa/zfs/zfsimpl.c
1546
STAILQ_FOREACH(spa, &zfs_pools, spa_link) {
usr/src/boot/libsa/zfs/zfsimpl.c
1553
ret = spa_status(spa);
usr/src/boot/libsa/zfs/zfsimpl.c
2021
spa_t *spa;
usr/src/boot/libsa/zfs/zfsimpl.c
2098
spa = spa_find_by_guid(pool_guid);
usr/src/boot/libsa/zfs/zfsimpl.c
2099
if (spa == NULL) {
usr/src/boot/libsa/zfs/zfsimpl.c
2111
spa = spa_create(pool_guid, name);
usr/src/boot/libsa/zfs/zfsimpl.c
2113
if (spa == NULL) {
usr/src/boot/libsa/zfs/zfsimpl.c
2117
spa->spa_root_vdev->v_nchildren = vdev_children;
usr/src/boot/libsa/zfs/zfsimpl.c
2119
if (pool_txg > spa->spa_txg)
usr/src/boot/libsa/zfs/zfsimpl.c
2120
spa->spa_txg = pool_txg;
usr/src/boot/libsa/zfs/zfsimpl.c
2140
rc = vdev_init_from_label(spa, nvl);
usr/src/boot/libsa/zfs/zfsimpl.c
2166
spa->spa_with_log = vdev->v_islog;
usr/src/boot/libsa/zfs/zfsimpl.c
2169
if (spa->spa_boot_vdev == NULL)
usr/src/boot/libsa/zfs/zfsimpl.c
2170
spa->spa_boot_vdev = vdev;
usr/src/boot/libsa/zfs/zfsimpl.c
2182
vdev_uberblock_load(vdev, &spa->spa_uberblock);
usr/src/boot/libsa/zfs/zfsimpl.c
2185
*spap = spa;
usr/src/boot/libsa/zfs/zfsimpl.c
2201
zio_read_gang(const spa_t *spa, const blkptr_t *bp, void *buf)
usr/src/boot/libsa/zfs/zfsimpl.c
2218
if (zio_read(spa, &gbh_bp, &zio_gb))
usr/src/boot/libsa/zfs/zfsimpl.c
2227
if (zio_read(spa, gbp, pbuf))
usr/src/boot/libsa/zfs/zfsimpl.c
2232
if (zio_checksum_verify(spa, bp, buf))
usr/src/boot/libsa/zfs/zfsimpl.c
2238
zio_read(const spa_t *spa, const blkptr_t *bp, void *buf)
usr/src/boot/libsa/zfs/zfsimpl.c
2290
vlist = &spa->spa_root_vdev->v_children;
usr/src/boot/libsa/zfs/zfsimpl.c
2315
error = zio_read_gang(spa, bp, pbuf);
usr/src/boot/libsa/zfs/zfsimpl.c
2337
dnode_read(const spa_t *spa, const dnode_phys_t *dnode, off_t offset,
usr/src/boot/libsa/zfs/zfsimpl.c
2402
rc = zio_read(spa, &bp, dnode_cache_buf);
usr/src/boot/libsa/zfs/zfsimpl.c
2713
fzap_lookup(const spa_t *spa, const dnode_phys_t *dnode, zap_phys_t *zh,
usr/src/boot/libsa/zfs/zfsimpl.c
2731
z.zap_spa = spa;
usr/src/boot/libsa/zfs/zfsimpl.c
2749
zap_lookup(const spa_t *spa, const dnode_phys_t *dnode, const char *name,
usr/src/boot/libsa/zfs/zfsimpl.c
2760
rc = dnode_read(spa, dnode, 0, zap, size);
usr/src/boot/libsa/zfs/zfsimpl.c
2769
rc = fzap_lookup(spa, dnode, zap, name, integer_size,
usr/src/boot/libsa/zfs/zfsimpl.c
281
vdev_indirect_mapping_open(spa_t *spa, objset_phys_t *os,
usr/src/boot/libsa/zfs/zfsimpl.c
2814
fzap_list(const spa_t *spa, const dnode_phys_t *dnode, zap_phys_t *zh,
usr/src/boot/libsa/zfs/zfsimpl.c
2842
if (dnode_read(spa, dnode, off, zl.l_phys, bsize)) {
usr/src/boot/libsa/zfs/zfsimpl.c
2905
zap_list(const spa_t *spa, const dnode_phys_t *dnode)
usr/src/boot/libsa/zfs/zfsimpl.c
2915
rc = dnode_read(spa, dnode, 0, zap, size);
usr/src/boot/libsa/zfs/zfsimpl.c
2921
rc = fzap_list(spa, dnode, zap, zfs_printf);
usr/src/boot/libsa/zfs/zfsimpl.c
2928
objset_get_dnode(const spa_t *spa, const objset_phys_t *os, uint64_t objnum,
usr/src/boot/libsa/zfs/zfsimpl.c
2934
return (dnode_read(spa, &os->os_meta_dnode, offset,
usr/src/boot/libsa/zfs/zfsimpl.c
298
rc = objset_get_dnode(spa, os, mapping_object, vim->vim_dn);
usr/src/boot/libsa/zfs/zfsimpl.c
2989
fzap_rlookup(const spa_t *spa, const dnode_phys_t *dnode, zap_phys_t *zh,
usr/src/boot/libsa/zfs/zfsimpl.c
3016
rc = dnode_read(spa, dnode, off, zl.l_phys, bsize);
usr/src/boot/libsa/zfs/zfsimpl.c
3044
zap_rlookup(const spa_t *spa, const dnode_phys_t *dnode, char *name,
usr/src/boot/libsa/zfs/zfsimpl.c
305
vim->vim_spa = spa;
usr/src/boot/libsa/zfs/zfsimpl.c
3055
rc = dnode_read(spa, dnode, 0, zap, size);
usr/src/boot/libsa/zfs/zfsimpl.c
3061
rc = fzap_rlookup(spa, dnode, zap, name, value);
usr/src/boot/libsa/zfs/zfsimpl.c
3068
zfs_rlookup(const spa_t *spa, uint64_t objnum, char *result)
usr/src/boot/libsa/zfs/zfsimpl.c
3082
if (objset_get_dnode(spa, &spa->spa_mos, objnum, &dataset)) {
usr/src/boot/libsa/zfs/zfsimpl.c
3090
if (objset_get_dnode(spa, &spa->spa_mos, dir_obj, &dir) != 0)
usr/src/boot/libsa/zfs/zfsimpl.c
3099
if (objset_get_dnode(spa, &spa->spa_mos, parent_obj,
usr/src/boot/libsa/zfs/zfsimpl.c
3104
if (objset_get_dnode(spa, &spa->spa_mos, child_dir_zapobj,
usr/src/boot/libsa/zfs/zfsimpl.c
3107
if (zap_rlookup(spa, &child_dir_zap, component, dir_obj) != 0)
usr/src/boot/libsa/zfs/zfsimpl.c
3128
zfs_lookup_dataset(const spa_t *spa, const char *name, uint64_t *objnum)
usr/src/boot/libsa/zfs/zfsimpl.c
3136
if (objset_get_dnode(spa, &spa->spa_mos,
usr/src/boot/libsa/zfs/zfsimpl.c
3139
if (zap_lookup(spa, &dir, DMU_POOL_ROOT_DATASET, sizeof (dir_obj),
usr/src/boot/libsa/zfs/zfsimpl.c
3145
if (objset_get_dnode(spa, &spa->spa_mos, dir_obj, &dir))
usr/src/boot/libsa/zfs/zfsimpl.c
3166
if (objset_get_dnode(spa, &spa->spa_mos, child_dir_zapobj,
usr/src/boot/libsa/zfs/zfsimpl.c
3171
if (zap_lookup(spa, &child_dir_zap, element, sizeof (dir_obj),
usr/src/boot/libsa/zfs/zfsimpl.c
3182
zfs_list_dataset(const spa_t *spa, uint64_t objnum)
usr/src/boot/libsa/zfs/zfsimpl.c
3189
if (objset_get_dnode(spa, &spa->spa_mos, objnum, &dataset)) {
usr/src/boot/libsa/zfs/zfsimpl.c
3196
if (objset_get_dnode(spa, &spa->spa_mos, dir_obj, &dir)) {
usr/src/boot/libsa/zfs/zfsimpl.c
3203
if (objset_get_dnode(spa, &spa->spa_mos, child_dir_zapobj,
usr/src/boot/libsa/zfs/zfsimpl.c
3209
return (zap_list(spa, &child_dir_zap) != 0);
usr/src/boot/libsa/zfs/zfsimpl.c
3213
zfs_callback_dataset(const spa_t *spa, uint64_t objnum,
usr/src/boot/libsa/zfs/zfsimpl.c
3224
err = objset_get_dnode(spa, &spa->spa_mos, objnum, &dataset);
usr/src/boot/libsa/zfs/zfsimpl.c
3232
err = objset_get_dnode(spa, &spa->spa_mos, dir_obj, &dir);
usr/src/boot/libsa/zfs/zfsimpl.c
3240
err = objset_get_dnode(spa, &spa->spa_mos, child_dir_zapobj,
usr/src/boot/libsa/zfs/zfsimpl.c
3250
err = dnode_read(spa, &child_dir_zap, 0, zap, size);
usr/src/boot/libsa/zfs/zfsimpl.c
3258
err = fzap_list(spa, &child_dir_zap, zap, callback);
usr/src/boot/libsa/zfs/zfsimpl.c
3272
zfs_mount_dataset(const spa_t *spa, uint64_t objnum, objset_phys_t *objset)
usr/src/boot/libsa/zfs/zfsimpl.c
3277
if (objset_get_dnode(spa, &spa->spa_mos, objnum, &dataset)) {
usr/src/boot/libsa/zfs/zfsimpl.c
3283
if (zio_read(spa, &ds->ds_bp, objset)) {
usr/src/boot/libsa/zfs/zfsimpl.c
3297
zfs_get_root(const spa_t *spa, uint64_t *objid)
usr/src/boot/libsa/zfs/zfsimpl.c
3307
if (objset_get_dnode(spa, &spa->spa_mos,
usr/src/boot/libsa/zfs/zfsimpl.c
3316
if (zap_lookup(spa, &dir, DMU_POOL_PROPS,
usr/src/boot/libsa/zfs/zfsimpl.c
3318
objset_get_dnode(spa, &spa->spa_mos, props, &propdir) == 0 &&
usr/src/boot/libsa/zfs/zfsimpl.c
3319
zap_lookup(spa, &propdir, "bootfs",
usr/src/boot/libsa/zfs/zfsimpl.c
3327
if (zap_lookup(spa, &dir, DMU_POOL_ROOT_DATASET,
usr/src/boot/libsa/zfs/zfsimpl.c
3329
objset_get_dnode(spa, &spa->spa_mos, root, &dir)) {
usr/src/boot/libsa/zfs/zfsimpl.c
3344
zfs_mount(const spa_t *spa, uint64_t rootobj, struct zfsmount *mnt)
usr/src/boot/libsa/zfs/zfsimpl.c
3347
mnt->spa = spa;
usr/src/boot/libsa/zfs/zfsimpl.c
3352
if (rootobj == 0 && zfs_get_root(spa, &rootobj)) {
usr/src/boot/libsa/zfs/zfsimpl.c
3357
if (zfs_mount_dataset(spa, rootobj, &mnt->objset)) {
usr/src/boot/libsa/zfs/zfsimpl.c
3392
check_mos_features(const spa_t *spa)
usr/src/boot/libsa/zfs/zfsimpl.c
3400
if ((rc = objset_get_dnode(spa, &spa->spa_mos, DMU_OT_OBJECT_DIRECTORY,
usr/src/boot/libsa/zfs/zfsimpl.c
3403
if ((rc = zap_lookup(spa, &dir, DMU_POOL_FEATURES_FOR_READ,
usr/src/boot/libsa/zfs/zfsimpl.c
3414
if ((rc = objset_get_dnode(spa, &spa->spa_mos, objnum, &dir)) != 0)
usr/src/boot/libsa/zfs/zfsimpl.c
3425
if (dnode_read(spa, &dir, 0, zap, size)) {
usr/src/boot/libsa/zfs/zfsimpl.c
3433
rc = fzap_list(spa, &dir, zap, check_feature);
usr/src/boot/libsa/zfs/zfsimpl.c
3440
load_nvlist(spa_t *spa, uint64_t obj, nvlist_t **value)
usr/src/boot/libsa/zfs/zfsimpl.c
3448
if ((rc = objset_get_dnode(spa, &spa->spa_mos, obj, &dir)) != 0)
usr/src/boot/libsa/zfs/zfsimpl.c
3463
rc = dnode_read(spa, &dir, 0, nv, size);
usr/src/boot/libsa/zfs/zfsimpl.c
3475
zfs_spa_init(spa_t *spa)
usr/src/boot/libsa/zfs/zfsimpl.c
3482
if (zio_read(spa, &spa->spa_uberblock.ub_rootbp, &spa->spa_mos)) {
usr/src/boot/libsa/zfs/zfsimpl.c
3483
printf("ZFS: can't read MOS of pool %s\n", spa->spa_name);
usr/src/boot/libsa/zfs/zfsimpl.c
3486
if (spa->spa_mos.os_type != DMU_OST_META) {
usr/src/boot/libsa/zfs/zfsimpl.c
3487
printf("ZFS: corrupted MOS of pool %s\n", spa->spa_name);
usr/src/boot/libsa/zfs/zfsimpl.c
3491
if (objset_get_dnode(spa, &spa->spa_mos, DMU_POOL_DIRECTORY_OBJECT,
usr/src/boot/libsa/zfs/zfsimpl.c
3494
spa->spa_name);
usr/src/boot/libsa/zfs/zfsimpl.c
3498
rc = zap_lookup(spa, &dir, DMU_POOL_CHECKSUM_SALT, 1,
usr/src/boot/libsa/zfs/zfsimpl.c
3499
sizeof (spa->spa_cksum_salt.zcs_bytes),
usr/src/boot/libsa/zfs/zfsimpl.c
3500
spa->spa_cksum_salt.zcs_bytes);
usr/src/boot/libsa/zfs/zfsimpl.c
3502
rc = check_mos_features(spa);
usr/src/boot/libsa/zfs/zfsimpl.c
3504
printf("ZFS: pool %s is not supported\n", spa->spa_name);
usr/src/boot/libsa/zfs/zfsimpl.c
3508
rc = zap_lookup(spa, &dir, DMU_POOL_CONFIG,
usr/src/boot/libsa/zfs/zfsimpl.c
3514
rc = load_nvlist(spa, config_object, &nvlist);
usr/src/boot/libsa/zfs/zfsimpl.c
3522
rc = vdev_init_from_nvlist(spa, nvlist);
usr/src/boot/libsa/zfs/zfsimpl.c
3528
zfs_dnode_stat(const spa_t *spa, dnode_phys_t *dn, struct stat *sb)
usr/src/boot/libsa/zfs/zfsimpl.c
3556
error = zio_read(spa, bp, buf);
usr/src/boot/libsa/zfs/zfsimpl.c
3583
zfs_dnode_readlink(const spa_t *spa, dnode_phys_t *dn, char *path, size_t psize)
usr/src/boot/libsa/zfs/zfsimpl.c
3608
rc = zio_read(spa, bp, buf);
usr/src/boot/libsa/zfs/zfsimpl.c
3629
rc = dnode_read(spa, dn, 0, path, psize);
usr/src/boot/libsa/zfs/zfsimpl.c
3647
const spa_t *spa;
usr/src/boot/libsa/zfs/zfsimpl.c
3657
spa = mnt->spa;
usr/src/boot/libsa/zfs/zfsimpl.c
3670
rc = objset_get_dnode(spa, &mnt->objset, MASTER_NODE_OBJ, &dn);
usr/src/boot/libsa/zfs/zfsimpl.c
3676
rc = zap_lookup(spa, &dn, ZFS_ROOT_OBJ, sizeof (objnum), 1, &objnum);
usr/src/boot/libsa/zfs/zfsimpl.c
3684
rc = objset_get_dnode(spa, &mnt->objset, objnum, &dn);
usr/src/boot/libsa/zfs/zfsimpl.c
3690
rc = objset_get_dnode(spa, &mnt->objset, objnum, &dn);
usr/src/boot/libsa/zfs/zfsimpl.c
3729
if ((rc = zfs_dnode_stat(spa, &dn, &sb)) != 0)
usr/src/boot/libsa/zfs/zfsimpl.c
3736
rc = zap_lookup(spa, &dn, element, sizeof (objnum), 1, &objnum);
usr/src/boot/libsa/zfs/zfsimpl.c
3747
rc = objset_get_dnode(spa, &mnt->objset, objnum, &dn);
usr/src/boot/libsa/zfs/zfsimpl.c
3754
rc = zfs_dnode_stat(spa, &dn, &sb);
usr/src/boot/libsa/zfs/zfsimpl.c
3774
rc = zfs_dnode_readlink(spa, &dn, path, sb.st_size);
usr/src/boot/libsa/zfs/zfsimpl.c
46
const spa_t *spa;
usr/src/boot/libsa/zfs/zfsimpl.c
530
vdev_lookup_top(spa_t *spa, uint64_t vdev)
usr/src/boot/libsa/zfs/zfsimpl.c
535
vlist = &spa->spa_root_vdev->v_children;
usr/src/boot/libsa/zfs/zfsimpl.c
599
spa_t *spa = vd->v_spa;
usr/src/boot/libsa/zfs/zfsimpl.c
631
vdev_t *dst_v = vdev_lookup_top(spa, dst_vdev);
usr/src/boot/libsa/zfs/zfsimpl.c
693
spa_t *spa = vdev->v_spa;
usr/src/boot/libsa/zfs/zfsimpl.c
706
zio.io_spa = spa;
usr/src/boot/libsa/zfs/zfsimpl.c
718
vdev->v_mapping = vdev_indirect_mapping_open(spa,
usr/src/boot/libsa/zfs/zfsimpl.c
719
&spa->spa_mos, vic->vic_mapping_object);
usr/src/boot/libsa/zfs/zfsimpl.c
763
if (zio_checksum_verify(spa, zio.io_bp, zio.io_data))
usr/src/boot/sys/cddl/boot/zfs/zfsimpl.h
1452
struct spa;
usr/src/boot/sys/cddl/boot/zfs/zfsimpl.h
1456
const struct spa *zap_spa;
usr/src/boot/sys/cddl/boot/zfs/zfsimpl.h
1671
struct spa;
usr/src/boot/sys/cddl/boot/zfs/zfsimpl.h
1808
struct spa *v_spa; /* link to spa */
usr/src/boot/sys/cddl/boot/zfs/zfsimpl.h
1819
typedef STAILQ_HEAD(spa_list, spa) spa_list_t;
usr/src/boot/sys/cddl/boot/zfs/zfsimpl.h
1822
STAILQ_ENTRY(spa) spa_link; /* link in global pool list */
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
1351
raidz_checksum_verify(const spa_t *spa, const blkptr_t *bp, void *data,
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
1355
return (zio_checksum_verify(spa, bp, data));
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
1409
vdev_raidz_combrec(const spa_t *spa, raidz_map_t *rm, const blkptr_t *bp,
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
1494
if (raidz_checksum_verify(spa, bp, data, bytes) == 0) {
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
231
zio_checksum_template_init(enum zio_checksum checksum, spa_t *spa)
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
238
if (spa->spa_cksum_tmpls[checksum] != NULL)
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
241
if (spa->spa_cksum_tmpls[checksum] == NULL) {
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
242
spa->spa_cksum_tmpls[checksum] =
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
243
ci->ci_tmpl_init(&spa->spa_cksum_salt);
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
253
zio_checksum_templates_free(spa_t *spa)
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
257
if (spa->spa_cksum_tmpls[checksum] != NULL) {
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
260
ci->ci_tmpl_free(spa->spa_cksum_tmpls[checksum]);
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
261
spa->spa_cksum_tmpls[checksum] = NULL;
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
267
zio_checksum_verify(const spa_t *spa, const blkptr_t *bp, void *data)
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
285
if (spa != NULL) {
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
286
zio_checksum_template_init(checksum, (spa_t *)spa);
usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
287
ctx = spa->spa_cksum_tmpls[checksum];
usr/src/cmd/cmd-inet/usr.sbin/in.rarpd.c
572
ipaddr_t tpa, spa;
usr/src/cmd/cmd-inet/usr.sbin/in.rarpd.c
609
if (get_ipaddr(rdev, thap, tpap, &spa))
usr/src/cmd/cmd-inet/usr.sbin/in.rarpd.c
611
(void) memcpy(spap, &spa, sizeof (spa));
usr/src/cmd/mdb/common/modules/zfs/zfs.c
1445
mdb_spa_print_t spa;
usr/src/cmd/mdb/common/modules/zfs/zfs.c
1446
if (mdb_ctf_vread(&spa, "spa_t", "mdb_spa_print_t", addr, 0) == -1)
usr/src/cmd/mdb/common/modules/zfs/zfs.c
1449
if (spa.spa_state < 0 || spa.spa_state > POOL_STATE_UNAVAIL)
usr/src/cmd/mdb/common/modules/zfs/zfs.c
1452
state = statetab[spa.spa_state];
usr/src/cmd/mdb/common/modules/zfs/zfs.c
1454
mdb_printf("%0?p %9s %s\n", addr, state, spa.spa_name);
usr/src/cmd/mdb/common/modules/zfs/zfs.c
1456
spa_class_histogram(spa.spa_normal_class);
usr/src/cmd/mdb/common/modules/zfs/zfs.c
1511
mdb_spa_config_spa_t spa;
usr/src/cmd/mdb/common/modules/zfs/zfs.c
1516
if (mdb_ctf_vread(&spa, ZFS_STRUCT "spa", "mdb_spa_config_spa_t",
usr/src/cmd/mdb/common/modules/zfs/zfs.c
1520
if (spa.spa_config == 0) {
usr/src/cmd/mdb/common/modules/zfs/zfs.c
1525
return (mdb_call_dcmd("nvlist", spa.spa_config, flags,
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2321
mdb_spa_t spa;
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2342
if (mdb_ctf_vread(&spa, ZFS_STRUCT "spa", "mdb_spa_t",
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2345
spa.spa_dsl_pool, 0) == -1 ||
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2487
mdb_spa_vdevs_t spa;
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2488
if (mdb_ctf_vread(&spa, "spa_t", "mdb_spa_vdevs_t", addr, 0) == -1)
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2494
if (spa.spa_root_vdev == 0) {
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2511
ret = mdb_call_dcmd("vdev", (uintptr_t)spa.spa_root_vdev,
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2516
if (spa_print_aux(&spa.spa_l2cache, flags, v, "cache") != 0 ||
usr/src/cmd/mdb/common/modules/zfs/zfs.c
2517
spa_print_aux(&spa.spa_spares, flags, v, "spares") != 0)
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3151
uintptr_t spa = (uintptr_t)wsp->walk_data;
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3157
if (spa != 0 && spa != zio.io_spa)
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3172
uintptr_t spa = (uintptr_t)wsp->walk_data;
usr/src/cmd/mdb/common/modules/zfs/zfs.c
3178
if (spa != 0 && spa != zio.io_spa)
usr/src/cmd/zdb/zdb.c
1000
metaslab_class_t *mc = spa_normal_class(spa);
usr/src/cmd/zdb/zdb.c
1028
(void) printf("\tpool %s\tfragmentation", spa_name(spa));
usr/src/cmd/zdb/zdb.c
1110
dump_metaslabs(spa_t *spa)
usr/src/cmd/zdb/zdb.c
1112
vdev_t *vd, *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
1154
dump_log_spacemaps(spa_t *spa)
usr/src/cmd/zdb/zdb.c
1156
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/cmd/zdb/zdb.c
1160
for (spa_log_sm_t *sls = avl_first(&spa->spa_sm_logs_by_txg);
usr/src/cmd/zdb/zdb.c
1161
sls; sls = AVL_NEXT(&spa->spa_sm_logs_by_txg, sls)) {
usr/src/cmd/zdb/zdb.c
1163
VERIFY0(space_map_open(&sm, spa_meta_objset(spa),
usr/src/cmd/zdb/zdb.c
1168
dump_spacemap(spa->spa_meta_objset, sm);
usr/src/cmd/zdb/zdb.c
1268
dump_all_ddts(spa_t *spa)
usr/src/cmd/zdb/zdb.c
1277
ddt_t *ddt = spa->spa_ddt[c];
usr/src/cmd/zdb/zdb.c
1286
ddt_get_dedup_stats(spa, &dds_total);
usr/src/cmd/zdb/zdb.c
1297
ddt_get_dedup_histogram(spa, &ddh_total);
usr/src/cmd/zdb/zdb.c
1319
spa_t *spa = vd->vdev_spa;
usr/src/cmd/zdb/zdb.c
1325
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/cmd/zdb/zdb.c
1327
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/cmd/zdb/zdb.c
1334
vd->vdev_parent ? vd->vdev_ops->vdev_op_type : spa_name(spa),
usr/src/cmd/zdb/zdb.c
1345
dump_spacemap(spa->spa_meta_objset, vd->vdev_dtl_sm);
usr/src/cmd/zdb/zdb.c
1353
dump_history(spa_t *spa)
usr/src/cmd/zdb/zdb.c
1365
if ((error = spa_history_get(spa, &off, &len, buf)) != 0) {
usr/src/cmd/zdb/zdb.c
1565
visit_indirect(spa_t *spa, const dnode_phys_t *dnp,
usr/src/cmd/zdb/zdb.c
1583
err = arc_read(NULL, spa, bp, arc_getbuf_func, &buf,
usr/src/cmd/zdb/zdb.c
1597
err = visit_indirect(spa, dnp, cbp, &czb);
usr/src/cmd/zdb/zdb.c
2606
dump_config(spa_t *spa)
usr/src/cmd/zdb/zdb.c
2613
error = dmu_bonus_hold(spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
2614
spa->spa_config_object, FTAG, &db);
usr/src/cmd/zdb/zdb.c
2621
dump_packed_nvlist(spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
2622
spa->spa_config_object, (void *)&nvsize, 1);
usr/src/cmd/zdb/zdb.c
2625
(u_longlong_t)spa->spa_config_object, error);
usr/src/cmd/zdb/zdb.c
3463
same_metaslab(spa_t *spa, uint64_t vdev, uint64_t off1, uint64_t off2)
usr/src/cmd/zdb/zdb.c
3465
vdev_t *vd = vdev_lookup_top(spa, vdev);
usr/src/cmd/zdb/zdb.c
3595
spa_t *spa = zio->io_spa;
usr/src/cmd/zdb/zdb.c
3603
mutex_enter(&spa->spa_scrub_lock);
usr/src/cmd/zdb/zdb.c
3604
spa->spa_load_verify_ios--;
usr/src/cmd/zdb/zdb.c
3605
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/cmd/zdb/zdb.c
3628
mutex_exit(&spa->spa_scrub_lock);
usr/src/cmd/zdb/zdb.c
3632
zdb_blkptr_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/cmd/zdb/zdb.c
3674
mutex_enter(&spa->spa_scrub_lock);
usr/src/cmd/zdb/zdb.c
3675
while (spa->spa_load_verify_ios > max_inflight)
usr/src/cmd/zdb/zdb.c
3676
cv_wait(&spa->spa_scrub_io_cv, &spa->spa_scrub_lock);
usr/src/cmd/zdb/zdb.c
3677
spa->spa_load_verify_ios++;
usr/src/cmd/zdb/zdb.c
3678
mutex_exit(&spa->spa_scrub_lock);
usr/src/cmd/zdb/zdb.c
3680
zio_nowait(zio_read(NULL, spa, bp, abd, size,
usr/src/cmd/zdb/zdb.c
3733
typedef int (*zdb_log_sm_cb_t)(spa_t *spa, space_map_entry_t *sme,
usr/src/cmd/zdb/zdb.c
3752
iterate_through_spacemap_logs(spa_t *spa, zdb_log_sm_cb_t cb, void *arg)
usr/src/cmd/zdb/zdb.c
3754
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/cmd/zdb/zdb.c
3757
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
3758
for (spa_log_sm_t *sls = avl_first(&spa->spa_sm_logs_by_txg);
usr/src/cmd/zdb/zdb.c
3759
sls; sls = AVL_NEXT(&spa->spa_sm_logs_by_txg, sls)) {
usr/src/cmd/zdb/zdb.c
3761
VERIFY0(space_map_open(&sm, spa_meta_objset(spa),
usr/src/cmd/zdb/zdb.c
3765
.uic_spa = spa,
usr/src/cmd/zdb/zdb.c
3775
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/cmd/zdb/zdb.c
3780
load_unflushed_svr_segs_cb(spa_t *spa, space_map_entry_t *sme,
usr/src/cmd/zdb/zdb.c
3792
vdev_t *vd = vdev_lookup_top(spa, sme->sme_vdev);
usr/src/cmd/zdb/zdb.c
3813
zdb_ddt_leak_init(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
3822
while ((error = ddt_walk(spa, &ddb, &dde)) == 0) {
usr/src/cmd/zdb/zdb.c
3844
ddt_t *ddt = spa->spa_ddt[ddb.ddb_checksum];
usr/src/cmd/zdb/zdb.c
3887
zdb_claim_removing(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
3892
if (spa->spa_vdev_removal == NULL)
usr/src/cmd/zdb/zdb.c
3895
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
3897
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/cmd/zdb/zdb.c
3898
vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/cmd/zdb/zdb.c
3917
iterate_through_spacemap_logs(spa, load_unflushed_svr_segs_cb, svr);
usr/src/cmd/zdb/zdb.c
3931
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/cmd/zdb/zdb.c
3939
spa_t *spa = zcb->zcb_spa;
usr/src/cmd/zdb/zdb.c
3946
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
3949
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/zdb/zdb.c
3966
spa_t *spa = vd->vdev_spa;
usr/src/cmd/zdb/zdb.c
3968
&spa->spa_condensing_indirect_phys;
usr/src/cmd/zdb/zdb.c
3980
VERIFY0(space_map_open(&prev_obsolete_sm, spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
4038
spa_t *spa = vd->vdev_spa;
usr/src/cmd/zdb/zdb.c
4061
if (zap_contains(spa_meta_objset(spa), vd->vdev_top_zap,
usr/src/cmd/zdb/zdb.c
4065
VERIFY0(zap_lookup(spa_meta_objset(spa), vd->vdev_top_zap,
usr/src/cmd/zdb/zdb.c
4073
VERIFY0(space_map_open(&checkpoint_sm, spa_meta_objset(spa),
usr/src/cmd/zdb/zdb.c
4085
zdb_leak_init_exclude_checkpoint(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
4089
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
4097
count_unflushed_space_cb(spa_t *spa, space_map_entry_t *sme,
usr/src/cmd/zdb/zdb.c
4104
vdev_t *vd = vdev_lookup_top(spa, vdev_id);
usr/src/cmd/zdb/zdb.c
4123
get_unflushed_alloc_space(spa_t *spa)
usr/src/cmd/zdb/zdb.c
4129
iterate_through_spacemap_logs(spa, count_unflushed_space_cb,
usr/src/cmd/zdb/zdb.c
4135
load_unflushed_cb(spa_t *spa, space_map_entry_t *sme, uint64_t txg, void *arg)
usr/src/cmd/zdb/zdb.c
4141
vdev_t *vd = vdev_lookup_top(spa, vdev_id);
usr/src/cmd/zdb/zdb.c
4164
load_unflushed_to_ms_allocatables(spa_t *spa, maptype_t maptype)
usr/src/cmd/zdb/zdb.c
4166
iterate_through_spacemap_logs(spa, load_unflushed_cb, &maptype);
usr/src/cmd/zdb/zdb.c
4170
load_concrete_ms_allocatable_trees(spa_t *spa, maptype_t maptype)
usr/src/cmd/zdb/zdb.c
4172
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
4210
load_unflushed_to_ms_allocatables(spa, maptype);
usr/src/cmd/zdb/zdb.c
4258
zdb_leak_init_prepare_indirect_vdevs(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
4262
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
4306
zdb_leak_init(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
4308
zcb->zcb_spa = spa;
usr/src/cmd/zdb/zdb.c
4313
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/cmd/zdb/zdb.c
4314
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
4321
spa->spa_normal_class->mc_ops = &zdb_metaslab_ops;
usr/src/cmd/zdb/zdb.c
4322
spa->spa_log_class->mc_ops = &zdb_metaslab_ops;
usr/src/cmd/zdb/zdb.c
4334
zdb_leak_init_prepare_indirect_vdevs(spa, zcb);
usr/src/cmd/zdb/zdb.c
4335
load_concrete_ms_allocatable_trees(spa, SM_ALLOC);
usr/src/cmd/zdb/zdb.c
4356
zdb_leak_init_exclude_checkpoint(spa, zcb);
usr/src/cmd/zdb/zdb.c
4357
ASSERT3U(zcb->zcb_checkpoint_size, ==, spa_get_checkpoint_space(spa));
usr/src/cmd/zdb/zdb.c
4363
ASSERT(spa_feature_is_enabled(spa,
usr/src/cmd/zdb/zdb.c
4369
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
4370
zdb_ddt_leak_init(spa, zcb);
usr/src/cmd/zdb/zdb.c
4371
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/cmd/zdb/zdb.c
4445
zdb_leak_fini(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
4452
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
4518
dump_block_stats(spa_t *spa)
usr/src/cmd/zdb/zdb.c
4549
zdb_leak_init(spa, &zcb);
usr/src/cmd/zdb/zdb.c
4554
(void) bpobj_iterate_nofree(&spa->spa_deferred_bpobj,
usr/src/cmd/zdb/zdb.c
4557
if (spa_version(spa) >= SPA_VERSION_DEADLISTS) {
usr/src/cmd/zdb/zdb.c
4558
(void) bpobj_iterate_nofree(&spa->spa_dsl_pool->dp_free_bpobj,
usr/src/cmd/zdb/zdb.c
4562
zdb_claim_removing(spa, &zcb);
usr/src/cmd/zdb/zdb.c
4564
if (spa_feature_is_active(spa, SPA_FEATURE_ASYNC_DESTROY)) {
usr/src/cmd/zdb/zdb.c
4565
VERIFY3U(0, ==, bptree_iterate(spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
4566
spa->spa_dsl_pool->dp_bptree_obj, B_FALSE, count_block_cb,
usr/src/cmd/zdb/zdb.c
4573
zcb.zcb_totalasize = metaslab_class_get_alloc(spa_normal_class(spa));
usr/src/cmd/zdb/zdb.c
4574
zcb.zcb_totalasize += metaslab_class_get_alloc(spa_special_class(spa));
usr/src/cmd/zdb/zdb.c
4575
zcb.zcb_totalasize += metaslab_class_get_alloc(spa_dedup_class(spa));
usr/src/cmd/zdb/zdb.c
4577
err = traverse_pool(spa, 0, flags, zdb_blkptr_cb, &zcb);
usr/src/cmd/zdb/zdb.c
4586
(void) zio_wait(spa->spa_async_zio_root[i]);
usr/src/cmd/zdb/zdb.c
4587
spa->spa_async_zio_root[i] = zio_root(spa, NULL, NULL,
usr/src/cmd/zdb/zdb.c
4613
leaks |= zdb_leak_fini(spa, &zcb);
usr/src/cmd/zdb/zdb.c
4617
norm_alloc = metaslab_class_get_alloc(spa_normal_class(spa));
usr/src/cmd/zdb/zdb.c
4618
norm_space = metaslab_class_get_space(spa_normal_class(spa));
usr/src/cmd/zdb/zdb.c
4621
metaslab_class_get_alloc(spa_log_class(spa)) +
usr/src/cmd/zdb/zdb.c
4622
metaslab_class_get_alloc(spa_special_class(spa)) +
usr/src/cmd/zdb/zdb.c
4623
metaslab_class_get_alloc(spa_dedup_class(spa)) +
usr/src/cmd/zdb/zdb.c
4624
get_unflushed_alloc_space(spa);
usr/src/cmd/zdb/zdb.c
4667
if (spa_special_class(spa)->mc_rotor != NULL) {
usr/src/cmd/zdb/zdb.c
4669
spa_special_class(spa));
usr/src/cmd/zdb/zdb.c
4671
spa_special_class(spa));
usr/src/cmd/zdb/zdb.c
4678
if (spa_dedup_class(spa)->mc_rotor != NULL) {
usr/src/cmd/zdb/zdb.c
4680
spa_dedup_class(spa));
usr/src/cmd/zdb/zdb.c
4682
spa_dedup_class(spa));
usr/src/cmd/zdb/zdb.c
4715
for (uint64_t v = 0; v < spa->spa_root_vdev->vdev_children; v++) {
usr/src/cmd/zdb/zdb.c
4716
vdev_t *vd = spa->spa_root_vdev->vdev_child[v];
usr/src/cmd/zdb/zdb.c
4846
zdb_ddt_add_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/cmd/zdb/zdb.c
4881
zdde->zdde_ref_dsize += bp_get_dsize_sync(spa, bp);
usr/src/cmd/zdb/zdb.c
4887
dump_simulated_ddt(spa_t *spa)
usr/src/cmd/zdb/zdb.c
4900
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
4902
(void) traverse_pool(spa, 0, TRAVERSE_PRE | TRAVERSE_PREFETCH_METADATA |
usr/src/cmd/zdb/zdb.c
4905
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/cmd/zdb/zdb.c
4940
verify_device_removal_feature_counts(spa_t *spa)
usr/src/cmd/zdb/zdb.c
4954
&spa->spa_condensing_indirect_phys;
usr/src/cmd/zdb/zdb.c
4956
vdev_t *vd = spa->spa_root_vdev->vdev_child[scip->scip_vdev];
usr/src/cmd/zdb/zdb.c
4968
spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
4971
dump_spacemap(spa->spa_meta_objset, prev_obsolete_sm);
usr/src/cmd/zdb/zdb.c
4979
for (uint64_t i = 0; i < spa->spa_root_vdev->vdev_children; i++) {
usr/src/cmd/zdb/zdb.c
4980
vdev_t *vd = spa->spa_root_vdev->vdev_child[i];
usr/src/cmd/zdb/zdb.c
5002
(void) feature_get_refcount(spa,
usr/src/cmd/zdb/zdb.c
5005
(void) feature_get_refcount(spa,
usr/src/cmd/zdb/zdb.c
5021
if (zap_contains(spa_meta_objset(spa), DMU_POOL_DIRECTORY_OBJECT,
usr/src/cmd/zdb/zdb.c
5059
spa_t *spa;
usr/src/cmd/zdb/zdb.c
5066
if ((spa = spa_lookup(target)) != NULL) {
usr/src/cmd/zdb/zdb.c
5067
spa->spa_import_flags |= ZFS_IMPORT_SKIP_MMP;
usr/src/cmd/zdb/zdb.c
5337
verify_checkpoint_blocks(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5351
checkpoint_pool = import_checkpointed_state(spa->spa_name, config,
usr/src/cmd/zdb/zdb.c
5353
ASSERT(strcmp(spa->spa_name, checkpoint_pool) != 0);
usr/src/cmd/zdb/zdb.c
5366
verify_checkpoint_vdev_spacemaps(checkpoint_spa, spa);
usr/src/cmd/zdb/zdb.c
5373
verify_checkpoint_ms_spacemaps(checkpoint_spa, spa);
usr/src/cmd/zdb/zdb.c
5383
dump_leftover_checkpoint_blocks(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5385
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
5396
if (zap_contains(spa_meta_objset(spa), vd->vdev_top_zap,
usr/src/cmd/zdb/zdb.c
5400
VERIFY0(zap_lookup(spa_meta_objset(spa), vd->vdev_top_zap,
usr/src/cmd/zdb/zdb.c
5404
VERIFY0(space_map_open(&checkpoint_sm, spa_meta_objset(spa),
usr/src/cmd/zdb/zdb.c
5406
dump_spacemap(spa->spa_meta_objset, checkpoint_sm);
usr/src/cmd/zdb/zdb.c
5412
verify_checkpoint(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5417
if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/cmd/zdb/zdb.c
5420
error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/cmd/zdb/zdb.c
5432
dump_leftover_checkpoint_blocks(spa);
usr/src/cmd/zdb/zdb.c
5448
verify_checkpoint_blocks(spa);
usr/src/cmd/zdb/zdb.c
5520
mos_leak_log_spacemaps(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5524
int error = zap_lookup(spa_meta_objset(spa),
usr/src/cmd/zdb/zdb.c
5532
for (spa_log_sm_t *sls = avl_first(&spa->spa_sm_logs_by_txg);
usr/src/cmd/zdb/zdb.c
5533
sls; sls = AVL_NEXT(&spa->spa_sm_logs_by_txg, sls))
usr/src/cmd/zdb/zdb.c
5538
dump_mos_leaks(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5541
objset_t *mos = spa->spa_meta_objset;
usr/src/cmd/zdb/zdb.c
5542
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/cmd/zdb/zdb.c
5547
mos_obj_refd(spa->spa_pool_props_object);
usr/src/cmd/zdb/zdb.c
5548
mos_obj_refd(spa->spa_config_object);
usr/src/cmd/zdb/zdb.c
5549
mos_obj_refd(spa->spa_ddt_stat_object);
usr/src/cmd/zdb/zdb.c
5550
mos_obj_refd(spa->spa_feat_desc_obj);
usr/src/cmd/zdb/zdb.c
5551
mos_obj_refd(spa->spa_feat_enabled_txg_obj);
usr/src/cmd/zdb/zdb.c
5552
mos_obj_refd(spa->spa_feat_for_read_obj);
usr/src/cmd/zdb/zdb.c
5553
mos_obj_refd(spa->spa_feat_for_write_obj);
usr/src/cmd/zdb/zdb.c
5554
mos_obj_refd(spa->spa_history);
usr/src/cmd/zdb/zdb.c
5555
mos_obj_refd(spa->spa_errlog_last);
usr/src/cmd/zdb/zdb.c
5556
mos_obj_refd(spa->spa_errlog_scrub);
usr/src/cmd/zdb/zdb.c
5557
mos_obj_refd(spa->spa_all_vdev_zaps);
usr/src/cmd/zdb/zdb.c
5558
mos_obj_refd(spa->spa_dsl_pool->dp_bptree_obj);
usr/src/cmd/zdb/zdb.c
5559
mos_obj_refd(spa->spa_dsl_pool->dp_tmp_userrefs_obj);
usr/src/cmd/zdb/zdb.c
5560
mos_obj_refd(spa->spa_dsl_pool->dp_scan->scn_phys.scn_queue_obj);
usr/src/cmd/zdb/zdb.c
5561
bpobj_count_refd(&spa->spa_deferred_bpobj);
usr/src/cmd/zdb/zdb.c
5565
mos_obj_refd(spa->spa_l2cache.sav_object);
usr/src/cmd/zdb/zdb.c
5566
mos_obj_refd(spa->spa_spares.sav_object);
usr/src/cmd/zdb/zdb.c
5568
if (spa->spa_syncing_log_sm != NULL)
usr/src/cmd/zdb/zdb.c
5569
mos_obj_refd(spa->spa_syncing_log_sm->sm_object);
usr/src/cmd/zdb/zdb.c
5570
mos_leak_log_spacemaps(spa);
usr/src/cmd/zdb/zdb.c
5572
mos_obj_refd(spa->spa_condensing_indirect_phys.
usr/src/cmd/zdb/zdb.c
5574
mos_obj_refd(spa->spa_condensing_indirect_phys.
usr/src/cmd/zdb/zdb.c
5576
if (spa->spa_condensing_indirect_phys.scip_next_mapping_object != 0) {
usr/src/cmd/zdb/zdb.c
5579
spa->spa_condensing_indirect_phys.scip_next_mapping_object);
usr/src/cmd/zdb/zdb.c
5605
mos_leak_vdev(spa->spa_root_vdev);
usr/src/cmd/zdb/zdb.c
5611
ddt_t *ddt = spa->spa_ddt[cksum];
usr/src/cmd/zdb/zdb.c
5660
log_spacemap_obsolete_stats_cb(spa_t *spa, space_map_entry_t *sme,
usr/src/cmd/zdb/zdb.c
5685
vdev_t *vd = vdev_lookup_top(spa, vdev_id);
usr/src/cmd/zdb/zdb.c
5700
dump_log_spacemap_obsolete_stats(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5702
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/cmd/zdb/zdb.c
5710
iterate_through_spacemap_logs(spa,
usr/src/cmd/zdb/zdb.c
5725
dump_zpool(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5727
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/cmd/zdb/zdb.c
5731
dump_simulated_ddt(spa);
usr/src/cmd/zdb/zdb.c
5737
dump_nvlist(spa->spa_config, 8);
usr/src/cmd/zdb/zdb.c
5741
dump_config(spa);
usr/src/cmd/zdb/zdb.c
5744
dump_uberblock(&spa->spa_uberblock, "\nUberblock:\n", "\n");
usr/src/cmd/zdb/zdb.c
5747
dump_all_ddts(spa);
usr/src/cmd/zdb/zdb.c
5750
dump_metaslabs(spa);
usr/src/cmd/zdb/zdb.c
5752
dump_metaslab_groups(spa);
usr/src/cmd/zdb/zdb.c
5754
dump_log_spacemaps(spa);
usr/src/cmd/zdb/zdb.c
5755
dump_log_spacemap_obsolete_stats(spa);
usr/src/cmd/zdb/zdb.c
5764
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/cmd/zdb/zdb.c
5765
dump_full_bpobj(&spa->spa_deferred_bpobj,
usr/src/cmd/zdb/zdb.c
5767
if (spa_version(spa) >= SPA_VERSION_DEADLISTS) {
usr/src/cmd/zdb/zdb.c
5772
ASSERT(spa_feature_is_enabled(spa,
usr/src/cmd/zdb/zdb.c
5778
if (spa_feature_is_active(spa,
usr/src/cmd/zdb/zdb.c
5780
dump_bptree(spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
5784
dump_dtl(spa->spa_root_vdev, 0);
usr/src/cmd/zdb/zdb.c
5786
(void) dmu_objset_find(spa_name(spa), dump_one_dir,
usr/src/cmd/zdb/zdb.c
5790
rc = dump_mos_leaks(spa);
usr/src/cmd/zdb/zdb.c
5797
!spa_feature_is_enabled(spa, f)) {
usr/src/cmd/zdb/zdb.c
5801
(void) feature_get_refcount(spa,
usr/src/cmd/zdb/zdb.c
5819
rc = verify_device_removal_feature_counts(spa);
usr/src/cmd/zdb/zdb.c
5823
rc = dump_block_stats(spa);
usr/src/cmd/zdb/zdb.c
5826
rc = verify_spacemap_refcounts(spa);
usr/src/cmd/zdb/zdb.c
5829
show_pool_stats(spa);
usr/src/cmd/zdb/zdb.c
5832
dump_history(spa);
usr/src/cmd/zdb/zdb.c
5835
rc = verify_checkpoint(spa);
usr/src/cmd/zdb/zdb.c
6007
zdb_read_block(char *thing, spa_t *spa)
usr/src/cmd/zdb/zdb.c
6075
vd = zdb_vdev_lookup(spa->spa_root_vdev, vdev);
usr/src/cmd/zdb/zdb.c
6113
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
6114
zio = zio_root(spa, NULL, NULL, 0);
usr/src/cmd/zdb/zdb.c
6120
zio_nowait(zio_read(zio, spa, bp, pabd, psize, NULL, NULL,
usr/src/cmd/zdb/zdb.c
6136
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/cmd/zdb/zdb.c
6247
spa_t *spa = NULL;
usr/src/cmd/zdb/zdb.c
6528
error = spa_open(checkpoint_pool, &spa, FTAG);
usr/src/cmd/zdb/zdb.c
6537
error = spa_open_rewind(target, &spa, FTAG, policy,
usr/src/cmd/zdb/zdb.c
6546
if ((spa = spa_lookup(target)) != NULL &&
usr/src/cmd/zdb/zdb.c
6547
spa->spa_log_state == SPA_LOG_MISSING) {
usr/src/cmd/zdb/zdb.c
6548
spa->spa_log_state = SPA_LOG_CLEAR;
usr/src/cmd/zdb/zdb.c
6554
error = spa_open_rewind(target, &spa,
usr/src/cmd/zdb/zdb.c
6585
dump_dir(spa->spa_meta_objset);
usr/src/cmd/zdb/zdb.c
6587
dump_zpool(spa);
usr/src/cmd/zdb/zdb.c
6600
zdb_read_block(argv[i], spa);
usr/src/cmd/zdb/zdb.c
6612
spa_close(spa, FTAG);
usr/src/cmd/zdb/zdb.c
734
get_prev_obsolete_spacemap_refcount(spa_t *spa)
usr/src/cmd/zdb/zdb.c
737
spa->spa_condensing_indirect_phys.scip_prev_obsolete_sm_object;
usr/src/cmd/zdb/zdb.c
740
VERIFY0(dmu_object_info(spa->spa_meta_objset, prev_obj, &doi));
usr/src/cmd/zdb/zdb.c
765
get_log_spacemap_refcount(spa_t *spa)
usr/src/cmd/zdb/zdb.c
767
return (avl_numnodes(&spa->spa_sm_logs_by_txg));
usr/src/cmd/zdb/zdb.c
771
verify_spacemap_refcounts(spa_t *spa)
usr/src/cmd/zdb/zdb.c
776
(void) feature_get_refcount(spa,
usr/src/cmd/zdb/zdb.c
779
actual_refcount = get_dtl_refcount(spa->spa_root_vdev);
usr/src/cmd/zdb/zdb.c
780
actual_refcount += get_metaslab_refcount(spa->spa_root_vdev);
usr/src/cmd/zdb/zdb.c
781
actual_refcount += get_obsolete_refcount(spa->spa_root_vdev);
usr/src/cmd/zdb/zdb.c
782
actual_refcount += get_prev_obsolete_spacemap_refcount(spa);
usr/src/cmd/zdb/zdb.c
783
actual_refcount += get_checkpoint_refcount(spa->spa_root_vdev);
usr/src/cmd/zdb/zdb.c
784
actual_refcount += get_log_spacemap_refcount(spa);
usr/src/cmd/zdb/zdb.c
914
spa_t *spa = vd->vdev_spa;
usr/src/cmd/zdb/zdb.c
936
spa_feature_is_active(spa, SPA_FEATURE_SPACEMAP_HISTOGRAM)) {
usr/src/cmd/zdb/zdb.c
948
dump_spacemap(spa->spa_meta_objset, msp->ms_sm);
usr/src/cmd/zdb/zdb.c
950
if (spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP)) {
usr/src/cmd/zdb/zdb.c
997
dump_metaslab_groups(spa_t *spa)
usr/src/cmd/zdb/zdb.c
999
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zhack/zhack.c
162
zhack_spa_open(char *target, boolean_t readonly, void *tag, spa_t **spa)
usr/src/cmd/zhack/zhack.c
169
err = spa_open(target, spa, tag);
usr/src/cmd/zhack/zhack.c
173
fatal(*spa, FTAG, "cannot open '%s': %s", target,
usr/src/cmd/zhack/zhack.c
175
if (spa_version(*spa) < SPA_VERSION_FEATURES) {
usr/src/cmd/zhack/zhack.c
176
fatal(*spa, FTAG, "'%s' has version %d, features not enabled",
usr/src/cmd/zhack/zhack.c
177
target, (int)spa_version(*spa));
usr/src/cmd/zhack/zhack.c
208
dump_mos(spa_t *spa)
usr/src/cmd/zhack/zhack.c
210
nvlist_t *nv = spa->spa_label_features;
usr/src/cmd/zhack/zhack.c
223
spa_t *spa;
usr/src/cmd/zhack/zhack.c
236
zhack_spa_open(target, B_TRUE, FTAG, &spa);
usr/src/cmd/zhack/zhack.c
237
os = spa->spa_meta_objset;
usr/src/cmd/zhack/zhack.c
239
dump_obj(os, spa->spa_feat_for_read_obj, "for_read");
usr/src/cmd/zhack/zhack.c
240
dump_obj(os, spa->spa_feat_for_write_obj, "for_write");
usr/src/cmd/zhack/zhack.c
241
dump_obj(os, spa->spa_feat_desc_obj, "descriptions");
usr/src/cmd/zhack/zhack.c
242
if (spa_feature_is_active(spa, SPA_FEATURE_ENABLED_TXG)) {
usr/src/cmd/zhack/zhack.c
243
dump_obj(os, spa->spa_feat_enabled_txg_obj, "enabled_txg");
usr/src/cmd/zhack/zhack.c
245
dump_mos(spa);
usr/src/cmd/zhack/zhack.c
247
spa_close(spa, FTAG);
usr/src/cmd/zhack/zhack.c
253
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/cmd/zhack/zhack.c
256
feature_enable_sync(spa, feature, tx);
usr/src/cmd/zhack/zhack.c
258
spa_history_log_internal(spa, "zhack enable feature", tx,
usr/src/cmd/zhack/zhack.c
268
spa_t *spa;
usr/src/cmd/zhack/zhack.c
315
zhack_spa_open(target, B_FALSE, FTAG, &spa);
usr/src/cmd/zhack/zhack.c
316
mos = spa->spa_meta_objset;
usr/src/cmd/zhack/zhack.c
319
fatal(spa, FTAG, "'%s' is a real feature, will not enable");
usr/src/cmd/zhack/zhack.c
320
if (0 == zap_contains(mos, spa->spa_feat_desc_obj, feature.fi_guid))
usr/src/cmd/zhack/zhack.c
321
fatal(spa, FTAG, "feature already enabled: %s",
usr/src/cmd/zhack/zhack.c
324
VERIFY0(dsl_sync_task(spa_name(spa), NULL,
usr/src/cmd/zhack/zhack.c
327
spa_close(spa, FTAG);
usr/src/cmd/zhack/zhack.c
335
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/cmd/zhack/zhack.c
339
VERIFY0(feature_get_refcount_from_disk(spa, feature, &refcount));
usr/src/cmd/zhack/zhack.c
340
feature_sync(spa, feature, refcount + 1, tx);
usr/src/cmd/zhack/zhack.c
341
spa_history_log_internal(spa, "zhack feature incr", tx,
usr/src/cmd/zhack/zhack.c
348
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/cmd/zhack/zhack.c
352
VERIFY0(feature_get_refcount_from_disk(spa, feature, &refcount));
usr/src/cmd/zhack/zhack.c
353
feature_sync(spa, feature, refcount - 1, tx);
usr/src/cmd/zhack/zhack.c
354
spa_history_log_internal(spa, "zhack feature decr", tx,
usr/src/cmd/zhack/zhack.c
364
spa_t *spa;
usr/src/cmd/zhack/zhack.c
408
zhack_spa_open(target, B_FALSE, FTAG, &spa);
usr/src/cmd/zhack/zhack.c
409
mos = spa->spa_meta_objset;
usr/src/cmd/zhack/zhack.c
412
fatal(spa, FTAG,
usr/src/cmd/zhack/zhack.c
416
if (0 == zap_contains(mos, spa->spa_feat_for_read_obj,
usr/src/cmd/zhack/zhack.c
419
} else if (0 == zap_contains(mos, spa->spa_feat_for_write_obj,
usr/src/cmd/zhack/zhack.c
423
fatal(spa, FTAG, "feature is not enabled: %s", feature.fi_guid);
usr/src/cmd/zhack/zhack.c
428
if (feature_get_refcount_from_disk(spa, &feature,
usr/src/cmd/zhack/zhack.c
430
fatal(spa, FTAG, "feature refcount already 0: %s",
usr/src/cmd/zhack/zhack.c
435
VERIFY0(dsl_sync_task(spa_name(spa), NULL,
usr/src/cmd/zhack/zhack.c
439
spa_close(spa, FTAG);
usr/src/cmd/zhack/zhack.c
86
fatal(spa_t *spa, void *tag, const char *fmt, ...)
usr/src/cmd/zhack/zhack.c
90
if (spa != NULL) {
usr/src/cmd/zhack/zhack.c
91
spa_close(spa, tag);
usr/src/cmd/ztest/ztest.c
1143
ztest_random_vdev_top(spa_t *spa, boolean_t log_ok)
usr/src/cmd/ztest/ztest.c
1146
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/ztest/ztest.c
1149
ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
usr/src/cmd/ztest/ztest.c
1205
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
1212
error = spa_prop_set(spa, props);
usr/src/cmd/ztest/ztest.c
2600
spa_t *spa;
usr/src/cmd/ztest/ztest.c
2631
VERIFY3U(0, ==, spa_open(zo->zo_pool, &spa, FTAG));
usr/src/cmd/ztest/ztest.c
2633
spa_close(spa, FTAG);
usr/src/cmd/ztest/ztest.c
2647
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
2656
if (spa_suspended(spa))
usr/src/cmd/ztest/ztest.c
2659
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/cmd/ztest/ztest.c
2660
mutex_enter(&spa->spa_props_lock);
usr/src/cmd/ztest/ztest.c
2664
if (!spa_multihost(spa)) {
usr/src/cmd/ztest/ztest.c
2665
spa->spa_multihost = B_TRUE;
usr/src/cmd/ztest/ztest.c
2666
mmp_thread_start(spa);
usr/src/cmd/ztest/ztest.c
2669
mutex_exit(&spa->spa_props_lock);
usr/src/cmd/ztest/ztest.c
2670
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/cmd/ztest/ztest.c
2672
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/cmd/ztest/ztest.c
2674
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/cmd/ztest/ztest.c
2676
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/cmd/ztest/ztest.c
2677
mutex_enter(&spa->spa_props_lock);
usr/src/cmd/ztest/ztest.c
2679
if (spa_multihost(spa)) {
usr/src/cmd/ztest/ztest.c
2680
mmp_thread_stop(spa);
usr/src/cmd/ztest/ztest.c
2681
spa->spa_multihost = B_FALSE;
usr/src/cmd/ztest/ztest.c
2684
mutex_exit(&spa->spa_props_lock);
usr/src/cmd/ztest/ztest.c
2685
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/cmd/ztest/ztest.c
2692
spa_t *spa;
usr/src/cmd/ztest/ztest.c
2744
VERIFY0(spa_open(name, &spa, FTAG));
usr/src/cmd/ztest/ztest.c
2745
VERIFY3U(spa_version(spa), ==, version);
usr/src/cmd/ztest/ztest.c
2753
spa_upgrade(spa, newversion);
usr/src/cmd/ztest/ztest.c
2754
VERIFY3U(spa_version(spa), >, version);
usr/src/cmd/ztest/ztest.c
2755
VERIFY3U(spa_version(spa), ==, fnvlist_lookup_uint64(spa->spa_config,
usr/src/cmd/ztest/ztest.c
2757
spa_close(spa, FTAG);
usr/src/cmd/ztest/ztest.c
2764
ztest_spa_checkpoint(spa_t *spa)
usr/src/cmd/ztest/ztest.c
2768
int error = spa_checkpoint(spa->spa_name);
usr/src/cmd/ztest/ztest.c
2780
fatal(0, "spa_checkpoint(%s) = %d", spa->spa_name, error);
usr/src/cmd/ztest/ztest.c
2785
ztest_spa_discard_checkpoint(spa_t *spa)
usr/src/cmd/ztest/ztest.c
2789
int error = spa_checkpoint_discard(spa->spa_name);
usr/src/cmd/ztest/ztest.c
2798
spa->spa_name, error);
usr/src/cmd/ztest/ztest.c
2807
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
2811
ztest_spa_checkpoint(spa);
usr/src/cmd/ztest/ztest.c
2813
ztest_spa_discard_checkpoint(spa);
usr/src/cmd/ztest/ztest.c
2836
spa_num_top_vdevs(spa_t *spa)
usr/src/cmd/ztest/ztest.c
2838
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/ztest/ztest.c
2839
ASSERT3U(spa_config_held(spa, SCL_VDEV, RW_READER), ==, SCL_VDEV);
usr/src/cmd/ztest/ztest.c
2851
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
2863
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/cmd/ztest/ztest.c
2865
ztest_shared->zs_vdev_next_leaf = spa_num_top_vdevs(spa) * leaves;
usr/src/cmd/ztest/ztest.c
2870
if (spa_has_slogs(spa) && ztest_random(4) == 0) {
usr/src/cmd/ztest/ztest.c
2876
mg = spa_log_class(spa)->mc_rotor;
usr/src/cmd/ztest/ztest.c
2882
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/ztest/ztest.c
2893
error = spa_vdev_remove(spa, guid, B_FALSE);
usr/src/cmd/ztest/ztest.c
2906
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/ztest/ztest.c
2915
error = spa_vdev_add(spa, nvroot);
usr/src/cmd/ztest/ztest.c
2937
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
2962
if (!spa_feature_is_enabled(spa, SPA_FEATURE_ALLOCATION_CLASSES)) {
usr/src/cmd/ztest/ztest.c
2969
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/cmd/ztest/ztest.c
2970
ztest_shared->zs_vdev_next_leaf = spa_num_top_vdevs(spa) * leaves;
usr/src/cmd/ztest/ztest.c
2971
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/ztest/ztest.c
2976
error = spa_vdev_add(spa, nvroot);
usr/src/cmd/ztest/ztest.c
2988
spa_special_class(spa)->mc_groups == 1 && ztest_random(2) == 0) {
usr/src/cmd/ztest/ztest.c
3001
mc = spa_special_class(spa);
usr/src/cmd/ztest/ztest.c
3003
mc = spa_dedup_class(spa);
usr/src/cmd/ztest/ztest.c
3017
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
3018
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/ztest/ztest.c
3028
sav = &spa->spa_spares;
usr/src/cmd/ztest/ztest.c
3031
sav = &spa->spa_l2cache;
usr/src/cmd/ztest/ztest.c
3037
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/cmd/ztest/ztest.c
3066
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/ztest/ztest.c
3074
error = spa_vdev_add(spa, nvroot);
usr/src/cmd/ztest/ztest.c
3090
(void) vdev_online(spa, guid, 0, NULL);
usr/src/cmd/ztest/ztest.c
3092
error = spa_vdev_remove(spa, guid, B_FALSE);
usr/src/cmd/ztest/ztest.c
3116
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
3117
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/ztest/ztest.c
3136
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/cmd/ztest/ztest.c
3139
mutex_enter(&spa->spa_props_lock);
usr/src/cmd/ztest/ztest.c
3140
VERIFY(nvlist_lookup_nvlist(spa->spa_config, ZPOOL_CONFIG_VDEV_TREE,
usr/src/cmd/ztest/ztest.c
3142
mutex_exit(&spa->spa_props_lock);
usr/src/cmd/ztest/ztest.c
3186
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/ztest/ztest.c
3189
error = spa_vdev_split_mirror(spa, "splitp", config, NULL, B_FALSE);
usr/src/cmd/ztest/ztest.c
3197
show_pool_stats(spa);
usr/src/cmd/ztest/ztest.c
3214
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
3215
spa_aux_vdev_t *sav = &spa->spa_spares;
usr/src/cmd/ztest/ztest.c
3216
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/ztest/ztest.c
3237
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/cmd/ztest/ztest.c
3246
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/cmd/ztest/ztest.c
3259
top = ztest_random_vdev_top(spa, B_TRUE);
usr/src/cmd/ztest/ztest.c
3306
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/cmd/ztest/ztest.c
3307
error = spa_vdev_detach(spa, oldguid, pguid, B_FALSE);
usr/src/cmd/ztest/ztest.c
3375
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/cmd/ztest/ztest.c
3383
error = spa_vdev_attach(spa, oldguid, root, replacing);
usr/src/cmd/ztest/ztest.c
3421
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
3436
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/cmd/ztest/ztest.c
3437
vd = vdev_lookup_top(spa, ztest_random_vdev_top(spa, B_FALSE));
usr/src/cmd/ztest/ztest.c
3439
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/ztest/ztest.c
3441
error = spa_vdev_remove(spa, guid, B_FALSE);
usr/src/cmd/ztest/ztest.c
3446
while (spa->spa_vdev_removal != NULL)
usr/src/cmd/ztest/ztest.c
3447
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/cmd/ztest/ztest.c
3459
error = spa_scan(spa, POOL_SCAN_SCRUB);
usr/src/cmd/ztest/ztest.c
3461
while (dsl_scan_scrubbing(spa_get_dsl(spa)))
usr/src/cmd/ztest/ztest.c
3462
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/cmd/ztest/ztest.c
3476
spa_t *spa = vd->vdev_spa;
usr/src/cmd/ztest/ztest.c
3481
ASSERT(spa_config_held(spa, SCL_STATE, RW_READER) == SCL_STATE);
usr/src/cmd/ztest/ztest.c
3505
spa_t *spa = vd->vdev_spa;
usr/src/cmd/ztest/ztest.c
3508
uint64_t generation = spa->spa_config_generation + 1;
usr/src/cmd/ztest/ztest.c
3512
ASSERT(spa_config_held(spa, SCL_STATE, RW_READER) == SCL_STATE);
usr/src/cmd/ztest/ztest.c
3516
spa_config_exit(spa, SCL_STATE, spa);
usr/src/cmd/ztest/ztest.c
3517
error = vdev_online(spa, guid, ZFS_ONLINE_EXPAND, &newstate);
usr/src/cmd/ztest/ztest.c
3518
spa_config_enter(spa, SCL_STATE, spa, RW_READER);
usr/src/cmd/ztest/ztest.c
3540
if (generation != spa->spa_config_generation) {
usr/src/cmd/ztest/ztest.c
3548
(u_longlong_t)spa->spa_config_generation);
usr/src/cmd/ztest/ztest.c
3587
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
3597
spa_config_enter(spa, SCL_STATE, spa, RW_READER);
usr/src/cmd/ztest/ztest.c
3606
spa_config_exit(spa, SCL_STATE, spa);
usr/src/cmd/ztest/ztest.c
3612
top = ztest_random_vdev_top(spa, B_TRUE);
usr/src/cmd/ztest/ztest.c
3614
tvd = spa->spa_root_vdev->vdev_child[top];
usr/src/cmd/ztest/ztest.c
3636
spa_config_exit(spa, SCL_STATE, spa);
usr/src/cmd/ztest/ztest.c
3662
spa_config_exit(spa, SCL_STATE, spa);
usr/src/cmd/ztest/ztest.c
3668
spa_config_exit(spa, SCL_STATE, spa);
usr/src/cmd/ztest/ztest.c
3677
mutex_enter(&spa->spa_async_lock);
usr/src/cmd/ztest/ztest.c
3678
done = (spa->spa_async_thread == NULL && !spa->spa_async_tasks);
usr/src/cmd/ztest/ztest.c
3679
mutex_exit(&spa->spa_async_lock);
usr/src/cmd/ztest/ztest.c
3682
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/cmd/ztest/ztest.c
3686
spa_config_enter(spa, SCL_STATE, spa, RW_READER);
usr/src/cmd/ztest/ztest.c
3688
tvd = spa->spa_root_vdev->vdev_child[top];
usr/src/cmd/ztest/ztest.c
3697
spa_config_exit(spa, SCL_STATE, spa);
usr/src/cmd/ztest/ztest.c
3725
spa->spa_name, oldnumbuf, newnumbuf);
usr/src/cmd/ztest/ztest.c
3728
spa_config_exit(spa, SCL_STATE, spa);
usr/src/cmd/ztest/ztest.c
5641
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
5689
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/cmd/ztest/ztest.c
5695
top = ztest_random_vdev_top(spa, B_TRUE);
usr/src/cmd/ztest/ztest.c
5711
vd0 = vdev_lookup_by_path(spa->spa_root_vdev, path0);
usr/src/cmd/ztest/ztest.c
5752
spa_aux_vdev_t *sav = &spa->spa_l2cache;
usr/src/cmd/ztest/ztest.c
5755
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/cmd/ztest/ztest.c
5769
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/cmd/ztest/ztest.c
5792
VERIFY(vdev_offline(spa, guid0, flags) != EBUSY);
usr/src/cmd/ztest/ztest.c
5807
(void) vdev_online(spa, guid0, 0, NULL);
usr/src/cmd/ztest/ztest.c
5908
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
5912
enum zio_checksum checksum = spa_dedup_checksum(spa);
usr/src/cmd/ztest/ztest.c
5982
txg_wait_synced(spa_get_dsl(spa), txg);
usr/src/cmd/ztest/ztest.c
5999
(void) zio_wait(zio_rewrite(NULL, spa, 0, &blk,
usr/src/cmd/ztest/ztest.c
6015
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
6023
(void) spa_scan(spa, POOL_SCAN_SCRUB);
usr/src/cmd/ztest/ztest.c
6025
(void) spa_scan(spa, POOL_SCAN_SCRUB);
usr/src/cmd/ztest/ztest.c
6035
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
6042
orig = spa_guid(spa);
usr/src/cmd/ztest/ztest.c
6043
load = spa_load_guid(spa);
usr/src/cmd/ztest/ztest.c
6046
error = spa_change_guid(spa);
usr/src/cmd/ztest/ztest.c
6054
(u_longlong_t)orig, (u_longlong_t)spa_guid(spa));
usr/src/cmd/ztest/ztest.c
6057
VERIFY3U(orig, !=, spa_guid(spa));
usr/src/cmd/ztest/ztest.c
6058
VERIFY3U(load, ==, spa_load_guid(spa));
usr/src/cmd/ztest/ztest.c
6091
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
6096
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/cmd/ztest/ztest.c
6099
vdev_t *rand_vd = ztest_random_concrete_vdev_leaf(spa->spa_root_vdev);
usr/src/cmd/ztest/ztest.c
6101
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/ztest/ztest.c
6116
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/ztest/ztest.c
6123
error = spa_vdev_initialize(spa, vdev_guids, cmd, vdev_errlist);
usr/src/cmd/ztest/ztest.c
6163
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
6168
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/cmd/ztest/ztest.c
6171
vdev_t *rand_vd = ztest_random_concrete_vdev_leaf(spa->spa_root_vdev);
usr/src/cmd/ztest/ztest.c
6173
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/ztest/ztest.c
6188
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/ztest/ztest.c
6198
error = spa_vdev_trim(spa, vdev_guids, cmd, rate, partial,
usr/src/cmd/ztest/ztest.c
6278
spa_t *spa = NULL;
usr/src/cmd/ztest/ztest.c
6284
while ((spa = spa_next(spa)) != NULL)
usr/src/cmd/ztest/ztest.c
6286
(void) printf("\t%s\n", spa_name(spa));
usr/src/cmd/ztest/ztest.c
6295
spa_t *spa;
usr/src/cmd/ztest/ztest.c
6311
VERIFY3U(0, ==, spa_open(oldname, &spa, FTAG));
usr/src/cmd/ztest/ztest.c
6317
(void) spa_scan(spa, POOL_SCAN_SCRUB);
usr/src/cmd/ztest/ztest.c
6319
pool_guid = spa_guid(spa);
usr/src/cmd/ztest/ztest.c
6320
spa_close(spa, FTAG);
usr/src/cmd/ztest/ztest.c
6363
VERIFY3U(ENOENT, ==, spa_open(oldname, &spa, FTAG));
usr/src/cmd/ztest/ztest.c
6368
VERIFY3U(0, ==, spa_open(newname, &spa, FTAG));
usr/src/cmd/ztest/ztest.c
6369
ASSERT(pool_guid == spa_guid(spa));
usr/src/cmd/ztest/ztest.c
6370
spa_close(spa, FTAG);
usr/src/cmd/ztest/ztest.c
6376
ztest_resume(spa_t *spa)
usr/src/cmd/ztest/ztest.c
6378
if (spa_suspended(spa) && ztest_opts.zo_verbose >= 6)
usr/src/cmd/ztest/ztest.c
6380
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/cmd/ztest/ztest.c
6381
vdev_clear(spa, NULL);
usr/src/cmd/ztest/ztest.c
6382
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/cmd/ztest/ztest.c
6383
(void) zio_resume(spa);
usr/src/cmd/ztest/ztest.c
6389
spa_t *spa = arg;
usr/src/cmd/ztest/ztest.c
6392
if (spa_suspended(spa))
usr/src/cmd/ztest/ztest.c
6393
ztest_resume(spa);
usr/src/cmd/ztest/ztest.c
6415
spa_t *spa = ztest_spa;
usr/src/cmd/ztest/ztest.c
6430
if (spa_suspended(spa) || spa->spa_root_vdev == NULL) {
usr/src/cmd/ztest/ztest.c
6436
vdev_deadman(spa->spa_root_vdev);
usr/src/cmd/ztest/ztest.c
6636
spa_t *spa;
usr/src/cmd/ztest/ztest.c
6669
VERIFY0(spa_open(ztest_opts.zo_pool, &spa, FTAG));
usr/src/cmd/ztest/ztest.c
6671
ztest_spa = spa;
usr/src/cmd/ztest/ztest.c
6682
spa->spa_dedup_ditto = 2 * ZIO_DEDUPDITTO_MIN;
usr/src/cmd/ztest/ztest.c
6690
spa->spa_failmode = ZIO_FAILURE_MODE_WAIT;
usr/src/cmd/ztest/ztest.c
6692
spa->spa_failmode = ZIO_FAILURE_MODE_PANIC;
usr/src/cmd/ztest/ztest.c
6697
VERIFY(thr_create(0, 0, ztest_resume_thread, spa, THR_BOUND,
usr/src/cmd/ztest/ztest.c
6714
error = dmu_object_info(spa->spa_meta_objset,
usr/src/cmd/ztest/ztest.c
6757
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/cmd/ztest/ztest.c
6759
zs->zs_alloc = metaslab_class_get_alloc(spa_normal_class(spa));
usr/src/cmd/ztest/ztest.c
6760
zs->zs_space = metaslab_class_get_space(spa_normal_class(spa));
usr/src/cmd/ztest/ztest.c
6768
ztest_resume(spa);
usr/src/cmd/ztest/ztest.c
6775
dmu_prefetch(spa->spa_meta_objset, object, 0, 0, 1ULL << 20,
usr/src/cmd/ztest/ztest.c
6779
spa_close(spa, FTAG);
usr/src/cmd/ztest/ztest.c
6785
for (spa = spa_next(NULL); spa != NULL; spa = spa_next(spa))
usr/src/cmd/ztest/ztest.c
6787
(void) printf("spa_next: found %s\n", spa_name(spa));
usr/src/cmd/ztest/ztest.c
6817
spa_t *spa;
usr/src/cmd/ztest/ztest.c
6824
VERIFY3U(0, ==, spa_open(ztest_opts.zo_pool, &spa, FTAG));
usr/src/cmd/ztest/ztest.c
6826
ztest_spa = spa;
usr/src/cmd/ztest/ztest.c
6838
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/cmd/ztest/ztest.c
6844
spa_freeze(spa);
usr/src/cmd/ztest/ztest.c
6851
uint64_t capacity = metaslab_class_get_space(spa_normal_class(spa)) / 2;
usr/src/cmd/ztest/ztest.c
6865
metaslab_class_get_alloc(spa_normal_class(spa)) < capacity) {
usr/src/cmd/ztest/ztest.c
6871
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/cmd/ztest/ztest.c
6878
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/cmd/ztest/ztest.c
6884
spa_close(spa, FTAG);
usr/src/cmd/ztest/ztest.c
6891
VERIFY3U(0, ==, spa_open(ztest_opts.zo_pool, &spa, FTAG));
usr/src/cmd/ztest/ztest.c
6892
ASSERT(spa_freeze_txg(spa) == UINT64_MAX);
usr/src/cmd/ztest/ztest.c
6894
ztest_spa = spa;
usr/src/cmd/ztest/ztest.c
6895
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/cmd/ztest/ztest.c
6899
spa_close(spa, FTAG);
usr/src/cmd/ztest/ztest.c
6949
spa_t *spa;
usr/src/cmd/ztest/ztest.c
6973
VERIFY0(spa_open(name, &spa, FTAG));
usr/src/cmd/ztest/ztest.c
6975
1ULL << spa->spa_root_vdev->vdev_child[0]->vdev_ms_shift;
usr/src/cmd/ztest/ztest.c
6976
spa_close(spa, FTAG);
usr/src/cmd/ztest/ztest.c
6997
spa_t *spa;
usr/src/cmd/ztest/ztest.c
7036
VERIFY3U(0, ==, spa_open(ztest_opts.zo_pool, &spa, FTAG));
usr/src/cmd/ztest/ztest.c
7038
1ULL << spa->spa_root_vdev->vdev_child[0]->vdev_ms_shift;
usr/src/cmd/ztest/ztest.c
7040
spa_close(spa, FTAG);
usr/src/lib/libzpool/common/sys/zfs_context.h
303
struct spa;
usr/src/lib/libzpool/common/sys/zfs_context.h
304
extern void show_pool_stats(struct spa *);
usr/src/lib/libzpool/common/util.c
133
show_pool_stats(spa_t *spa)
usr/src/lib/libzpool/common/util.c
138
VERIFY(spa_get_stats(spa_name(spa), &config, NULL, 0) == 0);
usr/src/uts/common/fs/zfs/arc.c
1629
arc_hdr_authenticate(arc_buf_hdr_t *hdr, spa_t *spa, uint64_t dsobj)
usr/src/uts/common/fs/zfs/arc.c
1669
ret = spa_do_crypt_objset_mac_abd(B_FALSE, spa, dsobj, abd,
usr/src/uts/common/fs/zfs/arc.c
1672
ret = spa_do_crypt_mac_abd(B_FALSE, spa, dsobj, abd, psize,
usr/src/uts/common/fs/zfs/arc.c
1700
arc_hdr_decrypt(arc_buf_hdr_t *hdr, spa_t *spa, const zbookmark_phys_t *zb)
usr/src/uts/common/fs/zfs/arc.c
1713
ret = spa_do_crypt_abd(B_FALSE, spa, zb, hdr->b_crypt_hdr.b_ot,
usr/src/uts/common/fs/zfs/arc.c
1771
arc_fill_hdr_crypt(arc_buf_hdr_t *hdr, kmutex_t *hash_lock, spa_t *spa,
usr/src/uts/common/fs/zfs/arc.c
1786
ret = arc_hdr_authenticate(hdr, spa, zb->zb_objset);
usr/src/uts/common/fs/zfs/arc.c
1795
ret = arc_hdr_decrypt(hdr, spa, zb);
usr/src/uts/common/fs/zfs/arc.c
1852
arc_buf_fill(arc_buf_t *buf, spa_t *spa, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/arc.c
1891
error = arc_fill_hdr_crypt(hdr, hash_lock, spa,
usr/src/uts/common/fs/zfs/arc.c
2034
arc_untransform(arc_buf_t *buf, spa_t *spa, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/arc.c
2043
ret = arc_buf_fill(buf, spa, zb, flags);
usr/src/uts/common/fs/zfs/arc.c
2050
spa_log_error(spa, zb);
usr/src/uts/common/fs/zfs/arc.c
2052
spa, NULL, zb, NULL, 0, 0);
usr/src/uts/common/fs/zfs/arc.c
2537
arc_buf_alloc_impl(arc_buf_hdr_t *hdr, spa_t *spa, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/arc.c
2625
return (arc_buf_fill(buf, spa, zb, flags));
usr/src/uts/common/fs/zfs/arc.c
2649
arc_loan_buf(spa_t *spa, boolean_t is_metadata, int size)
usr/src/uts/common/fs/zfs/arc.c
2651
arc_buf_t *buf = arc_alloc_buf(spa, arc_onloan_tag,
usr/src/uts/common/fs/zfs/arc.c
2660
arc_loan_compressed_buf(spa_t *spa, uint64_t psize, uint64_t lsize,
usr/src/uts/common/fs/zfs/arc.c
2663
arc_buf_t *buf = arc_alloc_compressed_buf(spa, arc_onloan_tag,
usr/src/uts/common/fs/zfs/arc.c
2672
arc_loan_raw_buf(spa_t *spa, uint64_t dsobj, boolean_t byteorder,
usr/src/uts/common/fs/zfs/arc.c
2677
arc_buf_t *buf = arc_alloc_raw_buf(spa, arc_onloan_tag, dsobj,
usr/src/uts/common/fs/zfs/arc.c
3102
arc_hdr_alloc(uint64_t spa, int32_t psize, int32_t lsize,
usr/src/uts/common/fs/zfs/arc.c
3121
hdr->b_spa = spa;
usr/src/uts/common/fs/zfs/arc.c
3438
arc_alloc_buf(spa_t *spa, void *tag, arc_buf_contents_t type, int32_t size)
usr/src/uts/common/fs/zfs/arc.c
3440
arc_buf_hdr_t *hdr = arc_hdr_alloc(spa_load_guid(spa), size, size,
usr/src/uts/common/fs/zfs/arc.c
3444
VERIFY0(arc_buf_alloc_impl(hdr, spa, NULL, tag, B_FALSE, B_FALSE,
usr/src/uts/common/fs/zfs/arc.c
3494
arc_alloc_compressed_buf(spa_t *spa, void *tag, uint64_t psize, uint64_t lsize,
usr/src/uts/common/fs/zfs/arc.c
3502
arc_buf_hdr_t *hdr = arc_hdr_alloc(spa_load_guid(spa), psize, lsize,
usr/src/uts/common/fs/zfs/arc.c
3506
VERIFY0(arc_buf_alloc_impl(hdr, spa, NULL, tag, B_FALSE,
usr/src/uts/common/fs/zfs/arc.c
3527
arc_alloc_raw_buf(spa_t *spa, void *tag, uint64_t dsobj, boolean_t byteorder,
usr/src/uts/common/fs/zfs/arc.c
3542
hdr = arc_hdr_alloc(spa_load_guid(spa), psize, lsize, B_TRUE,
usr/src/uts/common/fs/zfs/arc.c
3559
VERIFY0(arc_buf_alloc_impl(hdr, spa, NULL, tag, B_TRUE, B_TRUE,
usr/src/uts/common/fs/zfs/arc.c
3909
uint64_t spa, int64_t bytes)
usr/src/uts/common/fs/zfs/arc.c
3954
if (spa != 0 && hdr->b_spa != spa) {
usr/src/uts/common/fs/zfs/arc.c
4033
arc_evict_state(arc_state_t *state, uint64_t spa, int64_t bytes,
usr/src/uts/common/fs/zfs/arc.c
4095
markers[sublist_idx], spa, bytes_remaining);
usr/src/uts/common/fs/zfs/arc.c
4157
arc_flush_state(arc_state_t *state, uint64_t spa, arc_buf_contents_t type,
usr/src/uts/common/fs/zfs/arc.c
4163
evicted += arc_evict_state(state, spa, ARC_EVICT_ALL, type);
usr/src/uts/common/fs/zfs/arc.c
4181
arc_adjust_impl(arc_state_t *state, uint64_t spa, int64_t bytes,
usr/src/uts/common/fs/zfs/arc.c
4189
return (arc_evict_state(state, spa, delta, type));
usr/src/uts/common/fs/zfs/arc.c
4455
arc_flush(spa_t *spa, boolean_t retry)
usr/src/uts/common/fs/zfs/arc.c
4464
ASSERT(!retry || spa == 0);
usr/src/uts/common/fs/zfs/arc.c
4466
if (spa != NULL)
usr/src/uts/common/fs/zfs/arc.c
4467
guid = spa_load_guid(spa);
usr/src/uts/common/fs/zfs/arc.c
5346
arc_hdr_verify_checksum(spa_t *spa, arc_buf_hdr_t *hdr, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/arc.c
5367
err = zio_checksum_error_impl(spa, bp,
usr/src/uts/common/fs/zfs/arc.c
5627
arc_read(zio_t *pio, spa_t *spa, const blkptr_t *bp, arc_read_done_func_t *done,
usr/src/uts/common/fs/zfs/arc.c
5634
uint64_t guid = spa_load_guid(spa);
usr/src/uts/common/fs/zfs/arc.c
5707
spa, NULL, NULL, NULL, zio_flags);
usr/src/uts/common/fs/zfs/arc.c
5748
arc_hdr_verify_checksum(spa, hdr, bp);
usr/src/uts/common/fs/zfs/arc.c
5751
rc = arc_buf_alloc_impl(hdr, spa, zb, private,
usr/src/uts/common/fs/zfs/arc.c
5762
spa_log_error(spa, zb);
usr/src/uts/common/fs/zfs/arc.c
5765
spa, NULL, zb, NULL, 0, 0);
usr/src/uts/common/fs/zfs/arc.c
5814
hdr = arc_hdr_alloc(spa_load_guid(spa), psize, lsize,
usr/src/uts/common/fs/zfs/arc.c
5946
!spa_config_tryenter(spa, SCL_L2ARC, vd, RW_READER))
usr/src/uts/common/fs/zfs/arc.c
6069
spa_config_exit(spa, SCL_L2ARC, vd);
usr/src/uts/common/fs/zfs/arc.c
6073
spa_config_exit(spa, SCL_L2ARC, vd);
usr/src/uts/common/fs/zfs/arc.c
6081
rzio = zio_read(pio, spa, bp, hdr_abd, size,
usr/src/uts/common/fs/zfs/arc.c
6101
arc_freed(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/arc.c
6105
uint64_t guid = spa_load_guid(spa);
usr/src/uts/common/fs/zfs/arc.c
6248
uint64_t spa = hdr->b_spa;
usr/src/uts/common/fs/zfs/arc.c
6343
nhdr = arc_hdr_alloc(spa, psize, lsize, protected,
usr/src/uts/common/fs/zfs/arc.c
6659
arc_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, arc_buf_t *buf,
usr/src/uts/common/fs/zfs/arc.c
6741
zio = zio_write(pio, spa, txg, bp,
usr/src/uts/common/fs/zfs/arc.c
6752
arc_memory_throttle(spa_t *spa, uint64_t reserve, uint64_t txg)
usr/src/uts/common/fs/zfs/arc.c
6761
if (txg > spa->spa_lowmem_last_txg) {
usr/src/uts/common/fs/zfs/arc.c
6762
spa->spa_lowmem_last_txg = txg;
usr/src/uts/common/fs/zfs/arc.c
6763
spa->spa_lowmem_page_load = 0;
usr/src/uts/common/fs/zfs/arc.c
6771
if (spa->spa_lowmem_page_load >
usr/src/uts/common/fs/zfs/arc.c
6775
atomic_add_64(&spa->spa_lowmem_page_load, reserve / 8);
usr/src/uts/common/fs/zfs/arc.c
6777
} else if (spa->spa_lowmem_page_load > 0 && arc_reclaim_needed()) {
usr/src/uts/common/fs/zfs/arc.c
6782
spa->spa_lowmem_page_load = 0;
usr/src/uts/common/fs/zfs/arc.c
6809
arc_tempreserve_space(spa_t *spa, uint64_t reserve, uint64_t txg)
usr/src/uts/common/fs/zfs/arc.c
6836
error = arc_memory_throttle(spa, reserve, txg);
usr/src/uts/common/fs/zfs/arc.c
6857
uint64_t spa_dirty_anon = spa_dirty_data(spa);
usr/src/uts/common/fs/zfs/arc.c
693
#define BUF_HASH_INDEX(spa, dva, birth) \
usr/src/uts/common/fs/zfs/arc.c
694
(buf_hash(spa, dva, birth) & buf_hash_table.ht_mask)
usr/src/uts/common/fs/zfs/arc.c
7872
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/arc.c
7901
ret = spa_do_crypt_abd(B_FALSE, spa, &cb->l2rcb_zb,
usr/src/uts/common/fs/zfs/arc.c
8366
l2arc_apply_transforms(spa_t *spa, arc_buf_hdr_t *hdr, uint64_t asize,
usr/src/uts/common/fs/zfs/arc.c
840
buf_hash(uint64_t spa, const dva_t *dva, uint64_t birth)
usr/src/uts/common/fs/zfs/arc.c
842
return (cityhash4(spa, dva->dva_word[0], dva->dva_word[1], birth));
usr/src/uts/common/fs/zfs/arc.c
8432
ret = spa_keystore_lookup_key(spa, hdr->b_crypt_hdr.b_dsobj,
usr/src/uts/common/fs/zfs/arc.c
8452
spa_keystore_dsl_key_rele(spa, dck, FTAG);
usr/src/uts/common/fs/zfs/arc.c
8467
spa_keystore_dsl_key_rele(spa, dck, FTAG);
usr/src/uts/common/fs/zfs/arc.c
8501
l2arc_write_buffers(spa_t *spa, l2arc_dev_t *dev, uint64_t target_sz)
usr/src/uts/common/fs/zfs/arc.c
8508
uint64_t guid = spa_load_guid(spa);
usr/src/uts/common/fs/zfs/arc.c
852
#define HDR_EQUAL(spa, dva, birth, hdr) \
usr/src/uts/common/fs/zfs/arc.c
855
((hdr)->b_birth == birth) && ((hdr)->b_spa == spa)
usr/src/uts/common/fs/zfs/arc.c
8632
ret = l2arc_apply_transforms(spa, hdr, asize,
usr/src/uts/common/fs/zfs/arc.c
866
buf_hash_find(uint64_t spa, const blkptr_t *bp, kmutex_t **lockp)
usr/src/uts/common/fs/zfs/arc.c
8665
pio = zio_root(spa, l2arc_write_done, cb,
usr/src/uts/common/fs/zfs/arc.c
870
uint64_t idx = BUF_HASH_INDEX(spa, dva, birth);
usr/src/uts/common/fs/zfs/arc.c
877
if (HDR_EQUAL(spa, dva, birth, hdr)) {
usr/src/uts/common/fs/zfs/arc.c
8774
spa_t *spa;
usr/src/uts/common/fs/zfs/arc.c
8813
spa = dev->l2ad_spa;
usr/src/uts/common/fs/zfs/arc.c
8814
ASSERT3P(spa, !=, NULL);
usr/src/uts/common/fs/zfs/arc.c
8820
if (!spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/arc.c
8822
spa_config_exit(spa, SCL_L2ARC, dev);
usr/src/uts/common/fs/zfs/arc.c
8831
spa_config_exit(spa, SCL_L2ARC, dev);
usr/src/uts/common/fs/zfs/arc.c
8847
wrote = l2arc_write_buffers(spa, dev, size);
usr/src/uts/common/fs/zfs/arc.c
8853
spa_config_exit(spa, SCL_L2ARC, dev);
usr/src/uts/common/fs/zfs/arc.c
8893
l2arc_add_vdev(spa_t *spa, vdev_t *vd)
usr/src/uts/common/fs/zfs/arc.c
8904
adddev->l2ad_spa = spa;
usr/src/uts/common/fs/zfs/arc.c
8958
spa_t *spa;
usr/src/uts/common/fs/zfs/arc.c
8962
spa = dev->l2ad_spa;
usr/src/uts/common/fs/zfs/arc.c
9013
} else if (spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/arc.c
9148
l2arc_spa_rebuild_start(spa_t *spa)
usr/src/uts/common/fs/zfs/arc.c
9155
for (int i = 0; i < spa->spa_l2cache.sav_count; i++) {
usr/src/uts/common/fs/zfs/arc.c
9157
l2arc_vdev_get(spa->spa_l2cache.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/arc.c
9204
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/arc.c
9223
spa_config_enter(spa, SCL_L2ARC, vd, RW_READER);
usr/src/uts/common/fs/zfs/arc.c
9272
spa_config_exit(spa, SCL_L2ARC, vd);
usr/src/uts/common/fs/zfs/arc.c
9340
if (spa_config_tryenter(spa, SCL_L2ARC, vd,
usr/src/uts/common/fs/zfs/arc.c
9374
spa_history_log_internal(spa, "L2ARC rebuild", NULL,
usr/src/uts/common/fs/zfs/arc.c
9378
spa_history_log_internal(spa, "L2ARC rebuild", NULL,
usr/src/uts/common/fs/zfs/arc.c
9387
spa_history_log_internal(spa, "L2ARC rebuild", NULL,
usr/src/uts/common/fs/zfs/arc.c
9399
spa_history_log_internal(spa, "L2ARC rebuild", NULL,
usr/src/uts/common/fs/zfs/arc.c
9405
spa_config_exit(spa, SCL_L2ARC, vd);
usr/src/uts/common/fs/zfs/bpobj.c
41
spa_t *spa = dmu_objset_spa(os);
usr/src/uts/common/fs/zfs/bpobj.c
44
if (spa_feature_is_enabled(spa, SPA_FEATURE_EMPTY_BPOBJ)) {
usr/src/uts/common/fs/zfs/bpobj.c
45
if (!spa_feature_is_active(spa, SPA_FEATURE_EMPTY_BPOBJ)) {
usr/src/uts/common/fs/zfs/bpobj.c
533
spa_t *spa;
usr/src/uts/common/fs/zfs/bpobj.c
54
spa_feature_incr(spa, SPA_FEATURE_EMPTY_BPOBJ, tx);
usr/src/uts/common/fs/zfs/bpobj.c
548
if (dsl_pool_sync_context(spa_get_dsl(sra->spa)))
usr/src/uts/common/fs/zfs/bpobj.c
549
sra->used += bp_get_dsize_sync(sra->spa, bp);
usr/src/uts/common/fs/zfs/bpobj.c
551
sra->used += bp_get_dsize(sra->spa, bp);
usr/src/uts/common/fs/zfs/bpobj.c
597
sra.spa = dmu_objset_spa(bpo->bpo_os);
usr/src/uts/common/fs/zfs/bptree.c
152
bptree_visit_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/bptree.c
163
ba->ba_phys->bt_bytes -= bp_get_dsize_sync(spa, bp);
usr/src/uts/common/fs/zfs/dbuf.c
1280
spa_t *spa = db->db_objset->os_spa;
usr/src/uts/common/fs/zfs/dbuf.c
1292
dr->dt.dl.dr_data = arc_alloc_raw_buf(spa, db,
usr/src/uts/common/fs/zfs/dbuf.c
1298
dr->dt.dl.dr_data = arc_alloc_compressed_buf(spa, db,
usr/src/uts/common/fs/zfs/dbuf.c
1301
dr->dt.dl.dr_data = arc_alloc_buf(spa, db, type, size);
usr/src/uts/common/fs/zfs/dbuf.c
1335
spa_t *spa = dn->dn_objset->os_spa;
usr/src/uts/common/fs/zfs/dbuf.c
1359
dbuf_fix_old_data(db, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/dbuf.c
1360
err = arc_untransform(db->db_buf, spa, &zb, B_FALSE);
usr/src/uts/common/fs/zfs/dbuf.c
1370
spa_t *spa = dn->dn_objset->os_spa;
usr/src/uts/common/fs/zfs/dbuf.c
1377
zio = zio_root(spa, NULL, NULL, ZIO_FLAG_CANFAIL);
usr/src/uts/common/fs/zfs/dbuf.c
1449
spa_t *spa = db->db_objset->os_spa;
usr/src/uts/common/fs/zfs/dbuf.c
1453
dbuf_set_data(db, arc_alloc_buf(spa, db, type, db->db.db_size));
usr/src/uts/common/fs/zfs/dbuf.c
3221
spa_t *spa = dmu_objset_spa(db->db_objset);
usr/src/uts/common/fs/zfs/dbuf.c
3255
arc_freed(spa, &bp);
usr/src/uts/common/fs/zfs/dbuf.c
3706
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/dbuf.c
3716
delta = bp_get_dsize_sync(spa, bp) - bp_get_dsize_sync(spa, bp_orig);
usr/src/uts/common/fs/zfs/dbuf.c
4005
spa_t *spa = dmu_objset_spa(os);
usr/src/uts/common/fs/zfs/dbuf.c
4008
ASSERT(dsl_pool_sync_context(spa_get_dsl(spa)));
usr/src/uts/common/fs/zfs/dbuf.c
4010
if (os == spa_meta_objset(spa)) {
usr/src/uts/common/fs/zfs/dbuf.c
4011
spa_vdev_indirect_mark_obsolete(spa, vdev, offset, size, tx);
usr/src/uts/common/fs/zfs/dbuf.c
4022
spa_t *spa = dmu_objset_spa(dn->dn_objset);
usr/src/uts/common/fs/zfs/dbuf.c
4025
ASSERT(dsl_pool_sync_context(spa_get_dsl(spa)));
usr/src/uts/common/fs/zfs/dbuf.c
4030
if (spa_remap_blkptr(spa, &bp_copy, dbuf_remap_impl_callback,
usr/src/uts/common/fs/zfs/dbuf.c
4053
spa_t *spa = dmu_objset_spa(db->db_objset);
usr/src/uts/common/fs/zfs/dbuf.c
4060
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_DEVICE_REMOVAL));
usr/src/uts/common/fs/zfs/dbuf.c
4062
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/dbuf.c
4065
if (spa_remap_blkptr(spa, &bp_copy, NULL, NULL)) {
usr/src/uts/common/fs/zfs/dbuf.c
4070
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/dbuf.c
4078
spa_t *spa = dmu_objset_spa(dn->dn_objset);
usr/src/uts/common/fs/zfs/dbuf.c
4085
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_DEVICE_REMOVAL));
usr/src/uts/common/fs/zfs/dbuf.c
4087
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/dbuf.c
4090
if (spa_remap_blkptr(spa, &bp_copy, NULL, NULL)) {
usr/src/uts/common/fs/zfs/dbuf.c
4095
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/dbuf.c
4106
spa_t *spa = dmu_objset_spa(db->db_objset);
usr/src/uts/common/fs/zfs/dbuf.c
4107
ASSERT(dsl_pool_sync_context(spa_get_dsl(spa)));
usr/src/uts/common/fs/zfs/dbuf.c
4109
if (!spa_feature_is_active(spa, SPA_FEATURE_DEVICE_REMOVAL))
usr/src/uts/common/fs/zfs/dbuf.c
934
spa_t *spa = db->db_objset->os_spa;
usr/src/uts/common/fs/zfs/dbuf.c
937
abuf = arc_loan_buf(spa, B_FALSE, blksz);
usr/src/uts/common/fs/zfs/ddt.c
1083
spa_t *spa = ddt->ddt_spa;
usr/src/uts/common/fs/zfs/ddt.c
1090
ASSERT(spa->spa_uberblock.ub_version >= SPA_VERSION_DEDUP);
usr/src/uts/common/fs/zfs/ddt.c
1092
if (spa->spa_ddt_stat_object == 0) {
usr/src/uts/common/fs/zfs/ddt.c
1093
spa->spa_ddt_stat_object = zap_create_link(ddt->ddt_os,
usr/src/uts/common/fs/zfs/ddt.c
1122
ddt_sync(spa_t *spa, uint64_t txg)
usr/src/uts/common/fs/zfs/ddt.c
1124
dsl_scan_t *scn = spa->spa_dsl_pool->dp_scan;
usr/src/uts/common/fs/zfs/ddt.c
1128
ASSERT(spa_syncing_txg(spa) == txg);
usr/src/uts/common/fs/zfs/ddt.c
1130
tx = dmu_tx_create_assigned(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/ddt.c
1132
rio = zio_root(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/ddt.c
1145
ddt_t *ddt = spa->spa_ddt[c];
usr/src/uts/common/fs/zfs/ddt.c
1159
ddt_walk(spa_t *spa, ddt_bookmark_t *ddb, ddt_entry_t *dde)
usr/src/uts/common/fs/zfs/ddt.c
1164
ddt_t *ddt = spa->spa_ddt[ddb->ddb_checksum];
usr/src/uts/common/fs/zfs/ddt.c
363
spa_t *spa = ddt->ddt_spa;
usr/src/uts/common/fs/zfs/ddt.c
379
dsize += dva_get_dsize_sync(spa, &ddp->ddp_dva[d]);
usr/src/uts/common/fs/zfs/ddt.c
453
ddt_get_dedup_object_stats(spa_t *spa, ddt_object_t *ddo_total)
usr/src/uts/common/fs/zfs/ddt.c
457
ddt_t *ddt = spa->spa_ddt[c];
usr/src/uts/common/fs/zfs/ddt.c
478
ddt_get_dedup_histogram(spa_t *spa, ddt_histogram_t *ddh)
usr/src/uts/common/fs/zfs/ddt.c
481
ddt_t *ddt = spa->spa_ddt[c];
usr/src/uts/common/fs/zfs/ddt.c
493
ddt_get_dedup_stats(spa_t *spa, ddt_stat_t *dds_total)
usr/src/uts/common/fs/zfs/ddt.c
498
ddt_get_dedup_histogram(spa, ddh_total);
usr/src/uts/common/fs/zfs/ddt.c
504
ddt_get_dedup_dspace(spa_t *spa)
usr/src/uts/common/fs/zfs/ddt.c
508
ddt_get_dedup_stats(spa, &dds_total);
usr/src/uts/common/fs/zfs/ddt.c
513
ddt_get_pool_dedup_ratio(spa_t *spa)
usr/src/uts/common/fs/zfs/ddt.c
517
ddt_get_dedup_stats(spa, &dds_total);
usr/src/uts/common/fs/zfs/ddt.c
527
spa_t *spa = ddt->ddt_spa;
usr/src/uts/common/fs/zfs/ddt.c
529
uint64_t ditto = spa->spa_dedup_ditto;
usr/src/uts/common/fs/zfs/ddt.c
60
spa_t *spa = ddt->ddt_spa;
usr/src/uts/common/fs/zfs/ddt.c
626
ddt_select_by_checksum(spa_t *spa, enum zio_checksum c)
usr/src/uts/common/fs/zfs/ddt.c
628
return (spa->spa_ddt[c]);
usr/src/uts/common/fs/zfs/ddt.c
632
ddt_select(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/ddt.c
634
return (spa->spa_ddt[BP_GET_CHECKSUM(bp)]);
usr/src/uts/common/fs/zfs/ddt.c
750
ddt_prefetch(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/ddt.c
76
VERIFY(zap_add(os, spa->spa_ddt_stat_object, name,
usr/src/uts/common/fs/zfs/ddt.c
763
ddt = ddt_select(spa, bp);
usr/src/uts/common/fs/zfs/ddt.c
801
ddt_table_alloc(spa_t *spa, enum zio_checksum c)
usr/src/uts/common/fs/zfs/ddt.c
813
ddt->ddt_spa = spa;
usr/src/uts/common/fs/zfs/ddt.c
814
ddt->ddt_os = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/ddt.c
831
ddt_create(spa_t *spa)
usr/src/uts/common/fs/zfs/ddt.c
833
spa->spa_dedup_checksum = ZIO_DEDUPCHECKSUM;
usr/src/uts/common/fs/zfs/ddt.c
836
spa->spa_ddt[c] = ddt_table_alloc(spa, c);
usr/src/uts/common/fs/zfs/ddt.c
840
ddt_load(spa_t *spa)
usr/src/uts/common/fs/zfs/ddt.c
844
ddt_create(spa);
usr/src/uts/common/fs/zfs/ddt.c
846
error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/ddt.c
848
&spa->spa_ddt_stat_object);
usr/src/uts/common/fs/zfs/ddt.c
85
spa_t *spa = ddt->ddt_spa;
usr/src/uts/common/fs/zfs/ddt.c
854
ddt_t *ddt = spa->spa_ddt[c];
usr/src/uts/common/fs/zfs/ddt.c
875
ddt_unload(spa_t *spa)
usr/src/uts/common/fs/zfs/ddt.c
878
if (spa->spa_ddt[c]) {
usr/src/uts/common/fs/zfs/ddt.c
879
ddt_table_free(spa->spa_ddt[c]);
usr/src/uts/common/fs/zfs/ddt.c
880
spa->spa_ddt[c] = NULL;
usr/src/uts/common/fs/zfs/ddt.c
886
ddt_class_contains(spa_t *spa, enum ddt_class max_class, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/ddt.c
897
ddt = spa->spa_ddt[BP_GET_CHECKSUM(bp)];
usr/src/uts/common/fs/zfs/ddt.c
96
VERIFY(zap_remove(os, spa->spa_ddt_stat_object, name, tx) == 0);
usr/src/uts/common/fs/zfs/ddt.c
991
spa_t *spa = ddt->ddt_spa;
usr/src/uts/common/fs/zfs/ddt.c
996
if (spa_sync_pass(spa) > 1)
usr/src/uts/common/fs/zfs/dmu_diff.c
110
diff_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/dmu_diff.c
141
if (arc_read(NULL, spa, bp, arc_getbuf_func, &abuf,
usr/src/uts/common/fs/zfs/dmu_objset.c
1009
dmu_objset_create_impl_dnstats(spa_t *spa, dsl_dataset_t *ds, blkptr_t *bp,
usr/src/uts/common/fs/zfs/dmu_objset.c
1025
VERIFY0(dmu_objset_open_impl(spa, NULL, bp, &os));
usr/src/uts/common/fs/zfs/dmu_objset.c
1104
dmu_objset_create_impl(spa_t *spa, dsl_dataset_t *ds, blkptr_t *bp,
usr/src/uts/common/fs/zfs/dmu_objset.c
1107
return (dmu_objset_create_impl_dnstats(spa, ds, bp, type, 0, 0, 0, tx));
usr/src/uts/common/fs/zfs/dmu_objset.c
1167
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dmu_objset.c
1185
os = dmu_objset_create_impl(spa, ds, bp, doca->doca_type, tx);
usr/src/uts/common/fs/zfs/dmu_objset.c
1209
rzio = zio_root(spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
usr/src/uts/common/fs/zfs/dmu_objset.c
1221
key_mapping_rele(spa, ds->ds_key_mapping, ds);
usr/src/uts/common/fs/zfs/dmu_objset.c
1224
rzio = zio_root(spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
usr/src/uts/common/fs/zfs/dmu_objset.c
1235
key_mapping_rele(spa, ds->ds_key_mapping, ds);
usr/src/uts/common/fs/zfs/dmu_objset.c
216
spa_t *spa = os->os_spa;
usr/src/uts/common/fs/zfs/dmu_objset.c
224
checksum = zio_checksum_dedup_select(spa, newval, ZIO_CHECKSUM_OFF);
usr/src/uts/common/fs/zfs/dmu_objset.c
2816
dmu_objset_find_impl(spa_t *spa, const char *name,
usr/src/uts/common/fs/zfs/dmu_objset.c
2820
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/dmu_objset.c
2860
err = dmu_objset_find_impl(spa, child,
usr/src/uts/common/fs/zfs/dmu_objset.c
2927
spa_t *spa;
usr/src/uts/common/fs/zfs/dmu_objset.c
2930
error = spa_open(name, &spa, FTAG);
usr/src/uts/common/fs/zfs/dmu_objset.c
2933
error = dmu_objset_find_impl(spa, name, func, arg, flags);
usr/src/uts/common/fs/zfs/dmu_objset.c
2934
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/dmu_objset.c
406
dmu_objset_open_impl(spa_t *spa, dsl_dataset_t *ds, blkptr_t *bp,
usr/src/uts/common/fs/zfs/dmu_objset.c
420
if (ds != NULL && spa_get_dsl(spa) != NULL &&
usr/src/uts/common/fs/zfs/dmu_objset.c
421
spa_get_dsl(spa)->dp_origin_snap != NULL) {
usr/src/uts/common/fs/zfs/dmu_objset.c
423
spa_get_dsl(spa)->dp_origin_snap->ds_dir);
usr/src/uts/common/fs/zfs/dmu_objset.c
429
os->os_spa = spa;
usr/src/uts/common/fs/zfs/dmu_objset.c
449
err = arc_read(NULL, spa, os->os_rootbp,
usr/src/uts/common/fs/zfs/dmu_objset.c
460
if (spa_version(spa) < SPA_VERSION_USERSPACE)
usr/src/uts/common/fs/zfs/dmu_objset.c
462
else if (!spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/dmu_objset.c
470
arc_buf_t *buf = arc_alloc_buf(spa, &os->os_phys_buf,
usr/src/uts/common/fs/zfs/dmu_objset.c
482
int size = spa_version(spa) >= SPA_VERSION_USERSPACE ?
usr/src/uts/common/fs/zfs/dmu_objset.c
484
os->os_phys_buf = arc_alloc_buf(spa, &os->os_phys_buf,
usr/src/uts/common/fs/zfs/dmu_objset.c
585
os->os_copies = spa_max_replication(spa);
usr/src/uts/common/fs/zfs/dmu_send.c
1492
dmu_calculate_send_traversal(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/dmu_send.c
663
send_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/dmu_send.c
737
spa_t *spa = ds->ds_dir->dd_pool->dp_spa;
usr/src/uts/common/fs/zfs/dmu_send.c
752
spa_log_error(spa, zb);
usr/src/uts/common/fs/zfs/dmu_send.c
788
if (arc_read(NULL, spa, bp, arc_getbuf_func, &abuf,
usr/src/uts/common/fs/zfs/dmu_send.c
824
if (arc_read(NULL, spa, bp, arc_getbuf_func, &abuf,
usr/src/uts/common/fs/zfs/dmu_send.c
893
if (arc_read(NULL, spa, bp, arc_getbuf_func, &abuf,
usr/src/uts/common/fs/zfs/dmu_send.c
897
abuf = arc_alloc_buf(spa, &abuf, ARC_BUFC_DATA,
usr/src/uts/common/fs/zfs/dmu_traverse.c
518
traverse_prefetcher(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/dmu_traverse.c
545
(void) arc_read(NULL, spa, bp, NULL, NULL, ZIO_PRIORITY_ASYNC_READ,
usr/src/uts/common/fs/zfs/dmu_traverse.c
578
traverse_impl(spa_t *spa, dsl_dataset_t *ds, uint64_t objset, blkptr_t *rootbp,
usr/src/uts/common/fs/zfs/dmu_traverse.c
590
td.td_spa = spa;
usr/src/uts/common/fs/zfs/dmu_traverse.c
602
if (spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) {
usr/src/uts/common/fs/zfs/dmu_traverse.c
603
VERIFY(spa_feature_enabled_txg(spa,
usr/src/uts/common/fs/zfs/dmu_traverse.c
680
traverse_dataset_destroyed(spa_t *spa, blkptr_t *blkptr,
usr/src/uts/common/fs/zfs/dmu_traverse.c
684
return (traverse_impl(spa, NULL, ZB_DESTROYED_OBJSET,
usr/src/uts/common/fs/zfs/dmu_traverse.c
692
traverse_pool(spa_t *spa, uint64_t txg_start, int flags,
usr/src/uts/common/fs/zfs/dmu_traverse.c
696
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/dmu_traverse.c
701
err = traverse_impl(spa, NULL, 0, spa_get_rootblkptr(spa),
usr/src/uts/common/fs/zfs/dmu_tx.c
1038
spa_t *spa = tx->tx_pool->dp_spa;
usr/src/uts/common/fs/zfs/dmu_tx.c
1067
} else if (spa_suspended(spa) || tx->tx_lasttried_txg == 0) {
usr/src/uts/common/fs/zfs/dmu_tx.c
1075
txg_wait_synced(dp, spa_last_synced_txg(spa) + 1);
usr/src/uts/common/fs/zfs/dmu_tx.c
1094
txg_wait_synced(dp, spa_last_synced_txg(spa) + 1);
usr/src/uts/common/fs/zfs/dmu_tx.c
875
spa_t *spa = tx->tx_pool->dp_spa;
usr/src/uts/common/fs/zfs/dmu_tx.c
882
if (spa_suspended(spa)) {
usr/src/uts/common/fs/zfs/dmu_tx.c
892
if (spa_get_failmode(spa) == ZIO_FAILURE_MODE_CONTINUE &&
usr/src/uts/common/fs/zfs/dmu_zfetch.c
279
spa_t *spa = zf->zf_dnode->dn_objset->os_spa;
usr/src/uts/common/fs/zfs/dmu_zfetch.c
291
if (!spa_indirect_vdevs_loaded(spa))
usr/src/uts/common/fs/zfs/dsl_crypt.c
1010
ret = spa_keystore_dsl_key_hold_dd(spa, ds->ds_dir, km, &km->km_key);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1022
rw_enter(&spa->spa_keystore.sk_km_lock, RW_WRITER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1032
found_km = avl_find(&spa->spa_keystore.sk_key_mappings, km, &where);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1040
avl_insert(&spa->spa_keystore.sk_key_mappings, km, where);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1045
rw_exit(&spa->spa_keystore.sk_km_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1048
spa_keystore_dsl_key_rele(spa, km->km_key, km);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1057
spa_keystore_remove_mapping(spa_t *spa, uint64_t dsobj, void *tag)
usr/src/uts/common/fs/zfs/dsl_crypt.c
1066
rw_enter(&spa->spa_keystore.sk_km_lock, RW_READER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1069
found_km = avl_find(&spa->spa_keystore.sk_key_mappings,
usr/src/uts/common/fs/zfs/dsl_crypt.c
1076
rw_exit(&spa->spa_keystore.sk_km_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1078
key_mapping_rele(spa, found_km, tag);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1083
rw_exit(&spa->spa_keystore.sk_km_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1095
spa_keystore_lookup_key(spa_t *spa, uint64_t dsobj, void *tag,
usr/src/uts/common/fs/zfs/dsl_crypt.c
1108
rw_enter(&spa->spa_keystore.sk_km_lock, RW_READER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1111
found_km = avl_find(&spa->spa_keystore.sk_key_mappings, &search_km,
usr/src/uts/common/fs/zfs/dsl_crypt.c
1121
rw_exit(&spa->spa_keystore.sk_km_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1128
rw_exit(&spa->spa_keystore.sk_km_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1510
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_crypt.c
1556
VERIFY0(spa_keystore_wkey_hold_dd(spa,
usr/src/uts/common/fs/zfs/dsl_crypt.c
1574
rw_enter(&spa->spa_keystore.sk_wkeys_lock, RW_WRITER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1585
found_wkey = avl_find(&spa->spa_keystore.sk_wkeys, &wkey_search, NULL);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1588
avl_remove(&spa->spa_keystore.sk_wkeys, found_wkey);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1593
(void) avl_find(&spa->spa_keystore.sk_wkeys, wkey, &where);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1594
avl_insert(&spa->spa_keystore.sk_wkeys, wkey, where);
usr/src/uts/common/fs/zfs/dsl_crypt.c
1599
rw_exit(&spa->spa_keystore.sk_wkeys_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2679
spa_crypt_get_salt(spa_t *spa, uint64_t dsobj, uint8_t *salt)
usr/src/uts/common/fs/zfs/dsl_crypt.c
2685
ret = spa_keystore_lookup_key(spa, dsobj, FTAG, &dck);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2693
spa_keystore_dsl_key_rele(spa, dck, FTAG);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2698
spa_keystore_dsl_key_rele(spa, dck, FTAG);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2709
spa_do_crypt_objset_mac_abd(boolean_t generate, spa_t *spa, uint64_t dsobj,
usr/src/uts/common/fs/zfs/dsl_crypt.c
2720
ret = spa_keystore_lookup_key(spa, dsobj, FTAG, &dck);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2730
spa_keystore_dsl_key_rele(spa, dck, FTAG);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2752
spa_keystore_dsl_key_rele(spa, dck, FTAG);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2758
spa_do_crypt_mac_abd(boolean_t generate, spa_t *spa, uint64_t dsobj, abd_t *abd,
usr/src/uts/common/fs/zfs/dsl_crypt.c
2767
ret = spa_keystore_lookup_key(spa, dsobj, FTAG, &dck);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2778
spa_keystore_dsl_key_rele(spa, dck, FTAG);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2796
spa_keystore_dsl_key_rele(spa, dck, FTAG);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2809
spa_do_crypt_abd(boolean_t encrypt, spa_t *spa, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/dsl_crypt.c
2818
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_ENCRYPTION));
usr/src/uts/common/fs/zfs/dsl_crypt.c
2821
ret = spa_keystore_lookup_key(spa, zb->zb_objset, FTAG, &dck);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2870
ret = zio_handle_decrypt_injection(spa, zb, ot, ECKSUM);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2882
spa_keystore_dsl_key_rele(spa, dck, FTAG);
usr/src/uts/common/fs/zfs/dsl_crypt.c
2899
spa_keystore_dsl_key_rele(spa, dck, FTAG);
usr/src/uts/common/fs/zfs/dsl_crypt.c
398
spa_keystore_wkey_hold_ddobj_impl(spa_t *spa, uint64_t ddobj,
usr/src/uts/common/fs/zfs/dsl_crypt.c
405
ASSERT(RW_LOCK_HELD(&spa->spa_keystore.sk_wkeys_lock));
usr/src/uts/common/fs/zfs/dsl_crypt.c
411
found_wkey = avl_find(&spa->spa_keystore.sk_wkeys, &search_wkey, NULL);
usr/src/uts/common/fs/zfs/dsl_crypt.c
429
spa_keystore_wkey_hold_dd(spa_t *spa, dsl_dir_t *dd, void *tag,
usr/src/uts/common/fs/zfs/dsl_crypt.c
437
if (!RW_WRITE_HELD(&spa->spa_keystore.sk_wkeys_lock)) {
usr/src/uts/common/fs/zfs/dsl_crypt.c
438
rw_enter(&spa->spa_keystore.sk_wkeys_lock, RW_READER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
448
ret = spa_keystore_wkey_hold_ddobj_impl(spa, rddobj, tag, &wkey);
usr/src/uts/common/fs/zfs/dsl_crypt.c
454
rw_exit(&spa->spa_keystore.sk_wkeys_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
461
rw_exit(&spa->spa_keystore.sk_wkeys_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
631
spa_keystore_dsl_key_hold_impl(spa_t *spa, uint64_t dckobj, void *tag,
usr/src/uts/common/fs/zfs/dsl_crypt.c
638
ASSERT(RW_LOCK_HELD(&spa->spa_keystore.sk_dk_lock));
usr/src/uts/common/fs/zfs/dsl_crypt.c
644
found_dck = avl_find(&spa->spa_keystore.sk_dsl_keys, &search_dck, NULL);
usr/src/uts/common/fs/zfs/dsl_crypt.c
662
spa_keystore_dsl_key_hold_dd(spa_t *spa, dsl_dir_t *dd, void *tag,
usr/src/uts/common/fs/zfs/dsl_crypt.c
672
rw_enter(&spa->spa_keystore.sk_dk_lock, RW_READER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
673
ret = spa_keystore_dsl_key_hold_impl(spa, dckobj, tag, &dck_ks);
usr/src/uts/common/fs/zfs/dsl_crypt.c
674
rw_exit(&spa->spa_keystore.sk_dk_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
681
ret = spa_keystore_wkey_hold_dd(spa, dd, FTAG, &wkey);
usr/src/uts/common/fs/zfs/dsl_crypt.c
688
ret = dsl_crypto_key_open(spa->spa_meta_objset, wkey, dckobj,
usr/src/uts/common/fs/zfs/dsl_crypt.c
701
rw_enter(&spa->spa_keystore.sk_dk_lock, RW_WRITER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
702
ret = spa_keystore_dsl_key_hold_impl(spa, dckobj, tag, &dck_ks);
usr/src/uts/common/fs/zfs/dsl_crypt.c
704
(void) avl_find(&spa->spa_keystore.sk_dsl_keys, dck_io, &where);
usr/src/uts/common/fs/zfs/dsl_crypt.c
705
avl_insert(&spa->spa_keystore.sk_dsl_keys, dck_io, where);
usr/src/uts/common/fs/zfs/dsl_crypt.c
714
rw_exit(&spa->spa_keystore.sk_dk_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
720
spa_keystore_dsl_key_rele(spa_t *spa, dsl_crypto_key_t *dck, void *tag)
usr/src/uts/common/fs/zfs/dsl_crypt.c
722
rw_enter(&spa->spa_keystore.sk_dk_lock, RW_WRITER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
725
avl_remove(&spa->spa_keystore.sk_dsl_keys, dck);
usr/src/uts/common/fs/zfs/dsl_crypt.c
729
rw_exit(&spa->spa_keystore.sk_dk_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
733
spa_keystore_load_wkey_impl(spa_t *spa, dsl_wrapping_key_t *wkey)
usr/src/uts/common/fs/zfs/dsl_crypt.c
739
rw_enter(&spa->spa_keystore.sk_wkeys_lock, RW_WRITER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
742
found_wkey = avl_find(&spa->spa_keystore.sk_wkeys, wkey, &where);
usr/src/uts/common/fs/zfs/dsl_crypt.c
747
avl_insert(&spa->spa_keystore.sk_wkeys, wkey, where);
usr/src/uts/common/fs/zfs/dsl_crypt.c
749
rw_exit(&spa->spa_keystore.sk_wkeys_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
754
rw_exit(&spa->spa_keystore.sk_wkeys_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
860
spa_keystore_unload_wkey_impl(spa_t *spa, uint64_t ddobj)
usr/src/uts/common/fs/zfs/dsl_crypt.c
869
rw_enter(&spa->spa_keystore.sk_wkeys_lock, RW_WRITER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
872
found_wkey = avl_find(&spa->spa_keystore.sk_wkeys,
usr/src/uts/common/fs/zfs/dsl_crypt.c
881
avl_remove(&spa->spa_keystore.sk_wkeys, found_wkey);
usr/src/uts/common/fs/zfs/dsl_crypt.c
883
rw_exit(&spa->spa_keystore.sk_wkeys_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
891
rw_exit(&spa->spa_keystore.sk_wkeys_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
901
spa_t *spa = NULL;
usr/src/uts/common/fs/zfs/dsl_crypt.c
903
ret = spa_open(dsname, &spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_crypt.c
911
if (spa_mode(spa) != FREAD)
usr/src/uts/common/fs/zfs/dsl_crypt.c
912
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/dsl_crypt.c
914
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_crypt.c
967
key_mapping_rele(spa_t *spa, dsl_key_mapping_t *km, void *tag)
usr/src/uts/common/fs/zfs/dsl_crypt.c
983
rw_enter(&spa->spa_keystore.sk_km_lock, RW_WRITER);
usr/src/uts/common/fs/zfs/dsl_crypt.c
985
rw_exit(&spa->spa_keystore.sk_km_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
989
avl_remove(&spa->spa_keystore.sk_key_mappings, km);
usr/src/uts/common/fs/zfs/dsl_crypt.c
990
rw_exit(&spa->spa_keystore.sk_km_lock);
usr/src/uts/common/fs/zfs/dsl_crypt.c
992
spa_keystore_dsl_key_rele(spa, km->km_key, km);
usr/src/uts/common/fs/zfs/dsl_crypt.c
998
spa_keystore_create_mapping(spa_t *spa, dsl_dataset_t *ds, void *tag,
usr/src/uts/common/fs/zfs/dsl_dataset.c
1019
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/dsl_dataset.c
1026
spa_feature_decr(spa, f, tx);
usr/src/uts/common/fs/zfs/dsl_dataset.c
1790
spa_t *spa;
usr/src/uts/common/fs/zfs/dsl_dataset.c
1799
error = spa_open(firstname, &spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_dataset.c
180
spa_t *spa = ds->ds_dir->dd_pool->dp_spa;
usr/src/uts/common/fs/zfs/dsl_dataset.c
1802
needsuspend = (spa_version(spa) < SPA_VERSION_FAST_SNAP);
usr/src/uts/common/fs/zfs/dsl_dataset.c
1803
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_dataset.c
187
spa_vdev_indirect_mark_obsolete(spa, vdev, offset, size, tx);
usr/src/uts/common/fs/zfs/dsl_dataset.c
1917
spa_t *spa;
usr/src/uts/common/fs/zfs/dsl_dataset.c
1926
error = spa_open(fsname, &spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_dataset.c
1929
needsuspend = (spa_version(spa) < SPA_VERSION_FAST_SNAP);
usr/src/uts/common/fs/zfs/dsl_dataset.c
1930
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_dataset.c
214
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/dsl_dataset.c
216
int used = bp_get_dsize_sync(spa, bp);
usr/src/uts/common/fs/zfs/dsl_dataset.c
4415
spa_t *spa = ds->ds_dir->dd_pool->dp_spa;
usr/src/uts/common/fs/zfs/dsl_dataset.c
4422
dsl_deadlist_free(spa_meta_objset(spa), remap_deadlist_object, tx);
usr/src/uts/common/fs/zfs/dsl_dataset.c
4424
spa_feature_decr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
usr/src/uts/common/fs/zfs/dsl_dataset.c
4431
spa_t *spa = ds->ds_dir->dd_pool->dp_spa;
usr/src/uts/common/fs/zfs/dsl_dataset.c
4439
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_DEVICE_REMOVAL));
usr/src/uts/common/fs/zfs/dsl_dataset.c
4446
dsl_deadlist_open(&ds->ds_remap_deadlist, spa_meta_objset(spa),
usr/src/uts/common/fs/zfs/dsl_dataset.c
4448
spa_feature_incr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
usr/src/uts/common/fs/zfs/dsl_dataset.c
988
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/dsl_dataset.c
994
spa_feature_incr(spa, f, tx);
usr/src/uts/common/fs/zfs/dsl_destroy.c
1008
spa_t *spa;
usr/src/uts/common/fs/zfs/dsl_destroy.c
1015
error = spa_open(name, &spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_destroy.c
1018
isenabled = spa_feature_is_enabled(spa, SPA_FEATURE_ASYNC_DESTROY);
usr/src/uts/common/fs/zfs/dsl_destroy.c
1019
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_destroy.c
640
kill_blkptr(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/dsl_dir.c
642
spa_t *spa;
usr/src/uts/common/fs/zfs/dsl_dir.c
646
spa = dsl_dataset_get_spa(ds);
usr/src/uts/common/fs/zfs/dsl_dir.c
648
if (!spa_feature_is_active(spa, SPA_FEATURE_FS_SS_LIMIT)) {
usr/src/uts/common/fs/zfs/dsl_dir.c
656
spa_feature_incr(spa, SPA_FEATURE_FS_SS_LIMIT, tx);
usr/src/uts/common/fs/zfs/dsl_pool.c
1256
spa_t *spa;
usr/src/uts/common/fs/zfs/dsl_pool.c
1259
error = spa_open(name, &spa, tag);
usr/src/uts/common/fs/zfs/dsl_pool.c
1261
*dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/dsl_pool.c
186
dsl_pool_open_impl(spa_t *spa, uint64_t txg)
usr/src/uts/common/fs/zfs/dsl_pool.c
189
blkptr_t *bp = spa_get_rootblkptr(spa);
usr/src/uts/common/fs/zfs/dsl_pool.c
192
dp->dp_spa = spa;
usr/src/uts/common/fs/zfs/dsl_pool.c
196
mmp_init(spa);
usr/src/uts/common/fs/zfs/dsl_pool.c
198
txg_list_create(&dp->dp_dirty_datasets, spa,
usr/src/uts/common/fs/zfs/dsl_pool.c
200
txg_list_create(&dp->dp_dirty_zilogs, spa,
usr/src/uts/common/fs/zfs/dsl_pool.c
202
txg_list_create(&dp->dp_dirty_dirs, spa,
usr/src/uts/common/fs/zfs/dsl_pool.c
204
txg_list_create(&dp->dp_sync_tasks, spa,
usr/src/uts/common/fs/zfs/dsl_pool.c
206
txg_list_create(&dp->dp_early_sync_tasks, spa,
usr/src/uts/common/fs/zfs/dsl_pool.c
232
dsl_pool_init(spa_t *spa, uint64_t txg, dsl_pool_t **dpp)
usr/src/uts/common/fs/zfs/dsl_pool.c
235
dsl_pool_t *dp = dsl_pool_open_impl(spa, txg);
usr/src/uts/common/fs/zfs/dsl_pool.c
237
err = dmu_objset_open_impl(spa, NULL, &dp->dp_meta_rootbp,
usr/src/uts/common/fs/zfs/dsl_pool.c
445
dsl_pool_create(spa_t *spa, nvlist_t *zplprops, dsl_crypto_params_t *dcp,
usr/src/uts/common/fs/zfs/dsl_pool.c
449
dsl_pool_t *dp = dsl_pool_open_impl(spa, txg);
usr/src/uts/common/fs/zfs/dsl_pool.c
457
dp->dp_meta_objset = dmu_objset_create_impl(spa,
usr/src/uts/common/fs/zfs/dsl_pool.c
459
spa->spa_meta_objset = dp->dp_meta_objset;
usr/src/uts/common/fs/zfs/dsl_pool.c
479
if (spa_version(spa) >= SPA_VERSION_DEADLISTS) {
usr/src/uts/common/fs/zfs/dsl_pool.c
494
if (spa_version(spa) >= SPA_VERSION_DSL_SCRUB)
usr/src/uts/common/fs/zfs/dsl_pool.c
501
if (spa_version(spa) >= SPA_VERSION_FEATURES)
usr/src/uts/common/fs/zfs/dsl_pool.c
502
spa_feature_create_zap_objects(spa, tx);
usr/src/uts/common/fs/zfs/dsl_pool.c
506
spa_feature_enable(spa, SPA_FEATURE_ENCRYPTION, tx);
usr/src/uts/common/fs/zfs/dsl_pool.c
579
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_pool.c
580
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/dsl_pool.c
827
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_pool.c
830
spa->spa_deferred_bpobj.bpo_phys->bpo_bytes;
usr/src/uts/common/fs/zfs/dsl_pool.c
832
space = spa_get_dspace(spa)
usr/src/uts/common/fs/zfs/dsl_pool.c
833
- spa_get_checkpoint_space(spa) - spa_deferred_frees;
usr/src/uts/common/fs/zfs/dsl_pool.c
834
resv = spa_get_slop_space(spa);
usr/src/uts/common/fs/zfs/dsl_prop.c
1108
spa_t *spa;
usr/src/uts/common/fs/zfs/dsl_prop.c
1111
VERIFY0(spa_open(dsname, &spa, FTAG));
usr/src/uts/common/fs/zfs/dsl_prop.c
1112
version = spa_version(spa);
usr/src/uts/common/fs/zfs/dsl_prop.c
1113
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_scan.c
1022
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1027
spa->spa_scan_pass_scrub_pause = gethrestime_sec();
usr/src/uts/common/fs/zfs/dsl_scan.c
1031
spa_event_notify(spa, NULL, NULL, ESC_ZFS_SCRUB_PAUSED);
usr/src/uts/common/fs/zfs/dsl_scan.c
1040
spa->spa_scan_pass_scrub_spent_paused +=
usr/src/uts/common/fs/zfs/dsl_scan.c
1041
gethrestime_sec() - spa->spa_scan_pass_scrub_pause;
usr/src/uts/common/fs/zfs/dsl_scan.c
1042
spa->spa_scan_pass_scrub_pause = 0;
usr/src/uts/common/fs/zfs/dsl_scan.c
1158
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1159
dmu_object_type_t ot = (spa_version(spa) >= SPA_VERSION_DSL_SCRUB) ?
usr/src/uts/common/fs/zfs/dsl_scan.c
1212
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1224
alloc = metaslab_class_get_alloc(spa_normal_class(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
1225
alloc += metaslab_class_get_alloc(spa_special_class(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
1226
alloc += metaslab_class_get_alloc(spa_dedup_class(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
1511
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1536
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1541
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1546
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/dsl_scan.c
1547
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1586
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1589
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1590
ASSERT3U(spa->spa_scrub_inflight, >=, BP_GET_PSIZE(bp));
usr/src/uts/common/fs/zfs/dsl_scan.c
1591
spa->spa_scrub_inflight -= BP_GET_PSIZE(bp);
usr/src/uts/common/fs/zfs/dsl_scan.c
1592
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/dsl_scan.c
1593
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1648
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1649
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/dsl_scan.c
1659
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1667
spa->spa_scrub_inflight >= scn->scn_maxinflight_bytes)) {
usr/src/uts/common/fs/zfs/dsl_scan.c
1668
cv_wait(&spa->spa_scrub_io_cv, &spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1673
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1679
spa->spa_scrub_inflight += BP_GET_PSIZE(&spic->spic_bp);
usr/src/uts/common/fs/zfs/dsl_scan.c
1682
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1702
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1709
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3008
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3011
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
usr/src/uts/common/fs/zfs/dsl_scan.c
3019
int nthreads = spa->spa_root_vdev->vdev_children;
usr/src/uts/common/fs/zfs/dsl_scan.c
3029
"dsl_scan_tq_%s", spa->spa_name);
usr/src/uts/common/fs/zfs/dsl_scan.c
3035
for (uint64_t i = 0; i < spa->spa_root_vdev->vdev_children; i++) {
usr/src/uts/common/fs/zfs/dsl_scan.c
3036
vdev_t *vd = spa->spa_root_vdev->vdev_child[i];
usr/src/uts/common/fs/zfs/dsl_scan.c
3096
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3101
for (i = 0; i < spa->spa_root_vdev->vdev_children; i++) {
usr/src/uts/common/fs/zfs/dsl_scan.c
3102
vdev_t *vd = spa->spa_root_vdev->vdev_child[i];
usr/src/uts/common/fs/zfs/dsl_scan.c
3147
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3150
if (spa->spa_load_state != SPA_LOAD_NONE)
usr/src/uts/common/fs/zfs/dsl_scan.c
3152
if (spa_shutting_down(spa))
usr/src/uts/common/fs/zfs/dsl_scan.c
3186
dsl_scan_need_resilver(spa_t *spa, const dva_t *dva, size_t psize,
usr/src/uts/common/fs/zfs/dsl_scan.c
3191
vd = vdev_lookup_top(spa, DVA_GET_VDEV(dva));
usr/src/uts/common/fs/zfs/dsl_scan.c
3247
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3249
if (spa_suspend_async_destroy(spa))
usr/src/uts/common/fs/zfs/dsl_scan.c
3253
spa_version(spa) >= SPA_VERSION_DEADLISTS) {
usr/src/uts/common/fs/zfs/dsl_scan.c
3256
scn->scn_zio_root = zio_root(spa, NULL,
usr/src/uts/common/fs/zfs/dsl_scan.c
3267
if (err == 0 && spa_feature_is_active(spa, SPA_FEATURE_ASYNC_DESTROY)) {
usr/src/uts/common/fs/zfs/dsl_scan.c
3270
scn->scn_zio_root = zio_root(spa, NULL,
usr/src/uts/common/fs/zfs/dsl_scan.c
3286
spa_feature_decr(spa, SPA_FEATURE_ASYNC_DESTROY, tx);
usr/src/uts/common/fs/zfs/dsl_scan.c
3287
ASSERT(!spa_feature_is_active(spa,
usr/src/uts/common/fs/zfs/dsl_scan.c
3324
ddt_sync(spa, tx->tx_txg);
usr/src/uts/common/fs/zfs/dsl_scan.c
3396
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3400
if (spa->spa_resilver_deferred &&
usr/src/uts/common/fs/zfs/dsl_scan.c
3402
spa_feature_incr(spa, SPA_FEATURE_RESILVER_DEFER, tx);
usr/src/uts/common/fs/zfs/dsl_scan.c
3412
(spa->spa_resilver_deferred && zfs_resilver_disable_defer)) {
usr/src/uts/common/fs/zfs/dsl_scan.c
3415
if (vdev_resilver_needed(spa->spa_root_vdev, NULL, NULL))
usr/src/uts/common/fs/zfs/dsl_scan.c
3433
if (spa_shutting_down(spa))
usr/src/uts/common/fs/zfs/dsl_scan.c
3455
spa->spa_scrub_active = B_TRUE;
usr/src/uts/common/fs/zfs/dsl_scan.c
3475
if (spa->spa_syncing_txg < spa->spa_first_txg + SCAN_IMPORT_WAIT_TXGS)
usr/src/uts/common/fs/zfs/dsl_scan.c
3554
uint64_t nr_leaves = dsl_scan_count_leaves(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/dsl_scan.c
3598
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/dsl_scan.c
3654
ASSERT0(spa->spa_scrub_inflight);
usr/src/uts/common/fs/zfs/dsl_scan.c
3686
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3689
atomic_add_64(&spa->spa_scan_pass_issued,
usr/src/uts/common/fs/zfs/dsl_scan.c
3800
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3817
vdev = vdev_lookup_top(spa, DVA_GET_VDEV(&dva));
usr/src/uts/common/fs/zfs/dsl_scan.c
3835
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3873
spa->spa_scan_pass_exam += DVA_GET_ASIZE(dva);
usr/src/uts/common/fs/zfs/dsl_scan.c
3877
needs_io = dsl_scan_need_resilver(spa, dva, psize,
usr/src/uts/common/fs/zfs/dsl_scan.c
3894
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3901
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3902
ASSERT3U(spa->spa_scrub_inflight, >=, BP_GET_PSIZE(bp));
usr/src/uts/common/fs/zfs/dsl_scan.c
3903
spa->spa_scrub_inflight -= BP_GET_PSIZE(bp);
usr/src/uts/common/fs/zfs/dsl_scan.c
3904
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/dsl_scan.c
3905
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3916
atomic_inc_64(&spa->spa_dsl_pool->dp_scan->scn_phys.scn_errors);
usr/src/uts/common/fs/zfs/dsl_scan.c
3931
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3937
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3938
while (spa->spa_scrub_inflight >= scn->scn_maxinflight_bytes)
usr/src/uts/common/fs/zfs/dsl_scan.c
3939
cv_wait(&spa->spa_scrub_io_cv, &spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3940
spa->spa_scrub_inflight += BP_GET_PSIZE(bp);
usr/src/uts/common/fs/zfs/dsl_scan.c
3941
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3953
zio_nowait(zio_read(dp->dp_scan->scn_zio_root, spa, bp, data, size,
usr/src/uts/common/fs/zfs/dsl_scan.c
4118
dsl_scan_freed_dva(spa_t *spa, const blkptr_t *bp, int dva_i)
usr/src/uts/common/fs/zfs/dsl_scan.c
4120
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/dsl_scan.c
4129
vdev = vdev_lookup_top(spa, DVA_GET_VDEV(&bp->blk_dva[dva_i]));
usr/src/uts/common/fs/zfs/dsl_scan.c
4202
dsl_scan_freed(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/dsl_scan.c
4204
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/dsl_scan.c
4213
dsl_scan_freed_dva(spa, bp, i);
usr/src/uts/common/fs/zfs/dsl_scan.c
444
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
508
spa->spa_errata =
usr/src/uts/common/fs/zfs/dsl_scan.c
520
spa->spa_errata =
usr/src/uts/common/fs/zfs/dsl_scan.c
564
spa->spa_scrub_started = B_TRUE;
usr/src/uts/common/fs/zfs/dsl_scan.c
587
spa_scan_stat_init(spa);
usr/src/uts/common/fs/zfs/dsl_scan.c
664
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
668
for (i = 0; i < spa->spa_root_vdev->vdev_children; i++) {
usr/src/uts/common/fs/zfs/dsl_scan.c
669
vdev_t *vd = spa->spa_root_vdev->vdev_child[i];
usr/src/uts/common/fs/zfs/dsl_scan.c
724
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
736
scn->scn_phys.scn_to_examine = spa->spa_root_vdev->vdev_stat.vs_alloc;
usr/src/uts/common/fs/zfs/dsl_scan.c
742
spa_scan_stat_init(spa);
usr/src/uts/common/fs/zfs/dsl_scan.c
748
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/dsl_scan.c
750
if (vdev_resilver_needed(spa->spa_root_vdev,
usr/src/uts/common/fs/zfs/dsl_scan.c
752
spa_event_notify(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/dsl_scan.c
755
spa_event_notify(spa, NULL, NULL, ESC_ZFS_SCRUB_START);
usr/src/uts/common/fs/zfs/dsl_scan.c
758
spa->spa_scrub_started = B_TRUE;
usr/src/uts/common/fs/zfs/dsl_scan.c
779
if (spa_version(spa) < SPA_VERSION_DSL_SCRUB)
usr/src/uts/common/fs/zfs/dsl_scan.c
789
spa_history_log_internal(spa, "scan setup", tx,
usr/src/uts/common/fs/zfs/dsl_scan.c
801
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
811
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/dsl_scan.c
812
spa->spa_scrub_reopen = B_TRUE;
usr/src/uts/common/fs/zfs/dsl_scan.c
813
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/dsl_scan.c
814
spa->spa_scrub_reopen = B_FALSE;
usr/src/uts/common/fs/zfs/dsl_scan.c
815
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/dsl_scan.c
818
dsl_scan_restart_resilver(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/dsl_scan.c
827
spa_event_notify(spa, NULL, NULL, ESC_ZFS_SCRUB_RESUME);
usr/src/uts/common/fs/zfs/dsl_scan.c
833
return (dsl_sync_task(spa_name(spa), dsl_scan_setup_check,
usr/src/uts/common/fs/zfs/dsl_scan.c
854
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
894
spa_history_log_internal(spa, "scan aborted, restarting", tx,
usr/src/uts/common/fs/zfs/dsl_scan.c
895
"errors=%llu", spa_get_errlog_size(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
897
spa_history_log_internal(spa, "scan cancelled", tx,
usr/src/uts/common/fs/zfs/dsl_scan.c
898
"errors=%llu", spa_get_errlog_size(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
900
spa_history_log_internal(spa, "scan done", tx,
usr/src/uts/common/fs/zfs/dsl_scan.c
901
"errors=%llu", spa_get_errlog_size(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
904
spa->spa_scrub_active = B_FALSE;
usr/src/uts/common/fs/zfs/dsl_scan.c
917
!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/dsl_scan.c
918
vdev_dtl_reassess(spa->spa_root_vdev, tx->tx_txg,
usr/src/uts/common/fs/zfs/dsl_scan.c
921
spa_event_notify(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/dsl_scan.c
925
vdev_dtl_reassess(spa->spa_root_vdev, tx->tx_txg,
usr/src/uts/common/fs/zfs/dsl_scan.c
928
spa_errlog_rotate(spa);
usr/src/uts/common/fs/zfs/dsl_scan.c
934
spa->spa_scrub_started = B_FALSE;
usr/src/uts/common/fs/zfs/dsl_scan.c
940
spa_async_request(spa, SPA_ASYNC_RESILVER_DONE);
usr/src/uts/common/fs/zfs/dsl_scan.c
952
if (spa_feature_is_enabled(spa, SPA_FEATURE_RESILVER_DEFER) &&
usr/src/uts/common/fs/zfs/dsl_scan.c
953
vdev_clear_resilver_deferred(spa->spa_root_vdev, tx)) {
usr/src/uts/common/fs/zfs/dsl_scan.c
954
spa_history_log_internal(spa,
usr/src/uts/common/fs/zfs/dsl_scan.c
956
(u_longlong_t)spa_get_errlog_size(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
957
spa_async_request(spa, SPA_ASYNC_RESILVER);
usr/src/uts/common/fs/zfs/dsl_synctask.c
100
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_synctask.c
47
spa_t *spa;
usr/src/uts/common/fs/zfs/dsl_synctask.c
53
err = spa_open(pool, &spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_synctask.c
56
dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/dsl_synctask.c
78
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_userhold.c
213
spa_t *spa;
usr/src/uts/common/fs/zfs/dsl_userhold.c
216
error = spa_open(ca->zhca_spaname, &spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_userhold.c
223
if (spa_load_guid(spa) != ca->zhca_spa_load_guid) {
usr/src/uts/common/fs/zfs/dsl_userhold.c
227
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_userhold.c
231
(void) dsl_dataset_user_release_tmp(spa_get_dsl(spa), ca->zhca_holds);
usr/src/uts/common/fs/zfs/dsl_userhold.c
234
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/dsl_userhold.c
238
dsl_onexit_hold_cleanup(spa_t *spa, nvlist_t *holds, minor_t minor)
usr/src/uts/common/fs/zfs/dsl_userhold.c
247
ASSERT(spa != NULL);
usr/src/uts/common/fs/zfs/dsl_userhold.c
250
(void) strlcpy(ca->zhca_spaname, spa_name(spa),
usr/src/uts/common/fs/zfs/dsl_userhold.c
252
ca->zhca_spa_load_guid = spa_load_guid(spa);
usr/src/uts/common/fs/zfs/metaslab.c
1176
spa_t *spa = mg->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
1185
if ((mc != spa_normal_class(spa) &&
usr/src/uts/common/fs/zfs/metaslab.c
1186
mc != spa_special_class(spa) &&
usr/src/uts/common/fs/zfs/metaslab.c
1187
mc != spa_dedup_class(spa)) ||
usr/src/uts/common/fs/zfs/metaslab.c
1832
spa_t *spa = msp->ms_group->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
1849
if (txg != spa_syncing_txg(spa) || msp->ms_sm == NULL ||
usr/src/uts/common/fs/zfs/metaslab.c
1974
spa_t *spa = msp->ms_group->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
1990
uint64_t hist_index = spa_syncing_txg(spa) % TXG_DEFER_SIZE;
usr/src/uts/common/fs/zfs/metaslab.c
2307
spa_t *spa = msp->ms_group->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
2308
if (spa_syncing_log_sm(spa) != NULL) {
usr/src/uts/common/fs/zfs/metaslab.c
2309
ASSERT(spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/metaslab.c
2383
spa_syncing_txg(spa), spa_name(spa),
usr/src/uts/common/fs/zfs/metaslab.c
2395
metaslab_verify_space(msp, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/metaslab.c
2558
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
2559
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/metaslab.c
2648
spa_t *spa = msp->ms_group->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
2651
ASSERT3P(avl_find(&spa->spa_metaslabs_by_flushed, msp, NULL),
usr/src/uts/common/fs/zfs/metaslab.c
2655
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP));
usr/src/uts/common/fs/zfs/metaslab.c
2657
mutex_enter(&spa->spa_flushed_ms_lock);
usr/src/uts/common/fs/zfs/metaslab.c
2658
avl_remove(&spa->spa_metaslabs_by_flushed, msp);
usr/src/uts/common/fs/zfs/metaslab.c
2659
mutex_exit(&spa->spa_flushed_ms_lock);
usr/src/uts/common/fs/zfs/metaslab.c
2661
spa_log_sm_decrement_mscount(spa, metaslab_unflushed_txg(msp));
usr/src/uts/common/fs/zfs/metaslab.c
2662
spa_log_summary_decrement_mscount(spa, metaslab_unflushed_txg(msp));
usr/src/uts/common/fs/zfs/metaslab.c
2678
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
2697
ASSERT3U(spa->spa_unflushed_stats.sus_memused, >=,
usr/src/uts/common/fs/zfs/metaslab.c
2699
spa->spa_unflushed_stats.sus_memused -=
usr/src/uts/common/fs/zfs/metaslab.c
2782
spa_t *spa = msp->ms_group->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
2785
boolean_t feature_enabled = spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/metaslab.c
2807
uint64_t txg = spa_syncing_txg(spa);
usr/src/uts/common/fs/zfs/metaslab.c
2817
if (spa_writeable(spa) && txg < spa_final_dirty_txg(spa)) {
usr/src/uts/common/fs/zfs/metaslab.c
3119
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
3147
spa_feature_is_enabled(spa, SPA_FEATURE_SPACEMAP_HISTOGRAM) &&
usr/src/uts/common/fs/zfs/metaslab.c
3352
spa_t *spa = msp->ms_group->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
3354
if (WEIGHT_IS_SPACEBASED(msp->ms_weight) || spa_sync_pass(spa) > 1)
usr/src/uts/common/fs/zfs/metaslab.c
3375
spa_t *spa = mc->mc_spa;
usr/src/uts/common/fs/zfs/metaslab.c
3381
metaslab_set_selected_txg(msp, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/metaslab.c
3388
spa_t *spa = mg->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
3393
if (spa_shutting_down(spa) || !metaslab_preload_enabled) {
usr/src/uts/common/fs/zfs/metaslab.c
3486
spa_t *spa = msp->ms_group->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
3534
ASSERT3U(spa_sync_pass(spa), ==, 1);
usr/src/uts/common/fs/zfs/metaslab.c
3540
spa->spa_name, space_map_length(msp->ms_sm),
usr/src/uts/common/fs/zfs/metaslab.c
3563
ASSERT3U(spa->spa_unflushed_stats.sus_memused, >=,
usr/src/uts/common/fs/zfs/metaslab.c
3565
spa->spa_unflushed_stats.sus_memused -=
usr/src/uts/common/fs/zfs/metaslab.c
3583
spa_feature_is_enabled(spa, SPA_FEATURE_LOG_SPACEMAP) ?
usr/src/uts/common/fs/zfs/metaslab.c
3592
dmu_write(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/metaslab.c
3635
spa_t *spa = mg->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
3639
ASSERT3U(spa_sync_pass(spa), ==, 1);
usr/src/uts/common/fs/zfs/metaslab.c
3654
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/uts/common/fs/zfs/metaslab.c
3657
ASSERT(spa_syncing_log_sm(spa) != NULL);
usr/src/uts/common/fs/zfs/metaslab.c
3660
ASSERT3P(avl_find(&spa->spa_metaslabs_by_flushed, msp, NULL), ==, msp);
usr/src/uts/common/fs/zfs/metaslab.c
3662
VERIFY3U(tx->tx_txg, <=, spa_final_dirty_txg(spa));
usr/src/uts/common/fs/zfs/metaslab.c
3666
mutex_enter(&spa->spa_flushed_ms_lock);
usr/src/uts/common/fs/zfs/metaslab.c
3667
avl_remove(&spa->spa_metaslabs_by_flushed, msp);
usr/src/uts/common/fs/zfs/metaslab.c
3668
metaslab_set_unflushed_txg(msp, spa_syncing_txg(spa), tx);
usr/src/uts/common/fs/zfs/metaslab.c
3669
avl_add(&spa->spa_metaslabs_by_flushed, msp);
usr/src/uts/common/fs/zfs/metaslab.c
3670
mutex_exit(&spa->spa_flushed_ms_lock);
usr/src/uts/common/fs/zfs/metaslab.c
3673
spa_log_sm_decrement_mscount(spa, ms_prev_flushed_txg);
usr/src/uts/common/fs/zfs/metaslab.c
3674
spa_log_sm_increment_current_mscount(spa);
usr/src/uts/common/fs/zfs/metaslab.c
3677
uint64_t log_blocks_before = spa_log_sm_nblocks(spa);
usr/src/uts/common/fs/zfs/metaslab.c
3678
spa_cleanup_old_sm_logs(spa, tx);
usr/src/uts/common/fs/zfs/metaslab.c
3679
uint64_t log_blocks_after = spa_log_sm_nblocks(spa);
usr/src/uts/common/fs/zfs/metaslab.c
3684
spa_log_summary_add_flushed_metaslab(spa);
usr/src/uts/common/fs/zfs/metaslab.c
3685
spa_log_summary_decrement_mscount(spa, ms_prev_flushed_txg);
usr/src/uts/common/fs/zfs/metaslab.c
3686
spa_log_summary_decrement_blkcount(spa, blocks_gone);
usr/src/uts/common/fs/zfs/metaslab.c
3692
spa_t *spa = msp->ms_group->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
3695
ASSERT3U(spa_sync_pass(spa), ==, 1);
usr/src/uts/common/fs/zfs/metaslab.c
3696
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP));
usr/src/uts/common/fs/zfs/metaslab.c
3700
ASSERT(avl_find(&spa->spa_metaslabs_by_flushed, msp, NULL) != NULL);
usr/src/uts/common/fs/zfs/metaslab.c
371
metaslab_class_create(spa_t *spa, metaslab_ops_t *ops)
usr/src/uts/common/fs/zfs/metaslab.c
377
mc->mc_spa = spa;
usr/src/uts/common/fs/zfs/metaslab.c
3786
"appended %llu bytes", dmu_tx_get_txg(tx), spa_name(spa),
usr/src/uts/common/fs/zfs/metaslab.c
3793
ASSERT3U(spa->spa_unflushed_stats.sus_memused, >=,
usr/src/uts/common/fs/zfs/metaslab.c
3795
spa->spa_unflushed_stats.sus_memused -=
usr/src/uts/common/fs/zfs/metaslab.c
3821
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
3822
objset_t *mos = spa_meta_objset(spa);
usr/src/uts/common/fs/zfs/metaslab.c
383
mc->mc_alloc_slots = kmem_zalloc(spa->spa_alloc_count *
usr/src/uts/common/fs/zfs/metaslab.c
385
mc->mc_alloc_max_slots = kmem_zalloc(spa->spa_alloc_count *
usr/src/uts/common/fs/zfs/metaslab.c
3857
txg <= spa_final_dirty_txg(spa)))
usr/src/uts/common/fs/zfs/metaslab.c
3861
VERIFY3U(txg, <=, spa_final_dirty_txg(spa));
usr/src/uts/common/fs/zfs/metaslab.c
387
for (int i = 0; i < spa->spa_alloc_count; i++)
usr/src/uts/common/fs/zfs/metaslab.c
3876
tx = dmu_tx_create_assigned(spa_get_dsl(spa), txg);
usr/src/uts/common/fs/zfs/metaslab.c
3881
spa_generate_syncing_log_sm(spa, tx);
usr/src/uts/common/fs/zfs/metaslab.c
3885
spa_feature_is_enabled(spa, SPA_FEATURE_LOG_SPACEMAP) ?
usr/src/uts/common/fs/zfs/metaslab.c
3903
spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP)) {
usr/src/uts/common/fs/zfs/metaslab.c
3904
ASSERT(spa_syncing_log_sm(spa) != NULL);
usr/src/uts/common/fs/zfs/metaslab.c
3906
metaslab_set_unflushed_txg(msp, spa_syncing_txg(spa), tx);
usr/src/uts/common/fs/zfs/metaslab.c
3907
spa_log_sm_increment_current_mscount(spa);
usr/src/uts/common/fs/zfs/metaslab.c
3908
spa_log_summary_add_flushed_metaslab(spa);
usr/src/uts/common/fs/zfs/metaslab.c
3911
mutex_enter(&spa->spa_flushed_ms_lock);
usr/src/uts/common/fs/zfs/metaslab.c
3912
avl_add(&spa->spa_metaslabs_by_flushed, msp);
usr/src/uts/common/fs/zfs/metaslab.c
3913
mutex_exit(&spa->spa_flushed_ms_lock);
usr/src/uts/common/fs/zfs/metaslab.c
3921
ASSERT(spa_has_checkpoint(spa));
usr/src/uts/common/fs/zfs/metaslab.c
3953
if (spa->spa_sync_pass == 1 && msp->ms_loaded &&
usr/src/uts/common/fs/zfs/metaslab.c
3963
space_map_t *log_sm = spa_syncing_log_sm(spa);
usr/src/uts/common/fs/zfs/metaslab.c
3965
ASSERT(spa_feature_is_enabled(spa, SPA_FEATURE_LOG_SPACEMAP));
usr/src/uts/common/fs/zfs/metaslab.c
3973
ASSERT3U(spa->spa_unflushed_stats.sus_memused, >=,
usr/src/uts/common/fs/zfs/metaslab.c
3975
spa->spa_unflushed_stats.sus_memused -=
usr/src/uts/common/fs/zfs/metaslab.c
3981
spa->spa_unflushed_stats.sus_memused +=
usr/src/uts/common/fs/zfs/metaslab.c
3984
ASSERT(!spa_feature_is_enabled(spa, SPA_FEATURE_LOG_SPACEMAP));
usr/src/uts/common/fs/zfs/metaslab.c
3999
ASSERT(spa_has_checkpoint(spa));
usr/src/uts/common/fs/zfs/metaslab.c
4013
spa->spa_checkpoint_info.sci_dspace +=
usr/src/uts/common/fs/zfs/metaslab.c
4079
if (spa_sync_pass(spa) == 1) {
usr/src/uts/common/fs/zfs/metaslab.c
4136
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
4198
uint64_t free_space = metaslab_class_get_space(spa_normal_class(spa)) -
usr/src/uts/common/fs/zfs/metaslab.c
4199
metaslab_class_get_alloc(spa_normal_class(spa));
usr/src/uts/common/fs/zfs/metaslab.c
4200
if (free_space <= spa_get_slop_space(spa) || vd->vdev_removing) {
usr/src/uts/common/fs/zfs/metaslab.c
4217
if (spa_syncing_log_sm(spa) == NULL) {
usr/src/uts/common/fs/zfs/metaslab.c
4227
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP));
usr/src/uts/common/fs/zfs/metaslab.c
4238
if (spa_get_autotrim(spa) == SPA_AUTOTRIM_ON) {
usr/src/uts/common/fs/zfs/metaslab.c
4324
spa_t *spa = mg->mg_class->mc_spa;
usr/src/uts/common/fs/zfs/metaslab.c
4326
spa_config_enter(spa, SCL_ALLOC, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/metaslab.c
4340
spa_config_exit(spa, SCL_ALLOC, FTAG);
usr/src/uts/common/fs/zfs/metaslab.c
4450
metaslab_group_alloc_increment(spa_t *spa, uint64_t vdev, void *tag, int flags,
usr/src/uts/common/fs/zfs/metaslab.c
4457
metaslab_group_t *mg = vdev_lookup_top(spa, vdev)->vdev_mg;
usr/src/uts/common/fs/zfs/metaslab.c
4481
metaslab_group_alloc_decrement(spa_t *spa, uint64_t vdev, void *tag, int flags,
usr/src/uts/common/fs/zfs/metaslab.c
4488
metaslab_group_t *mg = vdev_lookup_top(spa, vdev)->vdev_mg;
usr/src/uts/common/fs/zfs/metaslab.c
4498
metaslab_group_alloc_verify(spa_t *spa, const blkptr_t *bp, void *tag,
usr/src/uts/common/fs/zfs/metaslab.c
4507
metaslab_group_t *mg = vdev_lookup_top(spa, vdev)->vdev_mg;
usr/src/uts/common/fs/zfs/metaslab.c
476
spa_t *spa = mc->mc_spa;
usr/src/uts/common/fs/zfs/metaslab.c
477
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/metaslab.c
5003
metaslab_alloc_dva(spa_t *spa, metaslab_class_t *mc, uint64_t psize,
usr/src/uts/common/fs/zfs/metaslab.c
5046
vd = vdev_lookup_top(spa, DVA_GET_VDEV(&hintdva[d]));
usr/src/uts/common/fs/zfs/metaslab.c
5064
vd = vdev_lookup_top(spa, DVA_GET_VDEV(&dva[d - 1]));
usr/src/uts/common/fs/zfs/metaslab.c
5090
spa_config_enter(spa, SCL_ZIO, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/metaslab.c
5092
spa_config_exit(spa, SCL_ZIO, FTAG);
usr/src/uts/common/fs/zfs/metaslab.c
5214
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
5217
ASSERT3U(spa_config_held(spa, SCL_ALL, RW_READER), !=, 0);
usr/src/uts/common/fs/zfs/metaslab.c
5233
vdev_dirty(vd, VDD_METASLAB, msp, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/metaslab.c
5237
ASSERT(spa_has_checkpoint(spa));
usr/src/uts/common/fs/zfs/metaslab.c
5264
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
5266
ASSERT3U(spa_config_held(spa, SCL_ALL, RW_READER), !=, 0);
usr/src/uts/common/fs/zfs/metaslab.c
5268
if (spa_syncing_txg(spa) > spa_freeze_txg(spa))
usr/src/uts/common/fs/zfs/metaslab.c
5271
if (spa->spa_vdev_removal != NULL &&
usr/src/uts/common/fs/zfs/metaslab.c
5272
spa->spa_vdev_removal->svr_vdev_id == vd->vdev_id &&
usr/src/uts/common/fs/zfs/metaslab.c
5359
spa_remap_blkptr(spa_t *spa, blkptr_t *bp, spa_remap_cb_t callback, void *arg)
usr/src/uts/common/fs/zfs/metaslab.c
5366
if (!spa_feature_is_enabled(spa, SPA_FEATURE_OBSOLETE_COUNTS))
usr/src/uts/common/fs/zfs/metaslab.c
5399
vdev_t *vd = vdev_lookup_top(spa, DVA_GET_VDEV(dva));
usr/src/uts/common/fs/zfs/metaslab.c
5430
metaslab_unalloc_dva(spa_t *spa, const dva_t *dva, uint64_t txg)
usr/src/uts/common/fs/zfs/metaslab.c
5439
ASSERT3U(spa_config_held(spa, SCL_ALL, RW_READER), !=, 0);
usr/src/uts/common/fs/zfs/metaslab.c
5441
if (txg > spa_freeze_txg(spa))
usr/src/uts/common/fs/zfs/metaslab.c
5444
if ((vd = vdev_lookup_top(spa, vdev)) == NULL ||
usr/src/uts/common/fs/zfs/metaslab.c
5482
metaslab_free_dva(spa_t *spa, const dva_t *dva, boolean_t checkpoint)
usr/src/uts/common/fs/zfs/metaslab.c
5487
vdev_t *vd = vdev_lookup_top(spa, vdev);
usr/src/uts/common/fs/zfs/metaslab.c
5490
ASSERT3U(spa_config_held(spa, SCL_ALL, RW_READER), !=, 0);
usr/src/uts/common/fs/zfs/metaslab.c
5553
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
5564
if ((txg != 0 && spa_writeable(spa)) || !msp->ms_loaded)
usr/src/uts/common/fs/zfs/metaslab.c
5590
if (spa_writeable(spa)) { /* don't dirty if we're zdb(8) */
usr/src/uts/common/fs/zfs/metaslab.c
5665
metaslab_claim_dva(spa_t *spa, const dva_t *dva, uint64_t txg)
usr/src/uts/common/fs/zfs/metaslab.c
5672
if ((vd = vdev_lookup_top(spa, vdev)) == NULL) {
usr/src/uts/common/fs/zfs/metaslab.c
5685
metaslab_alloc(spa_t *spa, metaslab_class_t *mc, uint64_t psize, blkptr_t *bp,
usr/src/uts/common/fs/zfs/metaslab.c
5696
spa_config_enter(spa, SCL_ALLOC, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/metaslab.c
5699
spa_config_exit(spa, SCL_ALLOC, FTAG);
usr/src/uts/common/fs/zfs/metaslab.c
5703
ASSERT(ndvas > 0 && ndvas <= spa_max_replication(spa));
usr/src/uts/common/fs/zfs/metaslab.c
5709
error = metaslab_alloc_dva(spa, mc, psize, dva, d, hintdva,
usr/src/uts/common/fs/zfs/metaslab.c
5713
metaslab_unalloc_dva(spa, &dva[d], txg);
usr/src/uts/common/fs/zfs/metaslab.c
5714
metaslab_group_alloc_decrement(spa,
usr/src/uts/common/fs/zfs/metaslab.c
5719
spa_config_exit(spa, SCL_ALLOC, FTAG);
usr/src/uts/common/fs/zfs/metaslab.c
5726
metaslab_group_alloc_increment(spa,
usr/src/uts/common/fs/zfs/metaslab.c
5734
spa_config_exit(spa, SCL_ALLOC, FTAG);
usr/src/uts/common/fs/zfs/metaslab.c
5742
metaslab_free(spa_t *spa, const blkptr_t *bp, uint64_t txg, boolean_t now)
usr/src/uts/common/fs/zfs/metaslab.c
5748
ASSERT(!now || bp->blk_birth >= spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/metaslab.c
5766
if (bp->blk_birth <= spa->spa_checkpoint_txg &&
usr/src/uts/common/fs/zfs/metaslab.c
5767
spa_syncing_txg(spa) > spa->spa_checkpoint_txg) {
usr/src/uts/common/fs/zfs/metaslab.c
5773
ASSERT3U(spa_syncing_txg(spa), ==, txg);
usr/src/uts/common/fs/zfs/metaslab.c
5777
spa_config_enter(spa, SCL_FREE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/metaslab.c
5781
metaslab_unalloc_dva(spa, &dva[d], txg);
usr/src/uts/common/fs/zfs/metaslab.c
5783
ASSERT3U(txg, ==, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/metaslab.c
5784
metaslab_free_dva(spa, &dva[d], checkpoint);
usr/src/uts/common/fs/zfs/metaslab.c
5788
spa_config_exit(spa, SCL_FREE, FTAG);
usr/src/uts/common/fs/zfs/metaslab.c
5792
metaslab_claim(spa_t *spa, const blkptr_t *bp, uint64_t txg)
usr/src/uts/common/fs/zfs/metaslab.c
5805
if ((error = metaslab_claim(spa, bp, 0)) != 0)
usr/src/uts/common/fs/zfs/metaslab.c
5809
spa_config_enter(spa, SCL_ALLOC, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/metaslab.c
5812
error = metaslab_claim_dva(spa, &dva[d], txg);
usr/src/uts/common/fs/zfs/metaslab.c
5817
spa_config_exit(spa, SCL_ALLOC, FTAG);
usr/src/uts/common/fs/zfs/metaslab.c
5839
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
5852
ASSERT3U(spa_config_held(spa, SCL_ALL, RW_READER), !=, 0);
usr/src/uts/common/fs/zfs/metaslab.c
5883
metaslab_check_free(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/metaslab.c
5888
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/metaslab.c
5891
vdev_t *vd = vdev_lookup_top(spa, vdev);
usr/src/uts/common/fs/zfs/metaslab.c
5902
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/metaslab.c
5968
spa_t *spa = mg->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
5976
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/metaslab.c
5994
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
5995
objset_t *mos = spa_meta_objset(spa);
usr/src/uts/common/fs/zfs/metaslab.c
5997
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP));
usr/src/uts/common/fs/zfs/metaslab.c
6019
dmu_write(spa_meta_objset(spa), object, entry_offset, entry_size,
usr/src/uts/common/fs/zfs/metaslab.c
6026
spa_t *spa = ms->ms_group->mg_vd->vdev_spa;
usr/src/uts/common/fs/zfs/metaslab.c
6028
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/uts/common/fs/zfs/metaslab.c
903
spa_t *spa = mc->mc_spa;
usr/src/uts/common/fs/zfs/metaslab.c
905
int locks = spa_config_held(spa, SCL_ALL, RW_WRITER);
usr/src/uts/common/fs/zfs/metaslab.c
907
ASSERT3U(spa_config_held(spa, SCL_ALLOC | SCL_ZIO, RW_WRITER), ==,
usr/src/uts/common/fs/zfs/metaslab.c
932
spa_config_exit(spa, locks & ~(SCL_ZIO - 1), spa);
usr/src/uts/common/fs/zfs/metaslab.c
934
spa_config_enter(spa, locks & ~(SCL_ZIO - 1), spa, RW_WRITER);
usr/src/uts/common/fs/zfs/mmp.c
194
mmp_init(spa_t *spa)
usr/src/uts/common/fs/zfs/mmp.c
196
mmp_thread_t *mmp = &spa->spa_mmp;
usr/src/uts/common/fs/zfs/mmp.c
213
mmp_fini(spa_t *spa)
usr/src/uts/common/fs/zfs/mmp.c
215
mmp_thread_t *mmp = &spa->spa_mmp;
usr/src/uts/common/fs/zfs/mmp.c
240
mmp_thread_start(spa_t *spa)
usr/src/uts/common/fs/zfs/mmp.c
242
mmp_thread_t *mmp = &spa->spa_mmp;
usr/src/uts/common/fs/zfs/mmp.c
244
if (spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/mmp.c
248
spa, 0, &p0, TS_RUN, minclsyspri);
usr/src/uts/common/fs/zfs/mmp.c
250
"gethrtime %llu", spa_name(spa), gethrtime());
usr/src/uts/common/fs/zfs/mmp.c
257
mmp_thread_stop(spa_t *spa)
usr/src/uts/common/fs/zfs/mmp.c
259
mmp_thread_t *mmp = &spa->spa_mmp;
usr/src/uts/common/fs/zfs/mmp.c
270
spa_name(spa), gethrtime());
usr/src/uts/common/fs/zfs/mmp.c
293
mmp_next_leaf(spa_t *spa)
usr/src/uts/common/fs/zfs/mmp.c
299
ASSERT(MUTEX_HELD(&spa->spa_mmp.mmp_io_lock));
usr/src/uts/common/fs/zfs/mmp.c
300
ASSERT(spa_config_held(spa, SCL_STATE, RW_READER));
usr/src/uts/common/fs/zfs/mmp.c
301
ASSERT(list_link_active(&spa->spa_leaf_list.list_head) == B_TRUE);
usr/src/uts/common/fs/zfs/mmp.c
302
ASSERT(!list_is_empty(&spa->spa_leaf_list));
usr/src/uts/common/fs/zfs/mmp.c
304
if (spa->spa_mmp.mmp_leaf_last_gen != spa->spa_leaf_list_gen) {
usr/src/uts/common/fs/zfs/mmp.c
305
spa->spa_mmp.mmp_last_leaf = list_head(&spa->spa_leaf_list);
usr/src/uts/common/fs/zfs/mmp.c
306
spa->spa_mmp.mmp_leaf_last_gen = spa->spa_leaf_list_gen;
usr/src/uts/common/fs/zfs/mmp.c
309
leaf = spa->spa_mmp.mmp_last_leaf;
usr/src/uts/common/fs/zfs/mmp.c
311
leaf = list_head(&spa->spa_leaf_list);
usr/src/uts/common/fs/zfs/mmp.c
315
leaf = list_next(&spa->spa_leaf_list, leaf);
usr/src/uts/common/fs/zfs/mmp.c
317
leaf = list_head(&spa->spa_leaf_list);
usr/src/uts/common/fs/zfs/mmp.c
324
spa->spa_mmp.mmp_last_leaf = leaf;
usr/src/uts/common/fs/zfs/mmp.c
356
mmp_delay_update(spa_t *spa, boolean_t write_completed)
usr/src/uts/common/fs/zfs/mmp.c
358
mmp_thread_t *mts = &spa->spa_mmp;
usr/src/uts/common/fs/zfs/mmp.c
363
if (spa_multihost(spa) == B_FALSE) {
usr/src/uts/common/fs/zfs/mmp.c
382
MAX(1, vdev_count_leaves(spa));
usr/src/uts/common/fs/zfs/mmp.c
391
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/mmp.c
399
mmp_delay_update(spa, (zio->io_error == 0));
usr/src/uts/common/fs/zfs/mmp.c
405
spa_config_exit(spa, SCL_STATE, mmp_tag);
usr/src/uts/common/fs/zfs/mmp.c
416
mmp_update_uberblock(spa_t *spa, uberblock_t *ub)
usr/src/uts/common/fs/zfs/mmp.c
418
mmp_thread_t *mmp = &spa->spa_mmp;
usr/src/uts/common/fs/zfs/mmp.c
424
mmp_delay_update(spa, B_TRUE);
usr/src/uts/common/fs/zfs/mmp.c
434
mmp_write_uberblock(spa_t *spa)
usr/src/uts/common/fs/zfs/mmp.c
437
mmp_thread_t *mmp = &spa->spa_mmp;
usr/src/uts/common/fs/zfs/mmp.c
444
spa_config_enter(spa, SCL_STATE, mmp_tag, RW_READER);
usr/src/uts/common/fs/zfs/mmp.c
448
"gethrtime %llu", spa_name(spa), lock_acquire_time,
usr/src/uts/common/fs/zfs/mmp.c
453
error = mmp_next_leaf(spa);
usr/src/uts/common/fs/zfs/mmp.c
464
mmp_delay_update(spa, B_FALSE);
usr/src/uts/common/fs/zfs/mmp.c
479
"gethrtime %llu fail_mask %#x", spa_name(spa),
usr/src/uts/common/fs/zfs/mmp.c
483
spa_config_exit(spa, SCL_STATE, mmp_tag);
usr/src/uts/common/fs/zfs/mmp.c
487
vd = spa->spa_mmp.mmp_last_leaf;
usr/src/uts/common/fs/zfs/mmp.c
492
spa_name(spa), gethrtime(), vd->vdev_guid);
usr/src/uts/common/fs/zfs/mmp.c
496
mmp->mmp_zio_root = zio_root(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/mmp.c
519
zio_t *zio = zio_null(mmp->mmp_zio_root, spa, NULL, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/mmp.c
548
spa_t *spa = (spa_t *)arg;
usr/src/uts/common/fs/zfs/mmp.c
549
mmp_thread_t *mmp = &spa->spa_mmp;
usr/src/uts/common/fs/zfs/mmp.c
550
boolean_t suspended = spa_suspended(spa);
usr/src/uts/common/fs/zfs/mmp.c
551
boolean_t multihost = spa_multihost(spa);
usr/src/uts/common/fs/zfs/mmp.c
570
int leaves = MAX(vdev_count_leaves(spa), 1);
usr/src/uts/common/fs/zfs/mmp.c
576
suspended = spa_suspended(spa);
usr/src/uts/common/fs/zfs/mmp.c
577
multihost = spa_multihost(spa);
usr/src/uts/common/fs/zfs/mmp.c
614
spa_name(spa), gethrtime(), last_mmp_interval,
usr/src/uts/common/fs/zfs/mmp.c
630
spa_name(spa), last_spa_multihost, multihost,
usr/src/uts/common/fs/zfs/mmp.c
657
spa_name(spa), (u_longlong_t)gethrtime(),
usr/src/uts/common/fs/zfs/mmp.c
665
spa_name(spa),
usr/src/uts/common/fs/zfs/mmp.c
668
zio_suspend(spa, NULL, ZIO_SUSPEND_MMP);
usr/src/uts/common/fs/zfs/mmp.c
672
mmp_write_uberblock(spa);
usr/src/uts/common/fs/zfs/mmp.c
702
mmp_signal_thread(spa_t *spa)
usr/src/uts/common/fs/zfs/mmp.c
704
mmp_thread_t *mmp = &spa->spa_mmp;
usr/src/uts/common/fs/zfs/mmp.c
715
spa_t *spa = NULL;
usr/src/uts/common/fs/zfs/mmp.c
718
while ((spa = spa_next(spa))) {
usr/src/uts/common/fs/zfs/mmp.c
719
if (spa->spa_state == POOL_STATE_ACTIVE)
usr/src/uts/common/fs/zfs/mmp.c
720
mmp_signal_thread(spa);
usr/src/uts/common/fs/zfs/spa.c
1003
spa->spa_proc, zio_taskq_basedc, flags);
usr/src/uts/common/fs/zfs/spa.c
1015
INT_MAX, spa->spa_proc, flags);
usr/src/uts/common/fs/zfs/spa.c
1023
spa_taskqs_fini(spa_t *spa, zio_type_t t, zio_taskq_type_t q)
usr/src/uts/common/fs/zfs/spa.c
1025
spa_taskqs_t *tqs = &spa->spa_zio_taskq[t][q];
usr/src/uts/common/fs/zfs/spa.c
1048
spa_taskq_dispatch_ent(spa_t *spa, zio_type_t t, zio_taskq_type_t q,
usr/src/uts/common/fs/zfs/spa.c
1051
spa_taskqs_t *tqs = &spa->spa_zio_taskq[t][q];
usr/src/uts/common/fs/zfs/spa.c
1067
spa_create_zio_taskqs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1071
spa_taskqs_init(spa, t, q);
usr/src/uts/common/fs/zfs/spa.c
1081
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/spa.c
1086
spa);
usr/src/uts/common/fs/zfs/spa.c
1088
CALLB_CPR_INIT(&cprinfo, &spa->spa_proc_lock, callb_generic_cpr,
usr/src/uts/common/fs/zfs/spa.c
1093
"zpool-%s", spa->spa_name);
usr/src/uts/common/fs/zfs/spa.c
1109
"pset %d\n", spa->spa_name, zio_taskq_psrset_bind);
usr/src/uts/common/fs/zfs/spa.c
1122
spa->spa_proc = curproc;
usr/src/uts/common/fs/zfs/spa.c
1123
spa->spa_did = curthread->t_did;
usr/src/uts/common/fs/zfs/spa.c
1125
spa_create_zio_taskqs(spa);
usr/src/uts/common/fs/zfs/spa.c
1127
mutex_enter(&spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa.c
1128
ASSERT(spa->spa_proc_state == SPA_PROC_CREATED);
usr/src/uts/common/fs/zfs/spa.c
1130
spa->spa_proc_state = SPA_PROC_ACTIVE;
usr/src/uts/common/fs/zfs/spa.c
1131
cv_broadcast(&spa->spa_proc_cv);
usr/src/uts/common/fs/zfs/spa.c
1134
while (spa->spa_proc_state == SPA_PROC_ACTIVE)
usr/src/uts/common/fs/zfs/spa.c
1135
cv_wait(&spa->spa_proc_cv, &spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa.c
1136
CALLB_CPR_SAFE_END(&cprinfo, &spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa.c
1138
ASSERT(spa->spa_proc_state == SPA_PROC_DEACTIVATE);
usr/src/uts/common/fs/zfs/spa.c
1139
spa->spa_proc_state = SPA_PROC_GONE;
usr/src/uts/common/fs/zfs/spa.c
1140
spa->spa_proc = &p0;
usr/src/uts/common/fs/zfs/spa.c
1141
cv_broadcast(&spa->spa_proc_cv);
usr/src/uts/common/fs/zfs/spa.c
1153
spa_activate(spa_t *spa, int mode)
usr/src/uts/common/fs/zfs/spa.c
1155
ASSERT(spa->spa_state == POOL_STATE_UNINITIALIZED);
usr/src/uts/common/fs/zfs/spa.c
1157
spa->spa_state = POOL_STATE_ACTIVE;
usr/src/uts/common/fs/zfs/spa.c
1158
spa->spa_mode = mode;
usr/src/uts/common/fs/zfs/spa.c
1160
spa->spa_normal_class = metaslab_class_create(spa, zfs_metaslab_ops);
usr/src/uts/common/fs/zfs/spa.c
1161
spa->spa_log_class = metaslab_class_create(spa, zfs_metaslab_ops);
usr/src/uts/common/fs/zfs/spa.c
1162
spa->spa_special_class = metaslab_class_create(spa, zfs_metaslab_ops);
usr/src/uts/common/fs/zfs/spa.c
1163
spa->spa_dedup_class = metaslab_class_create(spa, zfs_metaslab_ops);
usr/src/uts/common/fs/zfs/spa.c
1166
mutex_enter(&spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa.c
1167
ASSERT(spa->spa_proc_state == SPA_PROC_NONE);
usr/src/uts/common/fs/zfs/spa.c
1168
ASSERT(spa->spa_proc == &p0);
usr/src/uts/common/fs/zfs/spa.c
1169
spa->spa_did = 0;
usr/src/uts/common/fs/zfs/spa.c
1172
if (spa_create_process && strcmp(spa->spa_name, TRYIMPORT_NAME) != 0) {
usr/src/uts/common/fs/zfs/spa.c
1173
if (newproc(spa_thread, (caddr_t)spa, syscid, maxclsyspri,
usr/src/uts/common/fs/zfs/spa.c
1175
spa->spa_proc_state = SPA_PROC_CREATED;
usr/src/uts/common/fs/zfs/spa.c
1176
while (spa->spa_proc_state == SPA_PROC_CREATED) {
usr/src/uts/common/fs/zfs/spa.c
1177
cv_wait(&spa->spa_proc_cv,
usr/src/uts/common/fs/zfs/spa.c
1178
&spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa.c
1180
ASSERT(spa->spa_proc_state == SPA_PROC_ACTIVE);
usr/src/uts/common/fs/zfs/spa.c
1181
ASSERT(spa->spa_proc != &p0);
usr/src/uts/common/fs/zfs/spa.c
1182
ASSERT(spa->spa_did != 0);
usr/src/uts/common/fs/zfs/spa.c
1187
spa->spa_name);
usr/src/uts/common/fs/zfs/spa.c
1191
mutex_exit(&spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa.c
1194
if (spa->spa_proc == &p0) {
usr/src/uts/common/fs/zfs/spa.c
1195
spa_create_zio_taskqs(spa);
usr/src/uts/common/fs/zfs/spa.c
1199
spa->spa_txg_zio[i] = zio_root(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/spa.c
1203
list_create(&spa->spa_config_dirty_list, sizeof (vdev_t),
usr/src/uts/common/fs/zfs/spa.c
1205
list_create(&spa->spa_evicting_os_list, sizeof (objset_t),
usr/src/uts/common/fs/zfs/spa.c
1207
list_create(&spa->spa_state_dirty_list, sizeof (vdev_t),
usr/src/uts/common/fs/zfs/spa.c
1210
txg_list_create(&spa->spa_vdev_txg_list, spa,
usr/src/uts/common/fs/zfs/spa.c
1213
avl_create(&spa->spa_errlist_scrub,
usr/src/uts/common/fs/zfs/spa.c
1216
avl_create(&spa->spa_errlist_last,
usr/src/uts/common/fs/zfs/spa.c
1220
spa_keystore_init(&spa->spa_keystore);
usr/src/uts/common/fs/zfs/spa.c
1226
spa->spa_upgrade_taskq = taskq_create("z_upgrade", boot_ncpus,
usr/src/uts/common/fs/zfs/spa.c
1234
spa_deactivate(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1236
ASSERT(spa->spa_sync_on == B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
1237
ASSERT(spa->spa_dsl_pool == NULL);
usr/src/uts/common/fs/zfs/spa.c
1238
ASSERT(spa->spa_root_vdev == NULL);
usr/src/uts/common/fs/zfs/spa.c
1239
ASSERT(spa->spa_async_zio_root == NULL);
usr/src/uts/common/fs/zfs/spa.c
1240
ASSERT(spa->spa_state != POOL_STATE_UNINITIALIZED);
usr/src/uts/common/fs/zfs/spa.c
1242
spa_evicting_os_wait(spa);
usr/src/uts/common/fs/zfs/spa.c
1244
if (spa->spa_upgrade_taskq) {
usr/src/uts/common/fs/zfs/spa.c
1245
taskq_destroy(spa->spa_upgrade_taskq);
usr/src/uts/common/fs/zfs/spa.c
1246
spa->spa_upgrade_taskq = NULL;
usr/src/uts/common/fs/zfs/spa.c
1249
txg_list_destroy(&spa->spa_vdev_txg_list);
usr/src/uts/common/fs/zfs/spa.c
1251
list_destroy(&spa->spa_config_dirty_list);
usr/src/uts/common/fs/zfs/spa.c
1252
list_destroy(&spa->spa_evicting_os_list);
usr/src/uts/common/fs/zfs/spa.c
1253
list_destroy(&spa->spa_state_dirty_list);
usr/src/uts/common/fs/zfs/spa.c
1257
spa_taskqs_fini(spa, t, q);
usr/src/uts/common/fs/zfs/spa.c
1262
ASSERT3P(spa->spa_txg_zio[i], !=, NULL);
usr/src/uts/common/fs/zfs/spa.c
1263
VERIFY0(zio_wait(spa->spa_txg_zio[i]));
usr/src/uts/common/fs/zfs/spa.c
1264
spa->spa_txg_zio[i] = NULL;
usr/src/uts/common/fs/zfs/spa.c
1267
metaslab_class_destroy(spa->spa_normal_class);
usr/src/uts/common/fs/zfs/spa.c
1268
spa->spa_normal_class = NULL;
usr/src/uts/common/fs/zfs/spa.c
1270
metaslab_class_destroy(spa->spa_log_class);
usr/src/uts/common/fs/zfs/spa.c
1271
spa->spa_log_class = NULL;
usr/src/uts/common/fs/zfs/spa.c
1273
metaslab_class_destroy(spa->spa_special_class);
usr/src/uts/common/fs/zfs/spa.c
1274
spa->spa_special_class = NULL;
usr/src/uts/common/fs/zfs/spa.c
1276
metaslab_class_destroy(spa->spa_dedup_class);
usr/src/uts/common/fs/zfs/spa.c
1277
spa->spa_dedup_class = NULL;
usr/src/uts/common/fs/zfs/spa.c
1283
spa_errlog_drain(spa);
usr/src/uts/common/fs/zfs/spa.c
1284
avl_destroy(&spa->spa_errlist_scrub);
usr/src/uts/common/fs/zfs/spa.c
1285
avl_destroy(&spa->spa_errlist_last);
usr/src/uts/common/fs/zfs/spa.c
1287
spa_keystore_fini(&spa->spa_keystore);
usr/src/uts/common/fs/zfs/spa.c
1289
spa->spa_state = POOL_STATE_UNINITIALIZED;
usr/src/uts/common/fs/zfs/spa.c
1291
mutex_enter(&spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa.c
1292
if (spa->spa_proc_state != SPA_PROC_NONE) {
usr/src/uts/common/fs/zfs/spa.c
1293
ASSERT(spa->spa_proc_state == SPA_PROC_ACTIVE);
usr/src/uts/common/fs/zfs/spa.c
1294
spa->spa_proc_state = SPA_PROC_DEACTIVATE;
usr/src/uts/common/fs/zfs/spa.c
1295
cv_broadcast(&spa->spa_proc_cv);
usr/src/uts/common/fs/zfs/spa.c
1296
while (spa->spa_proc_state == SPA_PROC_DEACTIVATE) {
usr/src/uts/common/fs/zfs/spa.c
1297
ASSERT(spa->spa_proc != &p0);
usr/src/uts/common/fs/zfs/spa.c
1298
cv_wait(&spa->spa_proc_cv, &spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa.c
1300
ASSERT(spa->spa_proc_state == SPA_PROC_GONE);
usr/src/uts/common/fs/zfs/spa.c
1301
spa->spa_proc_state = SPA_PROC_NONE;
usr/src/uts/common/fs/zfs/spa.c
1303
ASSERT(spa->spa_proc == &p0);
usr/src/uts/common/fs/zfs/spa.c
1304
mutex_exit(&spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa.c
1311
if (spa->spa_did != 0) {
usr/src/uts/common/fs/zfs/spa.c
1312
thread_join(spa->spa_did);
usr/src/uts/common/fs/zfs/spa.c
1313
spa->spa_did = 0;
usr/src/uts/common/fs/zfs/spa.c
1324
spa_config_parse(spa_t *spa, vdev_t **vdp, nvlist_t *nv, vdev_t *parent,
usr/src/uts/common/fs/zfs/spa.c
1331
if ((error = vdev_alloc(spa, vdp, nv, parent, id, atype)) != 0)
usr/src/uts/common/fs/zfs/spa.c
1351
if ((error = spa_config_parse(spa, &vd, child[c], *vdp, c,
usr/src/uts/common/fs/zfs/spa.c
1365
spa_should_flush_logs_on_unload(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1367
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/uts/common/fs/zfs/spa.c
1370
if (!spa_writeable(spa))
usr/src/uts/common/fs/zfs/spa.c
1373
if (!spa->spa_sync_on)
usr/src/uts/common/fs/zfs/spa.c
1376
if (spa_state(spa) != POOL_STATE_EXPORTED)
usr/src/uts/common/fs/zfs/spa.c
1390
spa_unload_log_sm_flush_all(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1392
dmu_tx_t *tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/spa.c
1396
ASSERT3U(spa->spa_log_flushall_txg, ==, 0);
usr/src/uts/common/fs/zfs/spa.c
1397
spa->spa_log_flushall_txg = dmu_tx_get_txg(tx);
usr/src/uts/common/fs/zfs/spa.c
1400
txg_wait_synced(spa_get_dsl(spa), spa->spa_log_flushall_txg);
usr/src/uts/common/fs/zfs/spa.c
1404
spa_unload_log_sm_metadata(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1409
while ((sls = avl_destroy_nodes(&spa->spa_sm_logs_by_txg,
usr/src/uts/common/fs/zfs/spa.c
1415
for (log_summary_entry_t *e = list_head(&spa->spa_log_summary);
usr/src/uts/common/fs/zfs/spa.c
1416
e != NULL; e = list_head(&spa->spa_log_summary)) {
usr/src/uts/common/fs/zfs/spa.c
1418
list_remove(&spa->spa_log_summary, e);
usr/src/uts/common/fs/zfs/spa.c
1422
spa->spa_unflushed_stats.sus_nblocks = 0;
usr/src/uts/common/fs/zfs/spa.c
1423
spa->spa_unflushed_stats.sus_memused = 0;
usr/src/uts/common/fs/zfs/spa.c
1424
spa->spa_unflushed_stats.sus_blocklimit = 0;
usr/src/uts/common/fs/zfs/spa.c
1431
spa_unload(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1434
ASSERT(spa_state(spa) != POOL_STATE_UNINITIALIZED);
usr/src/uts/common/fs/zfs/spa.c
1436
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
1437
spa_load_note(spa, "UNLOADING");
usr/src/uts/common/fs/zfs/spa.c
1445
if (spa_should_flush_logs_on_unload(spa))
usr/src/uts/common/fs/zfs/spa.c
1446
spa_unload_log_sm_flush_all(spa);
usr/src/uts/common/fs/zfs/spa.c
1451
spa_async_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
1453
if (spa->spa_root_vdev) {
usr/src/uts/common/fs/zfs/spa.c
1454
vdev_t *root_vdev = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
1457
vdev_autotrim_stop_all(spa);
usr/src/uts/common/fs/zfs/spa.c
1463
if (spa->spa_sync_on) {
usr/src/uts/common/fs/zfs/spa.c
1464
txg_sync_stop(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
1465
spa->spa_sync_on = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
1472
if (spa->spa_root_vdev != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1473
for (int c = 0; c < spa->spa_root_vdev->vdev_children; c++) {
usr/src/uts/common/fs/zfs/spa.c
1474
vdev_t *vc = spa->spa_root_vdev->vdev_child[c];
usr/src/uts/common/fs/zfs/spa.c
1480
if (spa->spa_mmp.mmp_thread)
usr/src/uts/common/fs/zfs/spa.c
1481
mmp_thread_stop(spa);
usr/src/uts/common/fs/zfs/spa.c
1486
if (spa->spa_async_zio_root != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1488
(void) zio_wait(spa->spa_async_zio_root[i]);
usr/src/uts/common/fs/zfs/spa.c
1489
kmem_free(spa->spa_async_zio_root, max_ncpus * sizeof (void *));
usr/src/uts/common/fs/zfs/spa.c
1490
spa->spa_async_zio_root = NULL;
usr/src/uts/common/fs/zfs/spa.c
1493
if (spa->spa_vdev_removal != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1494
spa_vdev_removal_destroy(spa->spa_vdev_removal);
usr/src/uts/common/fs/zfs/spa.c
1495
spa->spa_vdev_removal = NULL;
usr/src/uts/common/fs/zfs/spa.c
1498
if (spa->spa_condense_zthr != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1499
zthr_destroy(spa->spa_condense_zthr);
usr/src/uts/common/fs/zfs/spa.c
1500
spa->spa_condense_zthr = NULL;
usr/src/uts/common/fs/zfs/spa.c
1503
if (spa->spa_checkpoint_discard_zthr != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1504
zthr_destroy(spa->spa_checkpoint_discard_zthr);
usr/src/uts/common/fs/zfs/spa.c
1505
spa->spa_checkpoint_discard_zthr = NULL;
usr/src/uts/common/fs/zfs/spa.c
1508
spa_condense_fini(spa);
usr/src/uts/common/fs/zfs/spa.c
1510
bpobj_close(&spa->spa_deferred_bpobj);
usr/src/uts/common/fs/zfs/spa.c
1512
spa_config_enter(spa, SCL_ALL, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
1517
if (spa->spa_root_vdev)
usr/src/uts/common/fs/zfs/spa.c
1518
vdev_free(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
1519
ASSERT(spa->spa_root_vdev == NULL);
usr/src/uts/common/fs/zfs/spa.c
1524
if (spa->spa_dsl_pool) {
usr/src/uts/common/fs/zfs/spa.c
1525
dsl_pool_close(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
1526
spa->spa_dsl_pool = NULL;
usr/src/uts/common/fs/zfs/spa.c
1527
spa->spa_meta_objset = NULL;
usr/src/uts/common/fs/zfs/spa.c
1530
ddt_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
1531
spa_unload_log_sm_metadata(spa);
usr/src/uts/common/fs/zfs/spa.c
1536
spa_l2cache_drop(spa);
usr/src/uts/common/fs/zfs/spa.c
1538
for (int i = 0; i < spa->spa_spares.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
1539
vdev_free(spa->spa_spares.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
1540
if (spa->spa_spares.sav_vdevs) {
usr/src/uts/common/fs/zfs/spa.c
1541
kmem_free(spa->spa_spares.sav_vdevs,
usr/src/uts/common/fs/zfs/spa.c
1542
spa->spa_spares.sav_count * sizeof (void *));
usr/src/uts/common/fs/zfs/spa.c
1543
spa->spa_spares.sav_vdevs = NULL;
usr/src/uts/common/fs/zfs/spa.c
1545
if (spa->spa_spares.sav_config) {
usr/src/uts/common/fs/zfs/spa.c
1546
nvlist_free(spa->spa_spares.sav_config);
usr/src/uts/common/fs/zfs/spa.c
1547
spa->spa_spares.sav_config = NULL;
usr/src/uts/common/fs/zfs/spa.c
1549
spa->spa_spares.sav_count = 0;
usr/src/uts/common/fs/zfs/spa.c
1551
for (int i = 0; i < spa->spa_l2cache.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
1552
vdev_clear_stats(spa->spa_l2cache.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
1553
vdev_free(spa->spa_l2cache.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
1555
if (spa->spa_l2cache.sav_vdevs) {
usr/src/uts/common/fs/zfs/spa.c
1556
kmem_free(spa->spa_l2cache.sav_vdevs,
usr/src/uts/common/fs/zfs/spa.c
1557
spa->spa_l2cache.sav_count * sizeof (void *));
usr/src/uts/common/fs/zfs/spa.c
1558
spa->spa_l2cache.sav_vdevs = NULL;
usr/src/uts/common/fs/zfs/spa.c
1560
if (spa->spa_l2cache.sav_config) {
usr/src/uts/common/fs/zfs/spa.c
1561
nvlist_free(spa->spa_l2cache.sav_config);
usr/src/uts/common/fs/zfs/spa.c
1562
spa->spa_l2cache.sav_config = NULL;
usr/src/uts/common/fs/zfs/spa.c
1564
spa->spa_l2cache.sav_count = 0;
usr/src/uts/common/fs/zfs/spa.c
1566
spa->spa_async_suspended = 0;
usr/src/uts/common/fs/zfs/spa.c
1568
spa->spa_indirect_vdevs_loaded = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
1570
if (spa->spa_comment != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1571
spa_strfree(spa->spa_comment);
usr/src/uts/common/fs/zfs/spa.c
1572
spa->spa_comment = NULL;
usr/src/uts/common/fs/zfs/spa.c
1575
spa_config_exit(spa, SCL_ALL, spa);
usr/src/uts/common/fs/zfs/spa.c
1585
spa_load_spares(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1600
if (!spa_writeable(spa))
usr/src/uts/common/fs/zfs/spa.c
1604
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/spa.c
1609
for (i = 0; i < spa->spa_spares.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
161
static boolean_t spa_has_active_shared_spare(spa_t *spa);
usr/src/uts/common/fs/zfs/spa.c
1610
vd = spa->spa_spares.sav_vdevs[i];
usr/src/uts/common/fs/zfs/spa.c
1613
if ((tvd = spa_lookup_by_guid(spa, vd->vdev_guid,
usr/src/uts/common/fs/zfs/spa.c
162
static int spa_load_impl(spa_t *spa, spa_import_type_t type, char **ereport);
usr/src/uts/common/fs/zfs/spa.c
1620
if (spa->spa_spares.sav_vdevs)
usr/src/uts/common/fs/zfs/spa.c
1621
kmem_free(spa->spa_spares.sav_vdevs,
usr/src/uts/common/fs/zfs/spa.c
1622
spa->spa_spares.sav_count * sizeof (void *));
usr/src/uts/common/fs/zfs/spa.c
1624
if (spa->spa_spares.sav_config == NULL)
usr/src/uts/common/fs/zfs/spa.c
1627
VERIFY(nvlist_lookup_nvlist_array(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
163
static void spa_vdev_resilver_done(spa_t *spa);
usr/src/uts/common/fs/zfs/spa.c
1630
spa->spa_spares.sav_count = (int)nspares;
usr/src/uts/common/fs/zfs/spa.c
1631
spa->spa_spares.sav_vdevs = NULL;
usr/src/uts/common/fs/zfs/spa.c
1645
spa->spa_spares.sav_vdevs = kmem_alloc(nspares * sizeof (void *),
usr/src/uts/common/fs/zfs/spa.c
1647
for (i = 0; i < spa->spa_spares.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
1648
VERIFY(spa_config_parse(spa, &vd, spares[i], NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
1652
spa->spa_spares.sav_vdevs[i] = vd;
usr/src/uts/common/fs/zfs/spa.c
1654
if ((tvd = spa_lookup_by_guid(spa, vd->vdev_guid,
usr/src/uts/common/fs/zfs/spa.c
1677
vd->vdev_aux = &spa->spa_spares;
usr/src/uts/common/fs/zfs/spa.c
1690
VERIFY(nvlist_remove(spa->spa_spares.sav_config, ZPOOL_CONFIG_SPARES,
usr/src/uts/common/fs/zfs/spa.c
1693
spares = kmem_alloc(spa->spa_spares.sav_count * sizeof (void *),
usr/src/uts/common/fs/zfs/spa.c
1695
for (i = 0; i < spa->spa_spares.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
1696
spares[i] = vdev_config_generate(spa,
usr/src/uts/common/fs/zfs/spa.c
1697
spa->spa_spares.sav_vdevs[i], B_TRUE, VDEV_CONFIG_SPARE);
usr/src/uts/common/fs/zfs/spa.c
1698
VERIFY(nvlist_add_nvlist_array(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
1699
ZPOOL_CONFIG_SPARES, spares, spa->spa_spares.sav_count) == 0);
usr/src/uts/common/fs/zfs/spa.c
1700
for (i = 0; i < spa->spa_spares.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
1702
kmem_free(spares, spa->spa_spares.sav_count * sizeof (void *));
usr/src/uts/common/fs/zfs/spa.c
1714
spa_load_l2cache(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1721
spa_aux_vdev_t *sav = &spa->spa_l2cache;
usr/src/uts/common/fs/zfs/spa.c
1732
if (!spa_writeable(spa))
usr/src/uts/common/fs/zfs/spa.c
1736
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/spa.c
1778
VERIFY(spa_config_parse(spa, &vd, l2cache[i], NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
1800
l2arc_add_vdev(spa, vd);
usr/src/uts/common/fs/zfs/spa.c
1844
l2cache[i] = vdev_config_generate(spa,
usr/src/uts/common/fs/zfs/spa.c
1856
load_nvlist(spa_t *spa, uint64_t obj, nvlist_t **value)
usr/src/uts/common/fs/zfs/spa.c
1864
error = dmu_bonus_hold(spa->spa_meta_objset, obj, FTAG, &db);
usr/src/uts/common/fs/zfs/spa.c
1872
error = dmu_read(spa->spa_meta_objset, obj, 0, nvsize, packed,
usr/src/uts/common/fs/zfs/spa.c
1886
spa_healthy_core_tvds(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1888
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
1920
spa_check_for_missing_logs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1922
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
1929
if (!(spa->spa_import_flags & ZFS_IMPORT_MISSING_LOG)) {
usr/src/uts/common/fs/zfs/spa.c
1947
child[idx++] = vdev_config_generate(spa, tvd,
usr/src/uts/common/fs/zfs/spa.c
1955
fnvlist_add_nvlist(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
1965
spa_load_failed(spa, "some log devices are missing");
usr/src/uts/common/fs/zfs/spa.c
1975
spa_set_log_state(spa, SPA_LOG_CLEAR);
usr/src/uts/common/fs/zfs/spa.c
1976
spa_load_note(spa, "some log devices are "
usr/src/uts/common/fs/zfs/spa.c
1991
spa_check_logs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1994
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/spa.c
1996
switch (spa->spa_log_state) {
usr/src/uts/common/fs/zfs/spa.c
2003
spa_set_log_state(spa, SPA_LOG_MISSING);
usr/src/uts/common/fs/zfs/spa.c
2010
spa_passivate_log(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2012
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2015
ASSERT(spa_config_held(spa, SCL_ALLOC, RW_WRITER));
usr/src/uts/common/fs/zfs/spa.c
2017
if (!spa_has_slogs(spa))
usr/src/uts/common/fs/zfs/spa.c
2034
spa_activate_log(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2036
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2038
ASSERT(spa_config_held(spa, SCL_ALLOC, RW_WRITER));
usr/src/uts/common/fs/zfs/spa.c
2050
spa_reset_logs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2054
error = dmu_objset_find(spa_name(spa), zil_reset,
usr/src/uts/common/fs/zfs/spa.c
2062
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/spa.c
2077
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/spa.c
2082
mutex_enter(&spa->spa_props_lock); /* any mutex will do */
usr/src/uts/common/fs/zfs/spa.c
2083
if (spa->spa_claim_max_txg < zio->io_bp->blk_birth)
usr/src/uts/common/fs/zfs/spa.c
2084
spa->spa_claim_max_txg = zio->io_bp->blk_birth;
usr/src/uts/common/fs/zfs/spa.c
2085
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
2100
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/spa.c
2111
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa.c
2112
spa->spa_load_verify_ios--;
usr/src/uts/common/fs/zfs/spa.c
2113
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/spa.c
2114
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa.c
2127
spa_load_verify_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/spa.c
2145
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa.c
2146
while (spa->spa_load_verify_ios >= spa_load_verify_maxinflight)
usr/src/uts/common/fs/zfs/spa.c
2147
cv_wait(&spa->spa_scrub_io_cv, &spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa.c
2148
spa->spa_load_verify_ios++;
usr/src/uts/common/fs/zfs/spa.c
2149
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa.c
2151
zio_nowait(zio_read(rio, spa, bp, abd_alloc_for_io(size, B_FALSE), size,
usr/src/uts/common/fs/zfs/spa.c
2169
spa_load_verify(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2177
zpool_get_load_policy(spa->spa_config, &policy);
usr/src/uts/common/fs/zfs/spa.c
2182
dsl_pool_config_enter(spa->spa_dsl_pool, FTAG);
usr/src/uts/common/fs/zfs/spa.c
2183
error = dmu_objset_find_dp(spa->spa_dsl_pool,
usr/src/uts/common/fs/zfs/spa.c
2184
spa->spa_dsl_pool->dp_root_dir_obj, verify_dataset_name_len, NULL,
usr/src/uts/common/fs/zfs/spa.c
2186
dsl_pool_config_exit(spa->spa_dsl_pool, FTAG);
usr/src/uts/common/fs/zfs/spa.c
2190
rio = zio_root(spa, NULL, &sle,
usr/src/uts/common/fs/zfs/spa.c
2194
if (spa->spa_extreme_rewind) {
usr/src/uts/common/fs/zfs/spa.c
2195
spa_load_note(spa, "performing a complete scan of the "
usr/src/uts/common/fs/zfs/spa.c
2201
error = traverse_pool(spa, spa->spa_verify_min_txg,
usr/src/uts/common/fs/zfs/spa.c
2208
spa->spa_load_meta_errors = sle.sle_meta_count;
usr/src/uts/common/fs/zfs/spa.c
2209
spa->spa_load_data_errors = sle.sle_data_count;
usr/src/uts/common/fs/zfs/spa.c
2212
spa_load_note(spa, "spa_load_verify found %llu metadata errors "
usr/src/uts/common/fs/zfs/spa.c
2223
spa->spa_load_txg = spa->spa_uberblock.ub_txg;
usr/src/uts/common/fs/zfs/spa.c
2224
spa->spa_load_txg_ts = spa->spa_uberblock.ub_timestamp;
usr/src/uts/common/fs/zfs/spa.c
2226
loss = spa->spa_last_ubsync_txg_ts - spa->spa_load_txg_ts;
usr/src/uts/common/fs/zfs/spa.c
2227
VERIFY(nvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2228
ZPOOL_CONFIG_LOAD_TIME, spa->spa_load_txg_ts) == 0);
usr/src/uts/common/fs/zfs/spa.c
2229
VERIFY(nvlist_add_int64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2231
VERIFY(nvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2234
spa->spa_load_max_txg = spa->spa_uberblock.ub_txg;
usr/src/uts/common/fs/zfs/spa.c
2253
spa_prop_find(spa_t *spa, zpool_prop_t prop, uint64_t *val)
usr/src/uts/common/fs/zfs/spa.c
2255
(void) zap_lookup(spa->spa_meta_objset, spa->spa_pool_props_object,
usr/src/uts/common/fs/zfs/spa.c
2263
spa_dir_prop(spa_t *spa, const char *name, uint64_t *val, boolean_t log_enoent)
usr/src/uts/common/fs/zfs/spa.c
2265
int error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa.c
2269
spa_load_failed(spa, "couldn't get '%s' value in MOS directory "
usr/src/uts/common/fs/zfs/spa.c
2284
spa_spawn_aux_threads(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2286
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
2290
spa_start_indirect_condensing_thread(spa);
usr/src/uts/common/fs/zfs/spa.c
2292
ASSERT3P(spa->spa_checkpoint_discard_zthr, ==, NULL);
usr/src/uts/common/fs/zfs/spa.c
2293
spa->spa_checkpoint_discard_zthr =
usr/src/uts/common/fs/zfs/spa.c
2295
spa_checkpoint_discard_thread, spa);
usr/src/uts/common/fs/zfs/spa.c
2315
spa_try_repair(spa_t *spa, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa.c
2340
vd[i] = spa_lookup_by_guid(spa, glist[i], B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
2354
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
2374
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
2381
spa_load(spa_t *spa, spa_load_state_t state, spa_import_type_t type)
usr/src/uts/common/fs/zfs/spa.c
2386
spa->spa_load_state = state;
usr/src/uts/common/fs/zfs/spa.c
2387
(void) spa_import_progress_set_state(spa, spa_load_state(spa));
usr/src/uts/common/fs/zfs/spa.c
2389
gethrestime(&spa->spa_loaded_ts);
usr/src/uts/common/fs/zfs/spa.c
2390
error = spa_load_impl(spa, type, &ereport);
usr/src/uts/common/fs/zfs/spa.c
2396
spa_evicting_os_wait(spa);
usr/src/uts/common/fs/zfs/spa.c
2397
spa->spa_minref = zfs_refcount_count(&spa->spa_refcount);
usr/src/uts/common/fs/zfs/spa.c
2400
spa->spa_loaded_ts.tv_sec = 0;
usr/src/uts/common/fs/zfs/spa.c
2401
spa->spa_loaded_ts.tv_nsec = 0;
usr/src/uts/common/fs/zfs/spa.c
2404
(void) zfs_ereport_post(ereport, spa,
usr/src/uts/common/fs/zfs/spa.c
2408
spa->spa_load_state = error ? SPA_LOAD_ERROR : SPA_LOAD_NONE;
usr/src/uts/common/fs/zfs/spa.c
2409
spa->spa_ena = 0;
usr/src/uts/common/fs/zfs/spa.c
2411
(void) spa_import_progress_set_state(spa, spa_load_state(spa));
usr/src/uts/common/fs/zfs/spa.c
2424
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/spa.c
2428
ASSERT0(zap_lookup_int(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
2429
spa->spa_all_vdev_zaps, vd->vdev_top_zap));
usr/src/uts/common/fs/zfs/spa.c
2433
ASSERT0(zap_lookup_int(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
2434
spa->spa_all_vdev_zaps, vd->vdev_leaf_zap));
usr/src/uts/common/fs/zfs/spa.c
2448
spa_activity_check_required(spa_t *spa, uberblock_t *ub, nvlist_t *label,
usr/src/uts/common/fs/zfs/spa.c
2474
if (spa->spa_import_flags & ZFS_IMPORT_SKIP_MMP)
usr/src/uts/common/fs/zfs/spa.c
2519
spa_activity_check_duration(spa_t *spa, uberblock_t *ub)
usr/src/uts/common/fs/zfs/spa.c
2573
vdev_count_leaves(spa));
usr/src/uts/common/fs/zfs/spa.c
2590
spa_activity_check(spa_t *spa, uberblock_t *ub, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa.c
2599
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2628
import_delay = spa_activity_check_duration(spa, ub);
usr/src/uts/common/fs/zfs/spa.c
2636
(void) spa_import_progress_set_mmp_check(spa,
usr/src/uts/common/fs/zfs/spa.c
2690
fnvlist_add_string(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2697
fnvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2702
fnvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2704
fnvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2717
spa_verify_host(spa_t *spa, nvlist_t *mos_config)
usr/src/uts/common/fs/zfs/spa.c
2723
if (!spa_is_root(spa) && nvlist_lookup_uint64(mos_config,
usr/src/uts/common/fs/zfs/spa.c
2735
spa_name(spa), hostname, (u_longlong_t)hostid);
usr/src/uts/common/fs/zfs/spa.c
2736
spa_load_failed(spa, "hostid verification failed: pool "
usr/src/uts/common/fs/zfs/spa.c
2747
spa_ld_parse_config(spa_t *spa, spa_import_type_t type)
usr/src/uts/common/fs/zfs/spa.c
2750
nvlist_t *nvtree, *nvl, *config = spa->spa_config;
usr/src/uts/common/fs/zfs/spa.c
2761
&spa->spa_ubsync.ub_version) != 0)
usr/src/uts/common/fs/zfs/spa.c
2762
spa->spa_ubsync.ub_version = SPA_VERSION_INITIAL;
usr/src/uts/common/fs/zfs/spa.c
2765
spa_load_failed(spa, "invalid config provided: '%s' missing",
usr/src/uts/common/fs/zfs/spa.c
278
spa_prop_get_config(spa_t *spa, nvlist_t **nvp)
usr/src/uts/common/fs/zfs/spa.c
2780
if ((spa->spa_load_state == SPA_LOAD_IMPORT ||
usr/src/uts/common/fs/zfs/spa.c
2781
spa->spa_load_state == SPA_LOAD_TRYIMPORT) &&
usr/src/uts/common/fs/zfs/spa.c
2784
if ((spa->spa_load_state == SPA_LOAD_IMPORT ||
usr/src/uts/common/fs/zfs/spa.c
2785
spa->spa_load_state == SPA_LOAD_TRYIMPORT) &&
usr/src/uts/common/fs/zfs/spa.c
2787
!spa_importing_readonly_checkpoint(spa)) {
usr/src/uts/common/fs/zfs/spa.c
2789
spa_load_failed(spa, "a pool with guid %llu is already open",
usr/src/uts/common/fs/zfs/spa.c
2794
spa->spa_config_guid = pool_guid;
usr/src/uts/common/fs/zfs/spa.c
2796
nvlist_free(spa->spa_load_info);
usr/src/uts/common/fs/zfs/spa.c
2797
spa->spa_load_info = fnvlist_alloc();
usr/src/uts/common/fs/zfs/spa.c
2799
ASSERT(spa->spa_comment == NULL);
usr/src/uts/common/fs/zfs/spa.c
280
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2801
spa->spa_comment = spa_strdup(comment);
usr/src/uts/common/fs/zfs/spa.c
2804
&spa->spa_config_txg);
usr/src/uts/common/fs/zfs/spa.c
2807
spa->spa_config_splitting = fnvlist_dup(nvl);
usr/src/uts/common/fs/zfs/spa.c
281
dsl_pool_t *pool = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/spa.c
2810
spa_load_failed(spa, "invalid config provided: '%s' missing",
usr/src/uts/common/fs/zfs/spa.c
2818
spa->spa_async_zio_root = kmem_alloc(max_ncpus * sizeof (void *),
usr/src/uts/common/fs/zfs/spa.c
2821
spa->spa_async_zio_root[i] = zio_root(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/spa.c
2831
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
2834
error = spa_config_parse(spa, &rvd, nvtree, NULL, 0, parse);
usr/src/uts/common/fs/zfs/spa.c
2835
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
2838
spa_load_failed(spa, "unable to parse config [error=%d]",
usr/src/uts/common/fs/zfs/spa.c
2843
ASSERT(spa->spa_root_vdev == rvd);
usr/src/uts/common/fs/zfs/spa.c
2844
ASSERT3U(spa->spa_min_ashift, >=, SPA_MINBLOCKSHIFT);
usr/src/uts/common/fs/zfs/spa.c
2845
ASSERT3U(spa->spa_max_ashift, <=, SPA_MAXBLOCKSHIFT);
usr/src/uts/common/fs/zfs/spa.c
2848
ASSERT(spa_guid(spa) == pool_guid);
usr/src/uts/common/fs/zfs/spa.c
285
metaslab_class_t *mc = spa_normal_class(spa);
usr/src/uts/common/fs/zfs/spa.c
2859
spa_ld_open_vdevs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2867
if (spa->spa_trust_config) {
usr/src/uts/common/fs/zfs/spa.c
2868
spa->spa_missing_tvds_allowed = zfs_max_missing_tvds;
usr/src/uts/common/fs/zfs/spa.c
2869
} else if (spa->spa_config_source == SPA_CONFIG_SRC_CACHEFILE) {
usr/src/uts/common/fs/zfs/spa.c
287
ASSERT(MUTEX_HELD(&spa->spa_props_lock));
usr/src/uts/common/fs/zfs/spa.c
2870
spa->spa_missing_tvds_allowed = zfs_max_missing_tvds_cachefile;
usr/src/uts/common/fs/zfs/spa.c
2871
} else if (spa->spa_config_source == SPA_CONFIG_SRC_SCAN) {
usr/src/uts/common/fs/zfs/spa.c
2872
spa->spa_missing_tvds_allowed = zfs_max_missing_tvds_scan;
usr/src/uts/common/fs/zfs/spa.c
2874
spa->spa_missing_tvds_allowed = 0;
usr/src/uts/common/fs/zfs/spa.c
2877
spa->spa_missing_tvds_allowed =
usr/src/uts/common/fs/zfs/spa.c
2878
MAX(zfs_max_missing_tvds, spa->spa_missing_tvds_allowed);
usr/src/uts/common/fs/zfs/spa.c
2880
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
2881
error = vdev_open(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
2882
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
2884
if (spa->spa_missing_tvds != 0) {
usr/src/uts/common/fs/zfs/spa.c
2885
spa_load_note(spa, "vdev tree has %lld missing top-level "
usr/src/uts/common/fs/zfs/spa.c
2886
"vdevs.", (u_longlong_t)spa->spa_missing_tvds);
usr/src/uts/common/fs/zfs/spa.c
2887
if (spa->spa_trust_config && (spa->spa_mode & FWRITE)) {
usr/src/uts/common/fs/zfs/spa.c
2897
spa_load_note(spa, "pools with missing top-level "
usr/src/uts/common/fs/zfs/spa.c
2901
spa_load_note(spa, "current settings allow for maximum "
usr/src/uts/common/fs/zfs/spa.c
2903
(u_longlong_t)spa->spa_missing_tvds_allowed);
usr/src/uts/common/fs/zfs/spa.c
2907
spa_load_failed(spa, "unable to open vdev tree [error=%d]",
usr/src/uts/common/fs/zfs/spa.c
291
alloc += metaslab_class_get_alloc(spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa.c
2910
if (spa->spa_missing_tvds != 0 || error != 0)
usr/src/uts/common/fs/zfs/spa.c
2911
vdev_dbgmsg_print_tree(spa->spa_root_vdev, 2);
usr/src/uts/common/fs/zfs/spa.c
292
alloc += metaslab_class_get_alloc(spa_dedup_class(spa));
usr/src/uts/common/fs/zfs/spa.c
2923
spa_ld_validate_vdevs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2926
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2928
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
2930
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
2933
spa_load_failed(spa, "vdev_validate failed [error=%d]", error);
usr/src/uts/common/fs/zfs/spa.c
2938
spa_load_failed(spa, "cannot open vdev tree after invalidating "
usr/src/uts/common/fs/zfs/spa.c
2948
spa_ld_select_uberblock_done(spa_t *spa, uberblock_t *ub)
usr/src/uts/common/fs/zfs/spa.c
295
size += metaslab_class_get_space(spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa.c
2950
spa->spa_state = POOL_STATE_ACTIVE;
usr/src/uts/common/fs/zfs/spa.c
2951
spa->spa_ubsync = spa->spa_uberblock;
usr/src/uts/common/fs/zfs/spa.c
2952
spa->spa_verify_min_txg = spa->spa_extreme_rewind ?
usr/src/uts/common/fs/zfs/spa.c
2953
TXG_INITIAL - 1 : spa_last_synced_txg(spa) - TXG_DEFER_SIZE - 1;
usr/src/uts/common/fs/zfs/spa.c
2954
spa->spa_first_txg = spa->spa_last_ubsync_txg ?
usr/src/uts/common/fs/zfs/spa.c
2955
spa->spa_last_ubsync_txg : spa_last_synced_txg(spa) + 1;
usr/src/uts/common/fs/zfs/spa.c
2956
spa->spa_claim_max_txg = spa->spa_first_txg;
usr/src/uts/common/fs/zfs/spa.c
2957
spa->spa_prev_software_version = ub->ub_software_version;
usr/src/uts/common/fs/zfs/spa.c
296
size += metaslab_class_get_space(spa_dedup_class(spa));
usr/src/uts/common/fs/zfs/spa.c
2961
spa_ld_select_uberblock(spa_t *spa, spa_import_type_t type)
usr/src/uts/common/fs/zfs/spa.c
2963
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2965
uberblock_t *ub = &spa->spa_uberblock;
usr/src/uts/common/fs/zfs/spa.c
298
spa_prop_add_list(*nvp, ZPOOL_PROP_NAME, spa_name(spa), 0, src);
usr/src/uts/common/fs/zfs/spa.c
2986
spa_importing_readonly_checkpoint(spa)) {
usr/src/uts/common/fs/zfs/spa.c
2987
spa_ld_select_uberblock_done(spa, ub);
usr/src/uts/common/fs/zfs/spa.c
3001
spa_load_failed(spa, "no valid uberblock found");
usr/src/uts/common/fs/zfs/spa.c
3005
if (spa->spa_load_max_txg != UINT64_MAX) {
usr/src/uts/common/fs/zfs/spa.c
3006
(void) spa_import_progress_set_max_txg(spa,
usr/src/uts/common/fs/zfs/spa.c
3007
(u_longlong_t)spa->spa_load_max_txg);
usr/src/uts/common/fs/zfs/spa.c
3009
spa_load_note(spa, "using uberblock with txg=%llu",
usr/src/uts/common/fs/zfs/spa.c
3017
activity_check = spa_activity_check_required(spa, ub, label,
usr/src/uts/common/fs/zfs/spa.c
3018
spa->spa_config);
usr/src/uts/common/fs/zfs/spa.c
3023
fnvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3028
int error = spa_activity_check(spa, ub, spa->spa_config);
usr/src/uts/common/fs/zfs/spa.c
3034
fnvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3036
fnvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3038
fnvlist_add_uint16(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
304
spa->spa_checkpoint_info.sci_dspace, src);
usr/src/uts/common/fs/zfs/spa.c
3048
spa_load_failed(spa, "version %llu is not supported",
usr/src/uts/common/fs/zfs/spa.c
3061
spa_load_failed(spa, "label config unavailable");
usr/src/uts/common/fs/zfs/spa.c
3069
spa_load_failed(spa, "invalid label: '%s' missing",
usr/src/uts/common/fs/zfs/spa.c
3079
nvlist_free(spa->spa_label_features);
usr/src/uts/common/fs/zfs/spa.c
3080
VERIFY(nvlist_dup(features, &spa->spa_label_features, 0) == 0);
usr/src/uts/common/fs/zfs/spa.c
3096
for (nvpair_t *nvp = nvlist_next_nvpair(spa->spa_label_features,
usr/src/uts/common/fs/zfs/spa.c
3098
nvp = nvlist_next_nvpair(spa->spa_label_features, nvp)) {
usr/src/uts/common/fs/zfs/spa.c
3106
VERIFY(nvlist_add_nvlist(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3109
spa_load_failed(spa, "some features are unsupported");
usr/src/uts/common/fs/zfs/spa.c
311
(spa_mode(spa) == FREAD), src);
usr/src/uts/common/fs/zfs/spa.c
3117
if (type != SPA_IMPORT_ASSEMBLE && spa->spa_config_splitting) {
usr/src/uts/common/fs/zfs/spa.c
3118
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
3119
spa_try_repair(spa, spa->spa_config);
usr/src/uts/common/fs/zfs/spa.c
3120
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
3121
nvlist_free(spa->spa_config_splitting);
usr/src/uts/common/fs/zfs/spa.c
3122
spa->spa_config_splitting = NULL;
usr/src/uts/common/fs/zfs/spa.c
3128
spa_ld_select_uberblock_done(spa, ub);
usr/src/uts/common/fs/zfs/spa.c
3134
spa_ld_open_rootbp(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3137
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3139
error = dsl_pool_init(spa, spa->spa_first_txg, &spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
3141
spa_load_failed(spa, "unable to open rootbp in dsl_pool_init "
usr/src/uts/common/fs/zfs/spa.c
3145
spa->spa_meta_objset = spa->spa_dsl_pool->dp_meta_objset;
usr/src/uts/common/fs/zfs/spa.c
3151
spa_ld_trusted_config(spa_t *spa, spa_import_type_t type,
usr/src/uts/common/fs/zfs/spa.c
3154
vdev_t *mrvd, *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3160
if (spa_dir_prop(spa, DMU_POOL_CONFIG, &spa->spa_config_object, B_TRUE)
usr/src/uts/common/fs/zfs/spa.c
317
ddt_get_pool_dedup_ratio(spa), src);
usr/src/uts/common/fs/zfs/spa.c
3171
healthy_tvds = spa_healthy_core_tvds(spa);
usr/src/uts/common/fs/zfs/spa.c
3173
if (load_nvlist(spa, spa->spa_config_object, &mos_config)
usr/src/uts/common/fs/zfs/spa.c
3175
spa_load_failed(spa, "unable to retrieve MOS config");
usr/src/uts/common/fs/zfs/spa.c
3183
if (spa->spa_load_state == SPA_LOAD_OPEN) {
usr/src/uts/common/fs/zfs/spa.c
3184
error = spa_verify_host(spa, mos_config);
usr/src/uts/common/fs/zfs/spa.c
3193
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
3198
VERIFY(spa_config_parse(spa, &mrvd, nv, NULL, 0, VDEV_ALLOC_LOAD) == 0);
usr/src/uts/common/fs/zfs/spa.c
3211
spa_load_note(spa, "provided vdev tree:");
usr/src/uts/common/fs/zfs/spa.c
3213
spa_load_note(spa, "MOS vdev tree:");
usr/src/uts/common/fs/zfs/spa.c
3217
spa_load_note(spa, "vdev_copy_path_strict failed, falling "
usr/src/uts/common/fs/zfs/spa.c
322
version = spa_version(spa);
usr/src/uts/common/fs/zfs/spa.c
3224
spa->spa_root_vdev = mrvd;
usr/src/uts/common/fs/zfs/spa.c
3226
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
3238
mos_config = spa_config_generate(spa, NULL, mos_config_txg, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3239
if (nvlist_lookup_nvlist(spa->spa_config, ZPOOL_LOAD_POLICY,
usr/src/uts/common/fs/zfs/spa.c
3242
spa_config_set(spa, mos_config);
usr/src/uts/common/fs/zfs/spa.c
3243
spa->spa_config_source = SPA_CONFIG_SRC_MOS;
usr/src/uts/common/fs/zfs/spa.c
3251
spa->spa_trust_config = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
3256
error = spa_ld_open_vdevs(spa);
usr/src/uts/common/fs/zfs/spa.c
3260
error = spa_ld_validate_vdevs(spa);
usr/src/uts/common/fs/zfs/spa.c
3265
spa_load_note(spa, "final vdev tree:");
usr/src/uts/common/fs/zfs/spa.c
3269
if (spa->spa_load_state != SPA_LOAD_TRYIMPORT &&
usr/src/uts/common/fs/zfs/spa.c
3270
!spa->spa_extreme_rewind && zfs_max_missing_tvds == 0) {
usr/src/uts/common/fs/zfs/spa.c
3278
healthy_tvds_mos = spa_healthy_core_tvds(spa);
usr/src/uts/common/fs/zfs/spa.c
3281
spa_load_note(spa, "config provided misses too many "
usr/src/uts/common/fs/zfs/spa.c
3285
spa_load_note(spa, "vdev tree:");
usr/src/uts/common/fs/zfs/spa.c
3288
spa_load_failed(spa, "config was already "
usr/src/uts/common/fs/zfs/spa.c
3293
spa_load_note(spa, "spa must be reloaded using MOS "
usr/src/uts/common/fs/zfs/spa.c
3299
error = spa_check_for_missing_logs(spa);
usr/src/uts/common/fs/zfs/spa.c
3303
if (rvd->vdev_guid_sum != spa->spa_uberblock.ub_guid_sum) {
usr/src/uts/common/fs/zfs/spa.c
3304
spa_load_failed(spa, "uberblock guid sum doesn't match MOS "
usr/src/uts/common/fs/zfs/spa.c
3306
(u_longlong_t)spa->spa_uberblock.ub_guid_sum,
usr/src/uts/common/fs/zfs/spa.c
3316
spa_ld_open_indirect_vdev_metadata(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3319
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3325
error = spa_remove_init(spa);
usr/src/uts/common/fs/zfs/spa.c
3327
spa_load_failed(spa, "spa_remove_init failed [error=%d]",
usr/src/uts/common/fs/zfs/spa.c
3335
error = spa_condense_init(spa);
usr/src/uts/common/fs/zfs/spa.c
3337
spa_load_failed(spa, "spa_condense_init failed [error=%d]",
usr/src/uts/common/fs/zfs/spa.c
3346
spa_ld_check_features(spa_t *spa, boolean_t *missing_feat_writep)
usr/src/uts/common/fs/zfs/spa.c
3349
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3351
if (spa_version(spa) >= SPA_VERSION_FEATURES) {
usr/src/uts/common/fs/zfs/spa.c
3355
if (spa_dir_prop(spa, DMU_POOL_FEATURES_FOR_READ,
usr/src/uts/common/fs/zfs/spa.c
3356
&spa->spa_feat_for_read_obj, B_TRUE) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3360
if (spa_dir_prop(spa, DMU_POOL_FEATURES_FOR_WRITE,
usr/src/uts/common/fs/zfs/spa.c
3361
&spa->spa_feat_for_write_obj, B_TRUE) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3365
if (spa_dir_prop(spa, DMU_POOL_FEATURE_DESCRIPTIONS,
usr/src/uts/common/fs/zfs/spa.c
3366
&spa->spa_feat_desc_obj, B_TRUE) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3373
if (!spa_features_check(spa, B_FALSE,
usr/src/uts/common/fs/zfs/spa.c
3377
if (spa_writeable(spa) ||
usr/src/uts/common/fs/zfs/spa.c
3378
spa->spa_load_state == SPA_LOAD_TRYIMPORT) {
usr/src/uts/common/fs/zfs/spa.c
3379
if (!spa_features_check(spa, B_TRUE,
usr/src/uts/common/fs/zfs/spa.c
3385
fnvlist_add_nvlist(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3389
fnvlist_add_nvlist(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3397
fnvlist_add_boolean(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3421
spa_writeable(spa))) {
usr/src/uts/common/fs/zfs/spa.c
3422
spa_load_failed(spa, "pool uses unsupported features");
usr/src/uts/common/fs/zfs/spa.c
3434
error = feature_get_refcount_from_disk(spa,
usr/src/uts/common/fs/zfs/spa.c
3437
spa->spa_feat_refcount_cache[i] = refcount;
usr/src/uts/common/fs/zfs/spa.c
3439
spa->spa_feat_refcount_cache[i] =
usr/src/uts/common/fs/zfs/spa.c
3442
spa_load_failed(spa, "error getting refcount "
usr/src/uts/common/fs/zfs/spa.c
3451
if (spa_feature_is_active(spa, SPA_FEATURE_ENABLED_TXG)) {
usr/src/uts/common/fs/zfs/spa.c
3452
if (spa_dir_prop(spa, DMU_POOL_FEATURE_ENABLED_TXG,
usr/src/uts/common/fs/zfs/spa.c
3453
&spa->spa_feat_enabled_txg_obj, B_TRUE) != 0)
usr/src/uts/common/fs/zfs/spa.c
3462
if (spa_feature_is_enabled(spa, SPA_FEATURE_ENCRYPTION) &&
usr/src/uts/common/fs/zfs/spa.c
3463
!spa_feature_is_enabled(spa, SPA_FEATURE_BOOKMARK_V2)) {
usr/src/uts/common/fs/zfs/spa.c
3464
spa->spa_errata = ZPOOL_ERRATA_ZOL_8308_ENCRYPTION;
usr/src/uts/common/fs/zfs/spa.c
3471
spa_ld_load_special_directories(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3474
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3476
spa->spa_is_initializing = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
3477
error = dsl_pool_open(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
3478
spa->spa_is_initializing = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
3480
spa_load_failed(spa, "dsl_pool_open failed [error=%d]", error);
usr/src/uts/common/fs/zfs/spa.c
3488
spa_ld_get_props(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3492
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3495
error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa.c
3497
sizeof (spa->spa_cksum_salt.zcs_bytes),
usr/src/uts/common/fs/zfs/spa.c
3498
spa->spa_cksum_salt.zcs_bytes);
usr/src/uts/common/fs/zfs/spa.c
3501
(void) random_get_pseudo_bytes(spa->spa_cksum_salt.zcs_bytes,
usr/src/uts/common/fs/zfs/spa.c
3502
sizeof (spa->spa_cksum_salt.zcs_bytes));
usr/src/uts/common/fs/zfs/spa.c
3504
spa_load_failed(spa, "unable to retrieve checksum salt from "
usr/src/uts/common/fs/zfs/spa.c
3509
if (spa_dir_prop(spa, DMU_POOL_SYNC_BPOBJ, &obj, B_TRUE) != 0)
usr/src/uts/common/fs/zfs/spa.c
3511
error = bpobj_open(&spa->spa_deferred_bpobj, spa->spa_meta_objset, obj);
usr/src/uts/common/fs/zfs/spa.c
3513
spa_load_failed(spa, "error opening deferred-frees bpobj "
usr/src/uts/common/fs/zfs/spa.c
3523
error = spa_dir_prop(spa, DMU_POOL_DEFLATE, &spa->spa_deflate, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3527
error = spa_dir_prop(spa, DMU_POOL_CREATION_VERSION,
usr/src/uts/common/fs/zfs/spa.c
3528
&spa->spa_creation_version, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3536
error = spa_dir_prop(spa, DMU_POOL_ERRLOG_LAST, &spa->spa_errlog_last,
usr/src/uts/common/fs/zfs/spa.c
354
spa_prop_add_list(*nvp, ZPOOL_PROP_GUID, NULL, spa_guid(spa), src);
usr/src/uts/common/fs/zfs/spa.c
3541
error = spa_dir_prop(spa, DMU_POOL_ERRLOG_SCRUB,
usr/src/uts/common/fs/zfs/spa.c
3542
&spa->spa_errlog_scrub, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3550
error = spa_dir_prop(spa, DMU_POOL_HISTORY, &spa->spa_history, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
356
if (spa->spa_comment != NULL) {
usr/src/uts/common/fs/zfs/spa.c
3563
if (load_nvlist(spa, spa->spa_config_object, &mos_config) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3564
spa_load_failed(spa, "unable to retrieve MOS config");
usr/src/uts/common/fs/zfs/spa.c
3568
error = spa_dir_prop(spa, DMU_POOL_VDEV_ZAP_MAP,
usr/src/uts/common/fs/zfs/spa.c
3569
&spa->spa_all_vdev_zaps, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
357
spa_prop_add_list(*nvp, ZPOOL_PROP_COMMENT, spa->spa_comment,
usr/src/uts/common/fs/zfs/spa.c
3574
spa->spa_avz_action = AVZ_ACTION_INITIALIZE;
usr/src/uts/common/fs/zfs/spa.c
3575
ASSERT0(vdev_count_verify_zaps(spa->spa_root_vdev));
usr/src/uts/common/fs/zfs/spa.c
3584
spa->spa_avz_action = AVZ_ACTION_DESTROY;
usr/src/uts/common/fs/zfs/spa.c
3589
ASSERT0(vdev_count_verify_zaps(spa->spa_root_vdev));
usr/src/uts/common/fs/zfs/spa.c
3593
spa->spa_delegation = zpool_prop_default_numeric(ZPOOL_PROP_DELEGATION);
usr/src/uts/common/fs/zfs/spa.c
3595
error = spa_dir_prop(spa, DMU_POOL_PROPS, &spa->spa_pool_props_object,
usr/src/uts/common/fs/zfs/spa.c
3603
spa_prop_find(spa, ZPOOL_PROP_BOOTFS, &spa->spa_bootfs);
usr/src/uts/common/fs/zfs/spa.c
3604
spa_prop_find(spa, ZPOOL_PROP_AUTOREPLACE, &autoreplace);
usr/src/uts/common/fs/zfs/spa.c
3605
spa_prop_find(spa, ZPOOL_PROP_DELEGATION, &spa->spa_delegation);
usr/src/uts/common/fs/zfs/spa.c
3606
spa_prop_find(spa, ZPOOL_PROP_FAILUREMODE, &spa->spa_failmode);
usr/src/uts/common/fs/zfs/spa.c
3607
spa_prop_find(spa, ZPOOL_PROP_AUTOEXPAND, &spa->spa_autoexpand);
usr/src/uts/common/fs/zfs/spa.c
3608
spa_prop_find(spa, ZPOOL_PROP_BOOTSIZE, &spa->spa_bootsize);
usr/src/uts/common/fs/zfs/spa.c
3609
spa_prop_find(spa, ZPOOL_PROP_MULTIHOST, &spa->spa_multihost);
usr/src/uts/common/fs/zfs/spa.c
361
if (spa->spa_root != NULL)
usr/src/uts/common/fs/zfs/spa.c
3610
spa_prop_find(spa, ZPOOL_PROP_DEDUPDITTO,
usr/src/uts/common/fs/zfs/spa.c
3611
&spa->spa_dedup_ditto);
usr/src/uts/common/fs/zfs/spa.c
3612
spa_prop_find(spa, ZPOOL_PROP_AUTOTRIM, &spa->spa_autotrim);
usr/src/uts/common/fs/zfs/spa.c
3613
spa->spa_autoreplace = (autoreplace != 0);
usr/src/uts/common/fs/zfs/spa.c
362
spa_prop_add_list(*nvp, ZPOOL_PROP_ALTROOT, spa->spa_root,
usr/src/uts/common/fs/zfs/spa.c
3621
if (spa->spa_missing_tvds > 0 &&
usr/src/uts/common/fs/zfs/spa.c
3622
spa->spa_failmode != ZIO_FAILURE_MODE_CONTINUE &&
usr/src/uts/common/fs/zfs/spa.c
3623
spa->spa_load_state != SPA_LOAD_TRYIMPORT) {
usr/src/uts/common/fs/zfs/spa.c
3624
spa_load_note(spa, "forcing failmode to 'continue' "
usr/src/uts/common/fs/zfs/spa.c
3626
spa->spa_failmode = ZIO_FAILURE_MODE_CONTINUE;
usr/src/uts/common/fs/zfs/spa.c
3633
spa_ld_open_aux_vdevs(spa_t *spa, spa_import_type_t type)
usr/src/uts/common/fs/zfs/spa.c
3636
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3647
error = spa_dir_prop(spa, DMU_POOL_SPARES, &spa->spa_spares.sav_object,
usr/src/uts/common/fs/zfs/spa.c
365
if (spa_feature_is_enabled(spa, SPA_FEATURE_LARGE_BLOCKS)) {
usr/src/uts/common/fs/zfs/spa.c
3652
ASSERT(spa_version(spa) >= SPA_VERSION_SPARES);
usr/src/uts/common/fs/zfs/spa.c
3653
if (load_nvlist(spa, spa->spa_spares.sav_object,
usr/src/uts/common/fs/zfs/spa.c
3654
&spa->spa_spares.sav_config) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3655
spa_load_failed(spa, "error loading spares nvlist");
usr/src/uts/common/fs/zfs/spa.c
3659
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
3660
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/spa.c
3661
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
3663
spa->spa_spares.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
3669
error = spa_dir_prop(spa, DMU_POOL_L2CACHE,
usr/src/uts/common/fs/zfs/spa.c
3670
&spa->spa_l2cache.sav_object, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3674
ASSERT(spa_version(spa) >= SPA_VERSION_L2CACHE);
usr/src/uts/common/fs/zfs/spa.c
3675
if (load_nvlist(spa, spa->spa_l2cache.sav_object,
usr/src/uts/common/fs/zfs/spa.c
3676
&spa->spa_l2cache.sav_config) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3677
spa_load_failed(spa, "error loading l2cache nvlist");
usr/src/uts/common/fs/zfs/spa.c
3681
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
3682
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/spa.c
3683
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
3685
spa->spa_l2cache.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
3692
spa_ld_load_vdev_metadata(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3695
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3702
if (spa_multihost(spa) && spa_get_hostid() == 0 &&
usr/src/uts/common/fs/zfs/spa.c
3703
(spa->spa_import_flags & ZFS_IMPORT_SKIP_MMP) == 0) {
usr/src/uts/common/fs/zfs/spa.c
3704
fnvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3716
if (spa->spa_autoreplace && spa->spa_load_state != SPA_LOAD_TRYIMPORT) {
usr/src/uts/common/fs/zfs/spa.c
3717
spa_check_removed(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
3723
if (spa->spa_load_state != SPA_LOAD_IMPORT) {
usr/src/uts/common/fs/zfs/spa.c
3724
spa_aux_check_removed(&spa->spa_spares);
usr/src/uts/common/fs/zfs/spa.c
3725
spa_aux_check_removed(&spa->spa_l2cache);
usr/src/uts/common/fs/zfs/spa.c
373
if (spa_feature_is_enabled(spa, SPA_FEATURE_LARGE_DNODE)) {
usr/src/uts/common/fs/zfs/spa.c
3734
spa_load_failed(spa, "vdev_load failed [error=%d]", error);
usr/src/uts/common/fs/zfs/spa.c
3738
error = spa_ld_log_spacemaps(spa);
usr/src/uts/common/fs/zfs/spa.c
3740
spa_load_failed(spa, "spa_ld_log_sm_data failed [error=%d]",
usr/src/uts/common/fs/zfs/spa.c
3748
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
3750
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
3756
spa_ld_load_dedup_tables(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3759
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3761
error = ddt_load(spa);
usr/src/uts/common/fs/zfs/spa.c
3763
spa_load_failed(spa, "ddt_load failed [error=%d]", error);
usr/src/uts/common/fs/zfs/spa.c
3771
spa_ld_verify_logs(spa_t *spa, spa_import_type_t type, char **ereport)
usr/src/uts/common/fs/zfs/spa.c
3773
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3775
if (type != SPA_IMPORT_ASSEMBLE && spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/spa.c
3776
boolean_t missing = spa_check_logs(spa);
usr/src/uts/common/fs/zfs/spa.c
3778
if (spa->spa_missing_tvds != 0) {
usr/src/uts/common/fs/zfs/spa.c
3779
spa_load_note(spa, "spa_check_logs failed "
usr/src/uts/common/fs/zfs/spa.c
3783
spa_load_failed(spa, "spa_check_logs failed");
usr/src/uts/common/fs/zfs/spa.c
3794
spa_ld_verify_pool_data(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3797
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3803
if (spa->spa_load_state != SPA_LOAD_TRYIMPORT) {
usr/src/uts/common/fs/zfs/spa.c
3804
error = spa_load_verify(spa);
usr/src/uts/common/fs/zfs/spa.c
3806
spa_load_failed(spa, "spa_load_verify failed "
usr/src/uts/common/fs/zfs/spa.c
381
if ((dp = list_head(&spa->spa_config_list)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
3817
spa_ld_claim_log_blocks(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3820
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/spa.c
3829
spa->spa_claiming = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
3831
tx = dmu_tx_create_assigned(dp, spa_first_txg(spa));
usr/src/uts/common/fs/zfs/spa.c
3836
spa->spa_claiming = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
3838
spa_set_log_state(spa, SPA_LOG_GOOD);
usr/src/uts/common/fs/zfs/spa.c
3842
spa_ld_check_for_config_update(spa_t *spa, uint64_t config_cache_txg,
usr/src/uts/common/fs/zfs/spa.c
3845
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3855
if (update_config_cache || config_cache_txg != spa->spa_config_txg ||
usr/src/uts/common/fs/zfs/spa.c
3856
spa->spa_load_state == SPA_LOAD_IMPORT ||
usr/src/uts/common/fs/zfs/spa.c
3857
spa->spa_load_state == SPA_LOAD_RECOVER ||
usr/src/uts/common/fs/zfs/spa.c
3858
(spa->spa_import_flags & ZFS_IMPORT_VERBATIM))
usr/src/uts/common/fs/zfs/spa.c
3870
spa_async_request(spa, SPA_ASYNC_CONFIG_UPDATE);
usr/src/uts/common/fs/zfs/spa.c
3874
spa_ld_prepare_for_reload(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3876
int mode = spa->spa_mode;
usr/src/uts/common/fs/zfs/spa.c
3877
int async_suspended = spa->spa_async_suspended;
usr/src/uts/common/fs/zfs/spa.c
3879
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
3880
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
3881
spa_activate(spa, mode);
usr/src/uts/common/fs/zfs/spa.c
3888
spa->spa_async_suspended = async_suspended;
usr/src/uts/common/fs/zfs/spa.c
3892
spa_ld_read_checkpoint_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3897
ASSERT0(spa->spa_checkpoint_txg);
usr/src/uts/common/fs/zfs/spa.c
3900
error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa.c
3913
spa->spa_checkpoint_txg = checkpoint.ub_txg;
usr/src/uts/common/fs/zfs/spa.c
3914
spa->spa_checkpoint_info.sci_timestamp = checkpoint.ub_timestamp;
usr/src/uts/common/fs/zfs/spa.c
3920
spa_ld_mos_init(spa_t *spa, spa_import_type_t type)
usr/src/uts/common/fs/zfs/spa.c
3925
ASSERT(spa->spa_config_source != SPA_CONFIG_SRC_NONE);
usr/src/uts/common/fs/zfs/spa.c
3936
spa->spa_trust_config = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
3941
error = spa_ld_parse_config(spa, type);
usr/src/uts/common/fs/zfs/spa.c
3945
spa_import_progress_add(spa);
usr/src/uts/common/fs/zfs/spa.c
3954
error = spa_ld_open_vdevs(spa);
usr/src/uts/common/fs/zfs/spa.c
396
spa_prop_get(spa_t *spa, nvlist_t **nvp)
usr/src/uts/common/fs/zfs/spa.c
3966
error = spa_ld_validate_vdevs(spa);
usr/src/uts/common/fs/zfs/spa.c
3978
error = spa_ld_select_uberblock(spa, type);
usr/src/uts/common/fs/zfs/spa.c
398
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa.c
3987
error = spa_ld_open_rootbp(spa);
usr/src/uts/common/fs/zfs/spa.c
3995
spa_ld_checkpoint_rewind(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
4001
ASSERT(spa->spa_import_flags & ZFS_IMPORT_CHECKPOINT);
usr/src/uts/common/fs/zfs/spa.c
4003
error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa.c
4008
spa_load_failed(spa, "unable to retrieve checkpointed "
usr/src/uts/common/fs/zfs/spa.c
4017
ASSERT3U(checkpoint.ub_txg, <, spa->spa_uberblock.ub_txg);
usr/src/uts/common/fs/zfs/spa.c
4027
checkpoint.ub_txg = spa->spa_uberblock.ub_txg + 1;
usr/src/uts/common/fs/zfs/spa.c
4033
spa->spa_uberblock = checkpoint;
usr/src/uts/common/fs/zfs/spa.c
4047
if (spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/spa.c
4048
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
405
mutex_enter(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
4050
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
4071
error = vdev_config_sync(svd, svdcount, spa->spa_first_txg);
usr/src/uts/common/fs/zfs/spa.c
4073
spa->spa_last_synced_guid = rvd->vdev_guid;
usr/src/uts/common/fs/zfs/spa.c
4074
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
4077
spa_load_failed(spa, "failed to write checkpointed "
usr/src/uts/common/fs/zfs/spa.c
4087
spa_ld_mos_with_trusted_config(spa_t *spa, spa_import_type_t type,
usr/src/uts/common/fs/zfs/spa.c
4097
error = spa_ld_mos_init(spa, type);
usr/src/uts/common/fs/zfs/spa.c
410
spa_prop_get_config(spa, nvp);
usr/src/uts/common/fs/zfs/spa.c
4105
error = spa_ld_trusted_config(spa, type, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
4114
spa_ld_prepare_for_reload(spa);
usr/src/uts/common/fs/zfs/spa.c
4115
spa_load_note(spa, "RELOADING");
usr/src/uts/common/fs/zfs/spa.c
4116
error = spa_ld_mos_init(spa, type);
usr/src/uts/common/fs/zfs/spa.c
4120
error = spa_ld_trusted_config(spa, type, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
413
if (mos == NULL || spa->spa_pool_props_object == 0) {
usr/src/uts/common/fs/zfs/spa.c
4138
spa_load_impl(spa_t *spa, spa_import_type_t type, char **ereport)
usr/src/uts/common/fs/zfs/spa.c
414
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
4143
(spa->spa_import_flags & ZFS_IMPORT_CHECKPOINT);
usr/src/uts/common/fs/zfs/spa.c
4147
ASSERT(spa->spa_config_source != SPA_CONFIG_SRC_NONE);
usr/src/uts/common/fs/zfs/spa.c
4149
spa_load_note(spa, "LOADING");
usr/src/uts/common/fs/zfs/spa.c
4151
error = spa_ld_mos_with_trusted_config(spa, type, &update_config_cache);
usr/src/uts/common/fs/zfs/spa.c
4174
error = spa_ld_checkpoint_rewind(spa);
usr/src/uts/common/fs/zfs/spa.c
4182
spa_ld_prepare_for_reload(spa);
usr/src/uts/common/fs/zfs/spa.c
4183
spa_load_note(spa, "LOADING checkpointed uberblock");
usr/src/uts/common/fs/zfs/spa.c
4184
error = spa_ld_mos_with_trusted_config(spa, type, NULL);
usr/src/uts/common/fs/zfs/spa.c
4192
error = spa_ld_read_checkpoint_txg(spa);
usr/src/uts/common/fs/zfs/spa.c
4204
error = spa_ld_open_indirect_vdev_metadata(spa);
usr/src/uts/common/fs/zfs/spa.c
421
for (zap_cursor_init(&zc, mos, spa->spa_pool_props_object);
usr/src/uts/common/fs/zfs/spa.c
4212
error = spa_ld_check_features(spa, &missing_feat_write);
usr/src/uts/common/fs/zfs/spa.c
4220
error = spa_ld_load_special_directories(spa);
usr/src/uts/common/fs/zfs/spa.c
4227
error = spa_ld_get_props(spa);
usr/src/uts/common/fs/zfs/spa.c
4235
error = spa_ld_open_aux_vdevs(spa, type);
usr/src/uts/common/fs/zfs/spa.c
4243
error = spa_ld_load_vdev_metadata(spa);
usr/src/uts/common/fs/zfs/spa.c
4247
error = spa_ld_load_dedup_tables(spa);
usr/src/uts/common/fs/zfs/spa.c
4255
error = spa_ld_verify_logs(spa, type, ereport);
usr/src/uts/common/fs/zfs/spa.c
4260
ASSERT(spa->spa_load_state == SPA_LOAD_TRYIMPORT);
usr/src/uts/common/fs/zfs/spa.c
4267
return (spa_vdev_err(spa->spa_root_vdev, VDEV_AUX_UNSUP_FEAT,
usr/src/uts/common/fs/zfs/spa.c
4276
error = spa_ld_verify_pool_data(spa);
usr/src/uts/common/fs/zfs/spa.c
4285
spa_update_dspace(spa);
usr/src/uts/common/fs/zfs/spa.c
4292
if (spa_writeable(spa) && (spa->spa_load_state == SPA_LOAD_RECOVER ||
usr/src/uts/common/fs/zfs/spa.c
4293
spa->spa_load_max_txg == UINT64_MAX)) {
usr/src/uts/common/fs/zfs/spa.c
4294
uint64_t config_cache_txg = spa->spa_config_txg;
usr/src/uts/common/fs/zfs/spa.c
4296
ASSERT(spa->spa_load_state != SPA_LOAD_TRYIMPORT);
usr/src/uts/common/fs/zfs/spa.c
4303
spa_history_log_internal(spa, "checkpoint rewind",
usr/src/uts/common/fs/zfs/spa.c
4305
(u_longlong_t)spa->spa_uberblock.ub_checkpoint_txg);
usr/src/uts/common/fs/zfs/spa.c
4311
spa_ld_claim_log_blocks(spa);
usr/src/uts/common/fs/zfs/spa.c
4316
spa->spa_sync_on = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
4317
txg_sync_start(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
4318
mmp_thread_start(spa);
usr/src/uts/common/fs/zfs/spa.c
4327
txg_wait_synced(spa->spa_dsl_pool, spa->spa_claim_max_txg);
usr/src/uts/common/fs/zfs/spa.c
4334
spa_ld_check_for_config_update(spa, config_cache_txg,
usr/src/uts/common/fs/zfs/spa.c
4340
if (!dsl_scan_resilvering(spa->spa_dsl_pool) &&
usr/src/uts/common/fs/zfs/spa.c
4341
vdev_resilver_needed(spa->spa_root_vdev, NULL, NULL))
usr/src/uts/common/fs/zfs/spa.c
4342
spa_async_request(spa, SPA_ASYNC_RESILVER);
usr/src/uts/common/fs/zfs/spa.c
4348
spa_history_log_version(spa, "open");
usr/src/uts/common/fs/zfs/spa.c
4350
spa_restart_removal(spa);
usr/src/uts/common/fs/zfs/spa.c
4351
spa_spawn_aux_threads(spa);
usr/src/uts/common/fs/zfs/spa.c
4362
(void) dmu_objset_find(spa_name(spa),
usr/src/uts/common/fs/zfs/spa.c
4368
dsl_pool_clean_tmp_userrefs(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
4370
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
4371
vdev_initialize_restart(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
4372
vdev_trim_restart(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
4373
vdev_autotrim_restart(spa);
usr/src/uts/common/fs/zfs/spa.c
4374
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
4377
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4378
spa_async_request(spa, SPA_ASYNC_L2CACHE_REBUILD);
usr/src/uts/common/fs/zfs/spa.c
4380
spa_load_note(spa, "LOADED");
usr/src/uts/common/fs/zfs/spa.c
4386
spa_load_retry(spa_t *spa, spa_load_state_t state)
usr/src/uts/common/fs/zfs/spa.c
4388
int mode = spa->spa_mode;
usr/src/uts/common/fs/zfs/spa.c
4390
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
4391
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
4393
spa->spa_load_max_txg = spa->spa_uberblock.ub_txg - 1;
usr/src/uts/common/fs/zfs/spa.c
4395
spa_activate(spa, mode);
usr/src/uts/common/fs/zfs/spa.c
4396
spa_async_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
4398
spa_load_note(spa, "spa_load_retry: rewind, max txg: %llu",
usr/src/uts/common/fs/zfs/spa.c
4399
(u_longlong_t)spa->spa_load_max_txg);
usr/src/uts/common/fs/zfs/spa.c
4401
return (spa_load(spa, state, SPA_IMPORT_EXISTING));
usr/src/uts/common/fs/zfs/spa.c
4412
spa_load_best(spa_t *spa, spa_load_state_t state, uint64_t max_request,
usr/src/uts/common/fs/zfs/spa.c
4421
if (spa->spa_load_txg && state == SPA_LOAD_RECOVER) {
usr/src/uts/common/fs/zfs/spa.c
4422
spa->spa_load_max_txg = spa->spa_load_txg;
usr/src/uts/common/fs/zfs/spa.c
4423
spa_set_log_state(spa, SPA_LOG_CLEAR);
usr/src/uts/common/fs/zfs/spa.c
4425
spa->spa_load_max_txg = max_request;
usr/src/uts/common/fs/zfs/spa.c
4427
spa->spa_extreme_rewind = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
443
dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/spa.c
4430
load_error = rewind_error = spa_load(spa, state, SPA_IMPORT_EXISTING);
usr/src/uts/common/fs/zfs/spa.c
4439
ASSERT(spa->spa_import_flags & ZFS_IMPORT_CHECKPOINT);
usr/src/uts/common/fs/zfs/spa.c
4440
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4444
if (spa->spa_root_vdev != NULL)
usr/src/uts/common/fs/zfs/spa.c
4445
config = spa_config_generate(spa, NULL, -1ULL, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
4447
spa->spa_last_ubsync_txg = spa->spa_uberblock.ub_txg;
usr/src/uts/common/fs/zfs/spa.c
4448
spa->spa_last_ubsync_txg_ts = spa->spa_uberblock.ub_timestamp;
usr/src/uts/common/fs/zfs/spa.c
4452
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4458
spa_set_log_state(spa, SPA_LOG_CLEAR);
usr/src/uts/common/fs/zfs/spa.c
4465
loadinfo = spa->spa_load_info;
usr/src/uts/common/fs/zfs/spa.c
4466
spa->spa_load_info = fnvlist_alloc();
usr/src/uts/common/fs/zfs/spa.c
4469
spa->spa_load_max_txg = spa->spa_last_ubsync_txg;
usr/src/uts/common/fs/zfs/spa.c
4470
safe_rewind_txg = spa->spa_last_ubsync_txg - TXG_DEFER_SIZE;
usr/src/uts/common/fs/zfs/spa.c
4478
while (rewind_error && spa->spa_uberblock.ub_txg >= min_txg &&
usr/src/uts/common/fs/zfs/spa.c
4479
spa->spa_uberblock.ub_txg <= spa->spa_load_max_txg) {
usr/src/uts/common/fs/zfs/spa.c
4480
if (spa->spa_load_max_txg < safe_rewind_txg)
usr/src/uts/common/fs/zfs/spa.c
4481
spa->spa_extreme_rewind = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
4482
rewind_error = spa_load_retry(spa, state);
usr/src/uts/common/fs/zfs/spa.c
4485
spa->spa_extreme_rewind = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
4486
spa->spa_load_max_txg = UINT64_MAX;
usr/src/uts/common/fs/zfs/spa.c
4489
spa_config_set(spa, config);
usr/src/uts/common/fs/zfs/spa.c
4495
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4500
spa->spa_load_info);
usr/src/uts/common/fs/zfs/spa.c
4503
fnvlist_free(spa->spa_load_info);
usr/src/uts/common/fs/zfs/spa.c
4504
spa->spa_load_info = loadinfo;
usr/src/uts/common/fs/zfs/spa.c
4506
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4527
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
4545
if ((spa = spa_lookup(pool)) == NULL) {
usr/src/uts/common/fs/zfs/spa.c
4551
if (spa->spa_state == POOL_STATE_UNINITIALIZED) {
usr/src/uts/common/fs/zfs/spa.c
4554
zpool_get_load_policy(nvpolicy ? nvpolicy : spa->spa_config,
usr/src/uts/common/fs/zfs/spa.c
4559
spa_activate(spa, spa_mode_global);
usr/src/uts/common/fs/zfs/spa.c
4562
spa->spa_last_ubsync_txg = spa->spa_load_txg = 0;
usr/src/uts/common/fs/zfs/spa.c
4563
spa->spa_config_source = SPA_CONFIG_SRC_CACHEFILE;
usr/src/uts/common/fs/zfs/spa.c
4566
error = spa_load_best(spa, state, policy.zlp_txg,
usr/src/uts/common/fs/zfs/spa.c
4577
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
4578
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
4579
spa_write_cachefile(spa, B_TRUE, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
4580
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4592
if (config != NULL && spa->spa_config) {
usr/src/uts/common/fs/zfs/spa.c
4593
VERIFY(nvlist_dup(spa->spa_config, config,
usr/src/uts/common/fs/zfs/spa.c
4597
spa->spa_load_info) == 0);
usr/src/uts/common/fs/zfs/spa.c
4599
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
4600
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
4601
spa->spa_last_open_failed = error;
usr/src/uts/common/fs/zfs/spa.c
4609
spa_open_ref(spa, tag);
usr/src/uts/common/fs/zfs/spa.c
4612
*config = spa_config_generate(spa, NULL, -1ULL, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
4620
spa->spa_load_info) == 0);
usr/src/uts/common/fs/zfs/spa.c
4624
spa->spa_last_open_failed = 0;
usr/src/uts/common/fs/zfs/spa.c
4625
spa->spa_last_ubsync_txg = 0;
usr/src/uts/common/fs/zfs/spa.c
4626
spa->spa_load_txg = 0;
usr/src/uts/common/fs/zfs/spa.c
4630
*spapp = spa;
usr/src/uts/common/fs/zfs/spa.c
4655
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
4658
if ((spa = spa_lookup(name)) == NULL) {
usr/src/uts/common/fs/zfs/spa.c
4662
spa->spa_inject_ref++;
usr/src/uts/common/fs/zfs/spa.c
4665
return (spa);
usr/src/uts/common/fs/zfs/spa.c
4669
spa_inject_delref(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
4672
spa->spa_inject_ref--;
usr/src/uts/common/fs/zfs/spa.c
4680
spa_add_spares(spa_t *spa, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa.c
4690
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
usr/src/uts/common/fs/zfs/spa.c
4692
if (spa->spa_spares.sav_count == 0)
usr/src/uts/common/fs/zfs/spa.c
4697
VERIFY(nvlist_lookup_nvlist_array(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
472
err = zap_lookup(mos, spa->spa_pool_props_object,
usr/src/uts/common/fs/zfs/spa.c
4729
spa_add_l2cache(spa_t *spa, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa.c
4739
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
usr/src/uts/common/fs/zfs/spa.c
4741
if (spa->spa_l2cache.sav_count == 0)
usr/src/uts/common/fs/zfs/spa.c
4746
VERIFY(nvlist_lookup_nvlist_array(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
4763
for (j = 0; j < spa->spa_l2cache.sav_count; j++) {
usr/src/uts/common/fs/zfs/spa.c
4765
spa->spa_l2cache.sav_vdevs[j]->vdev_guid) {
usr/src/uts/common/fs/zfs/spa.c
4766
vd = spa->spa_l2cache.sav_vdevs[j];
usr/src/uts/common/fs/zfs/spa.c
4783
spa_add_feature_stats(spa_t *spa, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa.c
4789
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
usr/src/uts/common/fs/zfs/spa.c
4792
if (spa->spa_feat_for_read_obj != 0) {
usr/src/uts/common/fs/zfs/spa.c
4793
for (zap_cursor_init(&zc, spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
4794
spa->spa_feat_for_read_obj);
usr/src/uts/common/fs/zfs/spa.c
4805
if (spa->spa_feat_for_write_obj != 0) {
usr/src/uts/common/fs/zfs/spa.c
4806
for (zap_cursor_init(&zc, spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
4807
spa->spa_feat_for_write_obj);
usr/src/uts/common/fs/zfs/spa.c
4828
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
4831
error = spa_open_common(name, &spa, FTAG, NULL, config);
usr/src/uts/common/fs/zfs/spa.c
4833
if (spa != NULL) {
usr/src/uts/common/fs/zfs/spa.c
4839
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
4844
loadtimes[0] = spa->spa_loaded_ts.tv_sec;
usr/src/uts/common/fs/zfs/spa.c
4845
loadtimes[1] = spa->spa_loaded_ts.tv_nsec;
usr/src/uts/common/fs/zfs/spa.c
4851
spa_get_errlog_size(spa)) == 0);
usr/src/uts/common/fs/zfs/spa.c
4853
if (spa_suspended(spa)) {
usr/src/uts/common/fs/zfs/spa.c
4856
spa->spa_failmode) == 0);
usr/src/uts/common/fs/zfs/spa.c
4859
spa->spa_suspended) == 0);
usr/src/uts/common/fs/zfs/spa.c
4862
spa_add_spares(spa, *config);
usr/src/uts/common/fs/zfs/spa.c
4863
spa_add_l2cache(spa, *config);
usr/src/uts/common/fs/zfs/spa.c
4864
spa_add_feature_stats(spa, *config);
usr/src/uts/common/fs/zfs/spa.c
487
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
4873
if (spa == NULL) {
usr/src/uts/common/fs/zfs/spa.c
4875
spa = spa_lookup(name);
usr/src/uts/common/fs/zfs/spa.c
4876
if (spa)
usr/src/uts/common/fs/zfs/spa.c
4877
spa_altroot(spa, altroot, buflen);
usr/src/uts/common/fs/zfs/spa.c
4880
spa = NULL;
usr/src/uts/common/fs/zfs/spa.c
4883
spa_altroot(spa, altroot, buflen);
usr/src/uts/common/fs/zfs/spa.c
4887
if (spa != NULL) {
usr/src/uts/common/fs/zfs/spa.c
4888
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
4889
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
4902
spa_validate_aux_devs(spa_t *spa, nvlist_t *nvroot, uint64_t crtxg, int mode,
usr/src/uts/common/fs/zfs/spa.c
4911
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/spa.c
4926
if (spa_version(spa) < version)
usr/src/uts/common/fs/zfs/spa.c
4937
if ((error = spa_config_parse(spa, &vd, dev[i], NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
4971
spa_validate_aux(spa_t *spa, nvlist_t *nvroot, uint64_t crtxg, int mode)
usr/src/uts/common/fs/zfs/spa.c
4975
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/spa.c
4977
if ((error = spa_validate_aux_devs(spa, nvroot, crtxg, mode,
usr/src/uts/common/fs/zfs/spa.c
4978
&spa->spa_spares, ZPOOL_CONFIG_SPARES, SPA_VERSION_SPARES,
usr/src/uts/common/fs/zfs/spa.c
4983
return (spa_validate_aux_devs(spa, nvroot, crtxg, mode,
usr/src/uts/common/fs/zfs/spa.c
4984
&spa->spa_l2cache, ZPOOL_CONFIG_L2CACHE, SPA_VERSION_L2CACHE,
usr/src/uts/common/fs/zfs/spa.c
502
spa_prop_validate(spa_t *spa, nvlist_t *props)
usr/src/uts/common/fs/zfs/spa.c
5038
spa_l2cache_drop(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
5042
spa_aux_vdev_t *sav = &spa->spa_l2cache;
usr/src/uts/common/fs/zfs/spa.c
5079
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
5117
spa = spa_add(poolname, nvl, altroot);
usr/src/uts/common/fs/zfs/spa.c
5119
spa_activate(spa, spa_mode_global);
usr/src/uts/common/fs/zfs/spa.c
5121
if (props && (error = spa_prop_validate(spa, props))) {
usr/src/uts/common/fs/zfs/spa.c
5122
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
5123
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
5132
spa->spa_import_flags |= ZFS_IMPORT_TEMP_NAME;
usr/src/uts/common/fs/zfs/spa.c
5151
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
5152
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
5164
spa->spa_first_txg = txg;
usr/src/uts/common/fs/zfs/spa.c
5165
spa->spa_uberblock.ub_txg = txg - 1;
usr/src/uts/common/fs/zfs/spa.c
5166
spa->spa_uberblock.ub_version = version;
usr/src/uts/common/fs/zfs/spa.c
5167
spa->spa_ubsync = spa->spa_uberblock;
usr/src/uts/common/fs/zfs/spa.c
5168
spa->spa_load_state = SPA_LOAD_CREATE;
usr/src/uts/common/fs/zfs/spa.c
5169
spa->spa_removing_phys.sr_state = DSS_NONE;
usr/src/uts/common/fs/zfs/spa.c
5170
spa->spa_removing_phys.sr_removing_vdev = -1;
usr/src/uts/common/fs/zfs/spa.c
5171
spa->spa_removing_phys.sr_prev_indirect_vdev = -1;
usr/src/uts/common/fs/zfs/spa.c
5172
spa->spa_indirect_vdevs_loaded = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5177
spa->spa_async_zio_root = kmem_alloc(max_ncpus * sizeof (void *),
usr/src/uts/common/fs/zfs/spa.c
5180
spa->spa_async_zio_root[i] = zio_root(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/spa.c
5188
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5190
error = spa_config_parse(spa, &rvd, nvroot, NULL, 0, VDEV_ALLOC_ADD);
usr/src/uts/common/fs/zfs/spa.c
5193
ASSERT(error != 0 || spa->spa_root_vdev == rvd);
usr/src/uts/common/fs/zfs/spa.c
5200
(error = spa_validate_aux(spa, nvroot, txg,
usr/src/uts/common/fs/zfs/spa.c
5214
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5217
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
5218
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
5219
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
5229
VERIFY(nvlist_alloc(&spa->spa_spares.sav_config, NV_UNIQUE_NAME,
usr/src/uts/common/fs/zfs/spa.c
5231
VERIFY(nvlist_add_nvlist_array(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5233
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5234
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/spa.c
5235
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5236
spa->spa_spares.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5244
VERIFY(nvlist_alloc(&spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5246
VERIFY(nvlist_add_nvlist_array(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5248
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5249
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/spa.c
5250
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5251
spa->spa_l2cache.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5254
spa->spa_is_initializing = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5255
spa->spa_dsl_pool = dp = dsl_pool_create(spa, zplprops, dcp, txg);
usr/src/uts/common/fs/zfs/spa.c
5256
spa->spa_is_initializing = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
5261
ddt_create(spa);
usr/src/uts/common/fs/zfs/spa.c
5263
spa_update_dspace(spa);
usr/src/uts/common/fs/zfs/spa.c
5270
spa->spa_config_object = dmu_object_alloc(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
5274
if (zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
5276
sizeof (uint64_t), 1, &spa->spa_config_object, tx) != 0) {
usr/src/uts/common/fs/zfs/spa.c
5280
if (zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
5288
spa->spa_deflate = TRUE;
usr/src/uts/common/fs/zfs/spa.c
5289
if (zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
5291
sizeof (uint64_t), 1, &spa->spa_deflate, tx) != 0) {
usr/src/uts/common/fs/zfs/spa.c
5301
obj = bpobj_alloc(spa->spa_meta_objset, 1 << 14, tx);
usr/src/uts/common/fs/zfs/spa.c
5302
dmu_object_set_compress(spa->spa_meta_objset, obj,
usr/src/uts/common/fs/zfs/spa.c
5304
if (zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
5309
VERIFY3U(0, ==, bpobj_open(&spa->spa_deferred_bpobj,
usr/src/uts/common/fs/zfs/spa.c
5310
spa->spa_meta_objset, obj));
usr/src/uts/common/fs/zfs/spa.c
5316
spa_history_create_obj(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
5321
(void) random_get_pseudo_bytes(spa->spa_cksum_salt.zcs_bytes,
usr/src/uts/common/fs/zfs/spa.c
5322
sizeof (spa->spa_cksum_salt.zcs_bytes));
usr/src/uts/common/fs/zfs/spa.c
5327
spa->spa_bootfs = zpool_prop_default_numeric(ZPOOL_PROP_BOOTFS);
usr/src/uts/common/fs/zfs/spa.c
5328
spa->spa_delegation = zpool_prop_default_numeric(ZPOOL_PROP_DELEGATION);
usr/src/uts/common/fs/zfs/spa.c
5329
spa->spa_failmode = zpool_prop_default_numeric(ZPOOL_PROP_FAILUREMODE);
usr/src/uts/common/fs/zfs/spa.c
5330
spa->spa_autoexpand = zpool_prop_default_numeric(ZPOOL_PROP_AUTOEXPAND);
usr/src/uts/common/fs/zfs/spa.c
5331
spa->spa_multihost = zpool_prop_default_numeric(ZPOOL_PROP_MULTIHOST);
usr/src/uts/common/fs/zfs/spa.c
5332
spa->spa_autotrim = zpool_prop_default_numeric(ZPOOL_PROP_AUTOTRIM);
usr/src/uts/common/fs/zfs/spa.c
5335
spa_configfile_set(spa, props, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
5341
spa->spa_sync_on = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5342
txg_sync_start(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
5343
mmp_thread_start(spa);
usr/src/uts/common/fs/zfs/spa.c
5349
txg_wait_synced(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/spa.c
5351
spa_spawn_aux_threads(spa);
usr/src/uts/common/fs/zfs/spa.c
5353
spa_write_cachefile(spa, B_FALSE, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
5354
spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_CREATE);
usr/src/uts/common/fs/zfs/spa.c
5356
spa_history_log_version(spa, "create");
usr/src/uts/common/fs/zfs/spa.c
5362
spa_evicting_os_wait(spa);
usr/src/uts/common/fs/zfs/spa.c
5363
spa->spa_minref = zfs_refcount_count(&spa->spa_refcount);
usr/src/uts/common/fs/zfs/spa.c
5364
spa->spa_load_state = SPA_LOAD_NONE;
usr/src/uts/common/fs/zfs/spa.c
5478
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
553
(intval < spa_version(spa) ||
usr/src/uts/common/fs/zfs/spa.c
5548
if ((spa = spa_lookup(pname)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
5553
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
5556
spa = spa_add(pname, config, NULL);
usr/src/uts/common/fs/zfs/spa.c
5557
spa->spa_is_root = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5558
spa->spa_import_flags = ZFS_IMPORT_VERBATIM;
usr/src/uts/common/fs/zfs/spa.c
5560
&spa->spa_ubsync.ub_version) != 0)
usr/src/uts/common/fs/zfs/spa.c
5561
spa->spa_ubsync.ub_version = SPA_VERSION_INITIAL;
usr/src/uts/common/fs/zfs/spa.c
5568
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5569
error = spa_config_parse(spa, &rvd, nvtop, NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
5571
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5620
spa_async_request(spa, SPA_ASYNC_AUTOEXPAND);
usr/src/uts/common/fs/zfs/spa.c
5624
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5626
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5641
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
5670
spa = spa_add(pool, config, altroot);
usr/src/uts/common/fs/zfs/spa.c
5671
spa->spa_import_flags = flags;
usr/src/uts/common/fs/zfs/spa.c
5677
if (spa->spa_import_flags & ZFS_IMPORT_VERBATIM) {
usr/src/uts/common/fs/zfs/spa.c
5679
spa_configfile_set(spa, props, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
5681
spa_write_cachefile(spa, B_FALSE, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
5682
spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_IMPORT);
usr/src/uts/common/fs/zfs/spa.c
5688
spa_activate(spa, mode);
usr/src/uts/common/fs/zfs/spa.c
5693
spa_async_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
5699
spa->spa_config_source = SPA_CONFIG_SRC_TRYIMPORT;
usr/src/uts/common/fs/zfs/spa.c
5702
spa->spa_last_ubsync_txg = spa->spa_load_txg = 0;
usr/src/uts/common/fs/zfs/spa.c
5708
error = spa_load_best(spa, state, policy.zlp_txg, policy.zlp_rewind);
usr/src/uts/common/fs/zfs/spa.c
5715
spa->spa_load_info) == 0);
usr/src/uts/common/fs/zfs/spa.c
5717
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5722
if (spa->spa_spares.sav_config) {
usr/src/uts/common/fs/zfs/spa.c
5723
nvlist_free(spa->spa_spares.sav_config);
usr/src/uts/common/fs/zfs/spa.c
5724
spa->spa_spares.sav_config = NULL;
usr/src/uts/common/fs/zfs/spa.c
5725
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/spa.c
5727
if (spa->spa_l2cache.sav_config) {
usr/src/uts/common/fs/zfs/spa.c
5728
nvlist_free(spa->spa_l2cache.sav_config);
usr/src/uts/common/fs/zfs/spa.c
5729
spa->spa_l2cache.sav_config = NULL;
usr/src/uts/common/fs/zfs/spa.c
5730
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/spa.c
5736
error = spa_validate_aux(spa, nvroot, -1ULL,
usr/src/uts/common/fs/zfs/spa.c
5739
error = spa_validate_aux(spa, nvroot, -1ULL,
usr/src/uts/common/fs/zfs/spa.c
5741
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5744
spa_configfile_set(spa, props, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
5746
if (error != 0 || (props && spa_writeable(spa) &&
usr/src/uts/common/fs/zfs/spa.c
5747
(error = spa_prop_set(spa, props)))) {
usr/src/uts/common/fs/zfs/spa.c
5748
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
5749
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
5750
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
5755
spa_async_resume(spa);
usr/src/uts/common/fs/zfs/spa.c
5763
if (spa->spa_spares.sav_config)
usr/src/uts/common/fs/zfs/spa.c
5764
VERIFY(nvlist_remove(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5767
VERIFY(nvlist_alloc(&spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5769
VERIFY(nvlist_add_nvlist_array(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5771
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5772
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/spa.c
5773
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5774
spa->spa_spares.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5778
if (spa->spa_l2cache.sav_config)
usr/src/uts/common/fs/zfs/spa.c
5779
VERIFY(nvlist_remove(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5782
VERIFY(nvlist_alloc(&spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5784
VERIFY(nvlist_add_nvlist_array(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5786
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5787
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/spa.c
5788
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5789
spa->spa_l2cache.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5795
if (spa->spa_autoreplace) {
usr/src/uts/common/fs/zfs/spa.c
5796
spa_aux_check_removed(&spa->spa_spares);
usr/src/uts/common/fs/zfs/spa.c
5797
spa_aux_check_removed(&spa->spa_l2cache);
usr/src/uts/common/fs/zfs/spa.c
5800
if (spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/spa.c
5804
spa_config_update(spa, SPA_CONFIG_UPDATE_POOL);
usr/src/uts/common/fs/zfs/spa.c
5811
spa_async_request(spa, SPA_ASYNC_AUTOEXPAND);
usr/src/uts/common/fs/zfs/spa.c
5813
spa_history_log_version(spa, "import");
usr/src/uts/common/fs/zfs/spa.c
5815
spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_IMPORT);
usr/src/uts/common/fs/zfs/spa.c
5827
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
5842
spa = spa_add(TRYIMPORT_NAME, tryconfig, NULL);
usr/src/uts/common/fs/zfs/spa.c
5843
spa_activate(spa, FREAD);
usr/src/uts/common/fs/zfs/spa.c
5848
zpool_get_load_policy(spa->spa_config, &policy);
usr/src/uts/common/fs/zfs/spa.c
585
if (spa_version(spa) < SPA_VERSION_BOOTFS) {
usr/src/uts/common/fs/zfs/spa.c
5850
spa->spa_load_max_txg = policy.zlp_txg;
usr/src/uts/common/fs/zfs/spa.c
5851
spa->spa_extreme_rewind = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5861
spa->spa_config_source = SPA_CONFIG_SRC_CACHEFILE;
usr/src/uts/common/fs/zfs/spa.c
5863
spa->spa_config_source = SPA_CONFIG_SRC_SCAN;
usr/src/uts/common/fs/zfs/spa.c
5866
error = spa_load(spa, SPA_LOAD_TRYIMPORT, SPA_IMPORT_EXISTING);
usr/src/uts/common/fs/zfs/spa.c
5871
if (spa->spa_root_vdev != NULL) {
usr/src/uts/common/fs/zfs/spa.c
5872
config = spa_config_generate(spa, NULL, -1ULL, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
5878
spa->spa_uberblock.ub_timestamp) == 0);
usr/src/uts/common/fs/zfs/spa.c
5880
spa->spa_load_info) == 0);
usr/src/uts/common/fs/zfs/spa.c
5887
if ((!error || error == EEXIST) && spa->spa_bootfs) {
usr/src/uts/common/fs/zfs/spa.c
5894
if (dsl_dsobj_to_dsname(spa_name(spa),
usr/src/uts/common/fs/zfs/spa.c
5895
spa->spa_bootfs, tmpname) == 0) {
usr/src/uts/common/fs/zfs/spa.c
5917
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
5918
spa_add_spares(spa, config);
usr/src/uts/common/fs/zfs/spa.c
5919
spa_add_l2cache(spa, config);
usr/src/uts/common/fs/zfs/spa.c
5920
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5923
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
5924
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
5925
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
593
if (!vdev_is_bootable(spa->spa_root_vdev)) {
usr/src/uts/common/fs/zfs/spa.c
5944
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
5953
if ((spa = spa_lookup(pool)) == NULL) {
usr/src/uts/common/fs/zfs/spa.c
5962
spa_open_ref(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5964
spa_async_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
5966
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5972
if (spa->spa_state != POOL_STATE_UNINITIALIZED && spa->spa_sync_on) {
usr/src/uts/common/fs/zfs/spa.c
5978
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/spa.c
5979
spa_evicting_os_wait(spa);
usr/src/uts/common/fs/zfs/spa.c
5986
if (!spa_refcount_zero(spa) ||
usr/src/uts/common/fs/zfs/spa.c
5987
(spa->spa_inject_ref != 0 &&
usr/src/uts/common/fs/zfs/spa.c
5989
spa_async_resume(spa);
usr/src/uts/common/fs/zfs/spa.c
6001
spa_has_active_shared_spare(spa)) {
usr/src/uts/common/fs/zfs/spa.c
6002
spa_async_resume(spa);
usr/src/uts/common/fs/zfs/spa.c
6014
if (spa->spa_root_vdev != NULL) {
usr/src/uts/common/fs/zfs/spa.c
6015
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
6018
vdev_autotrim_stop_all(spa);
usr/src/uts/common/fs/zfs/spa.c
6027
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
6028
spa->spa_state = new_state;
usr/src/uts/common/fs/zfs/spa.c
6029
spa->spa_final_txg = spa_last_synced_txg(spa) +
usr/src/uts/common/fs/zfs/spa.c
6031
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
6032
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6036
spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_DESTROY);
usr/src/uts/common/fs/zfs/spa.c
6038
if (spa->spa_state != POOL_STATE_UNINITIALIZED) {
usr/src/uts/common/fs/zfs/spa.c
6039
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
6040
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
6043
if (oldconfig && spa->spa_config)
usr/src/uts/common/fs/zfs/spa.c
6044
VERIFY(nvlist_dup(spa->spa_config, oldconfig, 0) == 0);
usr/src/uts/common/fs/zfs/spa.c
6048
spa_write_cachefile(spa, B_TRUE, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
6049
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
6098
spa_vdev_add(spa_t *spa, nvlist_t *nvroot)
usr/src/uts/common/fs/zfs/spa.c
6102
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
6107
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
6109
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
6111
if ((error = spa_config_parse(spa, &vd, nvroot, NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
6113
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6115
spa->spa_pending_vdev = vd; /* spa_vdev_exit() will clear this */
usr/src/uts/common/fs/zfs/spa.c
6126
return (spa_vdev_exit(spa, vd, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6130
return (spa_vdev_exit(spa, vd, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6136
if ((error = spa_validate_aux(spa, nvroot, txg, VDEV_ALLOC_ADD)) != 0)
usr/src/uts/common/fs/zfs/spa.c
6137
return (spa_vdev_exit(spa, vd, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6145
if (spa->spa_vdev_removal != NULL ||
usr/src/uts/common/fs/zfs/spa.c
6146
spa->spa_removing_phys.sr_prev_indirect_vdev != -1) {
usr/src/uts/common/fs/zfs/spa.c
6149
if (spa->spa_vdev_removal != NULL &&
usr/src/uts/common/fs/zfs/spa.c
6150
tvd->vdev_ashift != spa->spa_max_ashift) {
usr/src/uts/common/fs/zfs/spa.c
6151
return (spa_vdev_exit(spa, vd, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6155
return (spa_vdev_exit(spa, vd, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6166
return (spa_vdev_exit(spa, vd,
usr/src/uts/common/fs/zfs/spa.c
6183
spa_set_aux_vdevs(&spa->spa_spares, spares, nspares,
usr/src/uts/common/fs/zfs/spa.c
6185
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/spa.c
6186
spa->spa_spares.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
6190
spa_set_aux_vdevs(&spa->spa_l2cache, l2cache, nl2cache,
usr/src/uts/common/fs/zfs/spa.c
6192
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/spa.c
6193
spa->spa_l2cache.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
6209
(void) spa_vdev_exit(spa, vd, txg, 0);
usr/src/uts/common/fs/zfs/spa.c
6212
spa_config_update(spa, SPA_CONFIG_UPDATE_POOL);
usr/src/uts/common/fs/zfs/spa.c
6213
spa_event_notify(spa, NULL, NULL, ESC_ZFS_VDEV_ADD);
usr/src/uts/common/fs/zfs/spa.c
6233
spa_vdev_attach(spa_t *spa, uint64_t guid, nvlist_t *nvroot, int replacing)
usr/src/uts/common/fs/zfs/spa.c
6236
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
6243
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
6245
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
6247
oldvd = spa_lookup_by_guid(spa, guid, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
6250
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/spa.c
6251
error = (spa_has_checkpoint(spa)) ?
usr/src/uts/common/fs/zfs/spa.c
6253
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6256
if (spa->spa_vdev_removal != NULL)
usr/src/uts/common/fs/zfs/spa.c
6257
return (spa_vdev_exit(spa, NULL, txg, EBUSY));
usr/src/uts/common/fs/zfs/spa.c
6260
return (spa_vdev_exit(spa, NULL, txg, ENODEV));
usr/src/uts/common/fs/zfs/spa.c
6263
return (spa_vdev_exit(spa, NULL, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6267
if ((error = spa_config_parse(spa, &newrootvd, nvroot, NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
6269
return (spa_vdev_exit(spa, NULL, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6272
return (spa_vdev_exit(spa, newrootvd, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6277
return (spa_vdev_exit(spa, newrootvd, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6280
return (spa_vdev_exit(spa, newrootvd, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6286
return (spa_vdev_exit(spa, newrootvd, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6295
return (spa_vdev_exit(spa, newrootvd, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6305
!spa_has_spare(spa, newvd->vdev_guid))
usr/src/uts/common/fs/zfs/spa.c
6306
return (spa_vdev_exit(spa, newrootvd, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6317
spa_version(spa) < SPA_VERSION_MULTI_REPLACE) {
usr/src/uts/common/fs/zfs/spa.c
6318
return (spa_vdev_exit(spa, newrootvd, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6321
return (spa_vdev_exit(spa, newrootvd, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6334
return (spa_vdev_exit(spa, newrootvd, txg, EOVERFLOW));
usr/src/uts/common/fs/zfs/spa.c
6341
return (spa_vdev_exit(spa, newrootvd, txg, EDOM));
usr/src/uts/common/fs/zfs/spa.c
6399
spa_event_notify(spa, newvd, NULL, ESC_ZFS_VDEV_SPARE);
usr/src/uts/common/fs/zfs/spa.c
6417
if (dsl_scan_resilvering(spa_get_dsl(spa)) &&
usr/src/uts/common/fs/zfs/spa.c
6418
spa_feature_is_enabled(spa, SPA_FEATURE_RESILVER_DEFER))
usr/src/uts/common/fs/zfs/spa.c
6421
dsl_scan_restart_resilver(spa->spa_dsl_pool, dtl_max_txg);
usr/src/uts/common/fs/zfs/spa.c
6423
if (spa->spa_bootfs)
usr/src/uts/common/fs/zfs/spa.c
6424
spa_event_notify(spa, newvd, NULL, ESC_ZFS_BOOTFS_VDEV_ATTACH);
usr/src/uts/common/fs/zfs/spa.c
6426
spa_event_notify(spa, newvd, NULL, ESC_ZFS_VDEV_ATTACH);
usr/src/uts/common/fs/zfs/spa.c
6431
(void) spa_vdev_exit(spa, newrootvd, dtl_max_txg, 0);
usr/src/uts/common/fs/zfs/spa.c
6433
spa_history_log_internal(spa, "vdev attach", NULL,
usr/src/uts/common/fs/zfs/spa.c
6452
spa_vdev_detach(spa_t *spa, uint64_t guid, uint64_t pguid, int replace_done)
usr/src/uts/common/fs/zfs/spa.c
6456
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
6462
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
6464
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
6466
vd = spa_lookup_by_guid(spa, guid, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
6483
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/spa.c
6484
error = (spa_has_checkpoint(spa)) ?
usr/src/uts/common/fs/zfs/spa.c
6486
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6490
return (spa_vdev_exit(spa, NULL, txg, ENODEV));
usr/src/uts/common/fs/zfs/spa.c
6493
return (spa_vdev_exit(spa, NULL, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6511
return (spa_vdev_exit(spa, NULL, txg, EBUSY));
usr/src/uts/common/fs/zfs/spa.c
6518
return (spa_vdev_exit(spa, NULL, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
652
if (!error && spa_suspended(spa)) {
usr/src/uts/common/fs/zfs/spa.c
6521
spa_version(spa) >= SPA_VERSION_SPARES);
usr/src/uts/common/fs/zfs/spa.c
6529
return (spa_vdev_exit(spa, NULL, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
653
spa->spa_failmode = intval;
usr/src/uts/common/fs/zfs/spa.c
6536
return (spa_vdev_exit(spa, NULL, txg, EBUSY));
usr/src/uts/common/fs/zfs/spa.c
6608
(void) spa_vdev_remove(spa, unspare_guid, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
6641
if (spa->spa_autoexpand) {
usr/src/uts/common/fs/zfs/spa.c
6660
spa_event_notify(spa, vd, NULL, ESC_ZFS_VDEV_REMOVE);
usr/src/uts/common/fs/zfs/spa.c
6663
spa_open_ref(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6665
error = spa_vdev_exit(spa, vd, txg, 0);
usr/src/uts/common/fs/zfs/spa.c
6667
spa_history_log_internal(spa, "detach", NULL,
usr/src/uts/common/fs/zfs/spa.c
6682
altspa == spa)
usr/src/uts/common/fs/zfs/spa.c
6694
spa_vdev_resilver_done(spa);
usr/src/uts/common/fs/zfs/spa.c
6699
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6706
spa_vdev_initialize_impl(spa_t *spa, uint64_t guid, uint64_t cmd_type,
usr/src/uts/common/fs/zfs/spa.c
6711
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
6714
vdev_t *vd = spa_lookup_by_guid(spa, guid, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
6716
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6719
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6722
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6726
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6770
spa_vdev_initialize(spa_t *spa, nvlist_t *nv, uint64_t cmd_type,
usr/src/uts/common/fs/zfs/spa.c
6792
int error = spa_vdev_initialize_impl(spa, vdev_guid, cmd_type,
usr/src/uts/common/fs/zfs/spa.c
6805
vdev_initialize_stop_wait(spa, &vd_list);
usr/src/uts/common/fs/zfs/spa.c
6808
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/spa.c
6817
spa_vdev_trim_impl(spa_t *spa, uint64_t guid, uint64_t cmd_type,
usr/src/uts/common/fs/zfs/spa.c
6822
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
6825
vdev_t *vd = spa_lookup_by_guid(spa, guid, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
6827
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6830
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6833
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6836
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6839
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6843
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6890
spa_vdev_trim(spa_t *spa, nvlist_t *nv, uint64_t cmd_type, uint64_t rate,
usr/src/uts/common/fs/zfs/spa.c
6912
int error = spa_vdev_trim_impl(spa, vdev_guid, cmd_type,
usr/src/uts/common/fs/zfs/spa.c
6925
vdev_trim_stop_wait(spa, &vd_list);
usr/src/uts/common/fs/zfs/spa.c
6928
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/spa.c
6940
spa_vdev_split_mirror(spa_t *spa, char *newname, nvlist_t *config,
usr/src/uts/common/fs/zfs/spa.c
6953
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
6955
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
6958
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/spa.c
6959
error = (spa_has_checkpoint(spa)) ?
usr/src/uts/common/fs/zfs/spa.c
6961
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6965
activate_slog = spa_passivate_log(spa);
usr/src/uts/common/fs/zfs/spa.c
6966
(void) spa_vdev_config_exit(spa, NULL, txg, 0, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6967
error = spa_reset_logs(spa);
usr/src/uts/common/fs/zfs/spa.c
6968
txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
6971
spa_activate_log(spa);
usr/src/uts/common/fs/zfs/spa.c
6974
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6978
return (spa_vdev_exit(spa, NULL, txg, EEXIST));
usr/src/uts/common/fs/zfs/spa.c
6986
return (spa_vdev_exit(spa, NULL, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6989
rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
7004
return (spa_vdev_exit(spa, NULL, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
7009
return (spa_vdev_exit(spa, NULL, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
701
if (spa_version(spa) < SPA_VERSION_DEDUP)
usr/src/uts/common/fs/zfs/spa.c
7022
if (spa->spa_root_vdev->vdev_child[c]->vdev_ishole ||
usr/src/uts/common/fs/zfs/spa.c
7023
spa->spa_root_vdev->vdev_child[c]->vdev_islog) {
usr/src/uts/common/fs/zfs/spa.c
7039
vml[c] = spa_lookup_by_guid(spa, glist[c], B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
7054
c != spa->spa_root_vdev->vdev_child[c]->vdev_id) {
usr/src/uts/common/fs/zfs/spa.c
7088
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
7096
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7107
mutex_enter(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
7108
VERIFY(nvlist_add_nvlist(spa->spa_config, ZPOOL_CONFIG_SPLIT,
usr/src/uts/common/fs/zfs/spa.c
7110
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
7111
spa->spa_config_splitting = nvl;
usr/src/uts/common/fs/zfs/spa.c
7112
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7119
spa_version(spa)) == 0);
usr/src/uts/common/fs/zfs/spa.c
7121
spa->spa_config_txg) == 0);
usr/src/uts/common/fs/zfs/spa.c
7131
newspa->spa_config_txg = spa->spa_config_txg;
usr/src/uts/common/fs/zfs/spa.c
7135
spa_vdev_config_exit(spa, NULL, txg, 0, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7138
zio_handle_panic_injection(spa, FTAG, 1);
usr/src/uts/common/fs/zfs/spa.c
7169
vdev_initialize_stop_wait(spa, &vd_initialize_list);
usr/src/uts/common/fs/zfs/spa.c
7170
vdev_trim_stop_wait(spa, &vd_trim_list);
usr/src/uts/common/fs/zfs/spa.c
7187
ZPOOL_CONFIG_SPLIT_GUID, spa_guid(spa)) == 0);
usr/src/uts/common/fs/zfs/spa.c
7206
zio_handle_panic_injection(spa, FTAG, 2);
usr/src/uts/common/fs/zfs/spa.c
7211
txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
7212
tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/spa.c
7220
spa_history_log_internal(spa, "detach", tx,
usr/src/uts/common/fs/zfs/spa.c
7226
spa->spa_avz_action = AVZ_ACTION_REBUILD;
usr/src/uts/common/fs/zfs/spa.c
7227
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7228
spa->spa_config_splitting = NULL;
usr/src/uts/common/fs/zfs/spa.c
7232
(void) spa_vdev_exit(spa, NULL, txg, 0);
usr/src/uts/common/fs/zfs/spa.c
7235
zio_handle_panic_injection(spa, FTAG, 3);
usr/src/uts/common/fs/zfs/spa.c
7239
"from pool %s", spa_name(spa));
usr/src/uts/common/fs/zfs/spa.c
7255
txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
7264
spa_async_request(spa, SPA_ASYNC_INITIALIZE_RESTART);
usr/src/uts/common/fs/zfs/spa.c
7265
spa_async_request(spa, SPA_ASYNC_TRIM_RESTART);
usr/src/uts/common/fs/zfs/spa.c
7266
spa_async_request(spa, SPA_ASYNC_AUTOTRIM_RESTART);
usr/src/uts/common/fs/zfs/spa.c
7268
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7270
nvlist_free(spa->spa_config_splitting);
usr/src/uts/common/fs/zfs/spa.c
7271
spa->spa_config_splitting = NULL;
usr/src/uts/common/fs/zfs/spa.c
7272
(void) spa_vdev_exit(spa, NULL, txg, error);
usr/src/uts/common/fs/zfs/spa.c
729
spa_configfile_set(spa_t *spa, nvlist_t *nvp, boolean_t need_sync)
usr/src/uts/common/fs/zfs/spa.c
7361
spa_vdev_resilver_done(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7366
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
7368
while ((vd = spa_vdev_resilver_done_hunt(spa->spa_root_vdev)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
7387
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7388
if (spa_vdev_detach(spa, guid, pguid, B_TRUE) != 0)
usr/src/uts/common/fs/zfs/spa.c
7390
if (sguid && spa_vdev_detach(spa, sguid, ppguid, B_TRUE) != 0)
usr/src/uts/common/fs/zfs/spa.c
7392
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
7395
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7402
spa_vdev_set_common(spa_t *spa, uint64_t guid, const char *value,
usr/src/uts/common/fs/zfs/spa.c
7408
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
7410
spa_vdev_state_enter(spa, SCL_ALL);
usr/src/uts/common/fs/zfs/spa.c
7412
if ((vd = spa_lookup_by_guid(spa, guid, B_TRUE)) == NULL)
usr/src/uts/common/fs/zfs/spa.c
7413
return (spa_vdev_state_exit(spa, NULL, ENOENT));
usr/src/uts/common/fs/zfs/spa.c
7416
return (spa_vdev_state_exit(spa, NULL, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
7435
return (spa_vdev_state_exit(spa, sync ? vd : NULL, 0));
usr/src/uts/common/fs/zfs/spa.c
7439
spa_vdev_setpath(spa_t *spa, uint64_t guid, const char *newpath)
usr/src/uts/common/fs/zfs/spa.c
7441
return (spa_vdev_set_common(spa, guid, newpath, B_TRUE));
usr/src/uts/common/fs/zfs/spa.c
7445
spa_vdev_setfru(spa_t *spa, uint64_t guid, const char *newfru)
usr/src/uts/common/fs/zfs/spa.c
7447
return (spa_vdev_set_common(spa, guid, newfru, B_FALSE));
usr/src/uts/common/fs/zfs/spa.c
7456
spa_scrub_pause_resume(spa_t *spa, pool_scrub_cmd_t cmd)
usr/src/uts/common/fs/zfs/spa.c
7458
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == 0);
usr/src/uts/common/fs/zfs/spa.c
7460
if (dsl_scan_resilvering(spa->spa_dsl_pool))
usr/src/uts/common/fs/zfs/spa.c
7463
return (dsl_scrub_set_pause_resume(spa->spa_dsl_pool, cmd));
usr/src/uts/common/fs/zfs/spa.c
7467
spa_scan_stop(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7469
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == 0);
usr/src/uts/common/fs/zfs/spa.c
7470
if (dsl_scan_resilvering(spa->spa_dsl_pool))
usr/src/uts/common/fs/zfs/spa.c
7472
return (dsl_scan_cancel(spa->spa_dsl_pool));
usr/src/uts/common/fs/zfs/spa.c
7476
spa_scan(spa_t *spa, pool_scan_func_t func)
usr/src/uts/common/fs/zfs/spa.c
7478
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == 0);
usr/src/uts/common/fs/zfs/spa.c
748
list_insert_head(&spa->spa_config_list, dp);
usr/src/uts/common/fs/zfs/spa.c
7484
!spa_feature_is_enabled(spa, SPA_FEATURE_RESILVER_DEFER))
usr/src/uts/common/fs/zfs/spa.c
7492
!vdev_resilver_needed(spa->spa_root_vdev, NULL, NULL)) {
usr/src/uts/common/fs/zfs/spa.c
7493
spa_async_request(spa, SPA_ASYNC_RESILVER_DONE);
usr/src/uts/common/fs/zfs/spa.c
7497
return (dsl_scan(spa->spa_dsl_pool, func));
usr/src/uts/common/fs/zfs/spa.c
750
spa_async_request(spa, SPA_ASYNC_CONFIG_UPDATE);
usr/src/uts/common/fs/zfs/spa.c
7507
spa_async_remove(spa_t *spa, vdev_t *vd)
usr/src/uts/common/fs/zfs/spa.c
7528
spa_async_remove(spa, vd->vdev_child[c]);
usr/src/uts/common/fs/zfs/spa.c
7532
spa_async_probe(spa_t *spa, vdev_t *vd)
usr/src/uts/common/fs/zfs/spa.c
754
spa_prop_set(spa_t *spa, nvlist_t *nvp)
usr/src/uts/common/fs/zfs/spa.c
7540
spa_async_probe(spa, vd->vdev_child[c]);
usr/src/uts/common/fs/zfs/spa.c
7544
spa_async_autoexpand(spa_t *spa, vdev_t *vd)
usr/src/uts/common/fs/zfs/spa.c
7548
if (!spa->spa_autoexpand)
usr/src/uts/common/fs/zfs/spa.c
7553
spa_async_autoexpand(spa, cvd);
usr/src/uts/common/fs/zfs/spa.c
7570
spa_t *spa = (spa_t *)arg;
usr/src/uts/common/fs/zfs/spa.c
7571
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/spa.c
7574
ASSERT(spa->spa_sync_on);
usr/src/uts/common/fs/zfs/spa.c
7576
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7577
tasks = spa->spa_async_tasks;
usr/src/uts/common/fs/zfs/spa.c
7578
spa->spa_async_tasks = 0;
usr/src/uts/common/fs/zfs/spa.c
7579
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7588
old_space = metaslab_class_get_space(spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7589
old_space += metaslab_class_get_space(spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7590
old_space += metaslab_class_get_space(spa_dedup_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7592
spa_config_update(spa, SPA_CONFIG_UPDATE_POOL);
usr/src/uts/common/fs/zfs/spa.c
7594
new_space = metaslab_class_get_space(spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7595
new_space += metaslab_class_get_space(spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7596
new_space += metaslab_class_get_space(spa_dedup_class(spa));
usr/src/uts/common/fs/zfs/spa.c
760
if ((error = spa_prop_validate(spa, nvp)) != 0)
usr/src/uts/common/fs/zfs/spa.c
7604
spa_history_log_internal(spa, "vdev online", NULL,
usr/src/uts/common/fs/zfs/spa.c
7606
spa_name(spa), new_space, new_space - old_space);
usr/src/uts/common/fs/zfs/spa.c
7614
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/spa.c
7615
spa_async_remove(spa, spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7616
for (int i = 0; i < spa->spa_l2cache.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
7617
spa_async_remove(spa, spa->spa_l2cache.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
7618
for (int i = 0; i < spa->spa_spares.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
7619
spa_async_remove(spa, spa->spa_spares.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
7620
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/spa.c
7623
if ((tasks & SPA_ASYNC_AUTOEXPAND) && !spa_suspended(spa)) {
usr/src/uts/common/fs/zfs/spa.c
7624
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7625
spa_async_autoexpand(spa, spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7626
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7633
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/spa.c
7634
spa_async_probe(spa, spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7635
for (int i = 0; i < spa->spa_spares.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
7636
spa_async_probe(spa, spa->spa_spares.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
7637
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/spa.c
7644
spa_vdev_resilver_done(spa);
usr/src/uts/common/fs/zfs/spa.c
7656
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7657
vdev_initialize_restart(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7658
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7664
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7665
vdev_trim_restart(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7666
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7672
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7673
vdev_autotrim_restart(spa);
usr/src/uts/common/fs/zfs/spa.c
7674
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7683
spa_config_enter(spa, SCL_L2ARC, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7684
l2arc_spa_rebuild_start(spa);
usr/src/uts/common/fs/zfs/spa.c
7685
spa_config_exit(spa, SCL_L2ARC, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7692
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7693
spa->spa_async_thread = NULL;
usr/src/uts/common/fs/zfs/spa.c
7694
cv_broadcast(&spa->spa_async_cv);
usr/src/uts/common/fs/zfs/spa.c
7695
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7700
spa_async_suspend(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7702
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7703
spa->spa_async_suspended++;
usr/src/uts/common/fs/zfs/spa.c
7704
while (spa->spa_async_thread != NULL)
usr/src/uts/common/fs/zfs/spa.c
7705
cv_wait(&spa->spa_async_cv, &spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7706
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7708
spa_vdev_remove_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
7710
zthr_t *condense_thread = spa->spa_condense_zthr;
usr/src/uts/common/fs/zfs/spa.c
7714
zthr_t *discard_thread = spa->spa_checkpoint_discard_zthr;
usr/src/uts/common/fs/zfs/spa.c
7720
spa_async_resume(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7722
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7723
ASSERT(spa->spa_async_suspended != 0);
usr/src/uts/common/fs/zfs/spa.c
7724
spa->spa_async_suspended--;
usr/src/uts/common/fs/zfs/spa.c
7725
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7726
spa_restart_removal(spa);
usr/src/uts/common/fs/zfs/spa.c
7728
zthr_t *condense_thread = spa->spa_condense_zthr;
usr/src/uts/common/fs/zfs/spa.c
7732
zthr_t *discard_thread = spa->spa_checkpoint_discard_zthr;
usr/src/uts/common/fs/zfs/spa.c
7738
spa_async_tasks_pending(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7744
non_config_tasks = spa->spa_async_tasks & ~SPA_ASYNC_CONFIG_UPDATE;
usr/src/uts/common/fs/zfs/spa.c
7745
config_task = spa->spa_async_tasks & SPA_ASYNC_CONFIG_UPDATE;
usr/src/uts/common/fs/zfs/spa.c
7746
if (spa->spa_ccw_fail_time == 0) {
usr/src/uts/common/fs/zfs/spa.c
7750
(gethrtime() - spa->spa_ccw_fail_time) <
usr/src/uts/common/fs/zfs/spa.c
7758
spa_async_dispatch(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7760
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7761
if (spa_async_tasks_pending(spa) &&
usr/src/uts/common/fs/zfs/spa.c
7762
!spa->spa_async_suspended &&
usr/src/uts/common/fs/zfs/spa.c
7763
spa->spa_async_thread == NULL &&
usr/src/uts/common/fs/zfs/spa.c
7765
spa->spa_async_thread = thread_create(NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
7766
spa_async_thread, spa, 0, &p0, TS_RUN, maxclsyspri);
usr/src/uts/common/fs/zfs/spa.c
7767
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7771
spa_async_request(spa_t *spa, int task)
usr/src/uts/common/fs/zfs/spa.c
7773
zfs_dbgmsg("spa=%s async request task=%u", spa->spa_name, task);
usr/src/uts/common/fs/zfs/spa.c
7774
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7775
spa->spa_async_tasks |= task;
usr/src/uts/common/fs/zfs/spa.c
7776
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7780
spa_async_tasks(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7782
return (spa->spa_async_tasks);
usr/src/uts/common/fs/zfs/spa.c
7814
spa_sync_frees(spa_t *spa, bplist_t *bpl, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
7816
zio_t *zio = zio_root(spa, NULL, NULL, 0);
usr/src/uts/common/fs/zfs/spa.c
7826
spa_sync_deferred_frees(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
7828
if (spa_sync_pass(spa) != 1)
usr/src/uts/common/fs/zfs/spa.c
783
if (ver == spa_version(spa))
usr/src/uts/common/fs/zfs/spa.c
7843
zio_t *zio = zio_root(spa, NULL, NULL, 0);
usr/src/uts/common/fs/zfs/spa.c
7844
VERIFY3U(bpobj_iterate(&spa->spa_deferred_bpobj,
usr/src/uts/common/fs/zfs/spa.c
7851
spa_sync_nvlist(spa_t *spa, uint64_t obj, nvlist_t *nv, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
7872
dmu_write(spa->spa_meta_objset, obj, 0, bufsize, packed, tx);
usr/src/uts/common/fs/zfs/spa.c
7876
VERIFY(0 == dmu_bonus_hold(spa->spa_meta_objset, obj, FTAG, &db));
usr/src/uts/common/fs/zfs/spa.c
7883
spa_sync_aux_dev(spa_t *spa, spa_aux_vdev_t *sav, dmu_tx_t *tx,
usr/src/uts/common/fs/zfs/spa.c
7899
sav->sav_object = dmu_object_alloc(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
7902
VERIFY(zap_update(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
7913
list[i] = vdev_config_generate(spa, sav->sav_vdevs[i],
usr/src/uts/common/fs/zfs/spa.c
792
error = dsl_sync_task(spa->spa_name, NULL,
usr/src/uts/common/fs/zfs/spa.c
7922
spa_sync_nvlist(spa, sav->sav_object, nvroot, tx);
usr/src/uts/common/fs/zfs/spa.c
7935
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/spa.c
7937
VERIFY0(zap_add_int(spa->spa_meta_objset, avz,
usr/src/uts/common/fs/zfs/spa.c
7941
VERIFY0(zap_add_int(spa->spa_meta_objset, avz,
usr/src/uts/common/fs/zfs/spa.c
7950
spa_sync_config_object(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
7960
if (list_is_empty(&spa->spa_config_dirty_list) &&
usr/src/uts/common/fs/zfs/spa.c
7961
spa->spa_avz_action == AVZ_ACTION_NONE)
usr/src/uts/common/fs/zfs/spa.c
7964
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7966
ASSERT(spa->spa_avz_action == AVZ_ACTION_NONE ||
usr/src/uts/common/fs/zfs/spa.c
7967
spa->spa_avz_action == AVZ_ACTION_INITIALIZE ||
usr/src/uts/common/fs/zfs/spa.c
7968
spa->spa_all_vdev_zaps != 0);
usr/src/uts/common/fs/zfs/spa.c
7970
if (spa->spa_avz_action == AVZ_ACTION_REBUILD) {
usr/src/uts/common/fs/zfs/spa.c
7972
uint64_t new_avz = zap_create(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
7974
spa_avz_build(spa->spa_root_vdev, new_avz, tx);
usr/src/uts/common/fs/zfs/spa.c
7980
for (zap_cursor_init(&zc, spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
7981
spa->spa_all_vdev_zaps);
usr/src/uts/common/fs/zfs/spa.c
7985
if (zap_lookup_int(spa->spa_meta_objset, new_avz,
usr/src/uts/common/fs/zfs/spa.c
7991
VERIFY0(zap_destroy(spa->spa_meta_objset, vdzap,
usr/src/uts/common/fs/zfs/spa.c
7999
VERIFY0(zap_destroy(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8000
spa->spa_all_vdev_zaps, tx));
usr/src/uts/common/fs/zfs/spa.c
8003
VERIFY0(zap_update(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8007
spa->spa_all_vdev_zaps = new_avz;
usr/src/uts/common/fs/zfs/spa.c
8008
} else if (spa->spa_avz_action == AVZ_ACTION_DESTROY) {
usr/src/uts/common/fs/zfs/spa.c
8013
for (zap_cursor_init(&zc, spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8014
spa->spa_all_vdev_zaps);
usr/src/uts/common/fs/zfs/spa.c
8018
VERIFY0(zap_destroy(spa->spa_meta_objset, zap, tx));
usr/src/uts/common/fs/zfs/spa.c
8024
VERIFY0(zap_destroy(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8025
spa->spa_all_vdev_zaps, tx));
usr/src/uts/common/fs/zfs/spa.c
8026
VERIFY0(zap_remove(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8028
spa->spa_all_vdev_zaps = 0;
usr/src/uts/common/fs/zfs/spa.c
8031
if (spa->spa_all_vdev_zaps == 0) {
usr/src/uts/common/fs/zfs/spa.c
8032
spa->spa_all_vdev_zaps = zap_create_link(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8036
spa->spa_avz_action = AVZ_ACTION_NONE;
usr/src/uts/common/fs/zfs/spa.c
8039
vdev_construct_zaps(spa->spa_root_vdev, tx);
usr/src/uts/common/fs/zfs/spa.c
8041
config = spa_config_generate(spa, spa->spa_root_vdev,
usr/src/uts/common/fs/zfs/spa.c
8048
if (spa->spa_ubsync.ub_version < spa->spa_uberblock.ub_version)
usr/src/uts/common/fs/zfs/spa.c
805
return (dsl_sync_task(spa->spa_name, NULL, spa_sync_props,
usr/src/uts/common/fs/zfs/spa.c
8050
spa->spa_uberblock.ub_version);
usr/src/uts/common/fs/zfs/spa.c
8052
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8054
nvlist_free(spa->spa_config_syncing);
usr/src/uts/common/fs/zfs/spa.c
8055
spa->spa_config_syncing = config;
usr/src/uts/common/fs/zfs/spa.c
8057
spa_sync_nvlist(spa, spa->spa_config_object, config, tx);
usr/src/uts/common/fs/zfs/spa.c
8065
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa.c
8073
ASSERT(version >= spa_version(spa));
usr/src/uts/common/fs/zfs/spa.c
8075
spa->spa_uberblock.ub_version = version;
usr/src/uts/common/fs/zfs/spa.c
8076
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
8077
spa_history_log_internal(spa, "set", tx, "version=%lld", version);
usr/src/uts/common/fs/zfs/spa.c
8087
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa.c
8088
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa.c
8091
mutex_enter(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
8111
spa_feature_enable(spa, fid, tx);
usr/src/uts/common/fs/zfs/spa.c
8112
spa_history_log_internal(spa, "set", tx,
usr/src/uts/common/fs/zfs/spa.c
8122
ASSERT3U(spa_version(spa), >=, intval);
usr/src/uts/common/fs/zfs/spa.c
8130
ASSERT(spa->spa_root != NULL);
usr/src/uts/common/fs/zfs/spa.c
8142
if (spa->spa_comment != NULL)
usr/src/uts/common/fs/zfs/spa.c
8143
spa_strfree(spa->spa_comment);
usr/src/uts/common/fs/zfs/spa.c
8144
spa->spa_comment = spa_strdup(strval);
usr/src/uts/common/fs/zfs/spa.c
8152
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
8153
spa_history_log_internal(spa, "set", tx,
usr/src/uts/common/fs/zfs/spa.c
816
spa_prop_clear_bootfs(spa_t *spa, uint64_t dsobj, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
8160
if (spa->spa_pool_props_object == 0) {
usr/src/uts/common/fs/zfs/spa.c
8161
spa->spa_pool_props_object =
usr/src/uts/common/fs/zfs/spa.c
8175
spa->spa_pool_props_object, propname,
usr/src/uts/common/fs/zfs/spa.c
8177
spa_history_log_internal(spa, "set", tx,
usr/src/uts/common/fs/zfs/spa.c
818
if (spa->spa_bootfs == dsobj && spa->spa_pool_props_object != 0) {
usr/src/uts/common/fs/zfs/spa.c
8188
spa->spa_pool_props_object, propname,
usr/src/uts/common/fs/zfs/spa.c
819
VERIFY(zap_remove(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8190
spa_history_log_internal(spa, "set", tx,
usr/src/uts/common/fs/zfs/spa.c
8198
spa->spa_delegation = intval;
usr/src/uts/common/fs/zfs/spa.c
820
spa->spa_pool_props_object,
usr/src/uts/common/fs/zfs/spa.c
8201
spa->spa_bootfs = intval;
usr/src/uts/common/fs/zfs/spa.c
8204
spa->spa_failmode = intval;
usr/src/uts/common/fs/zfs/spa.c
8207
spa->spa_autotrim = intval;
usr/src/uts/common/fs/zfs/spa.c
8208
spa_async_request(spa,
usr/src/uts/common/fs/zfs/spa.c
8212
spa->spa_autoexpand = intval;
usr/src/uts/common/fs/zfs/spa.c
8214
spa_async_request(spa,
usr/src/uts/common/fs/zfs/spa.c
8218
spa->spa_multihost = intval;
usr/src/uts/common/fs/zfs/spa.c
822
spa->spa_bootfs = 0;
usr/src/uts/common/fs/zfs/spa.c
8221
spa->spa_dedup_ditto = intval;
usr/src/uts/common/fs/zfs/spa.c
8230
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
8241
spa_sync_upgrades(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
8243
if (spa_sync_pass(spa) != 1)
usr/src/uts/common/fs/zfs/spa.c
8246
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/spa.c
8249
if (spa->spa_ubsync.ub_version < SPA_VERSION_ORIGIN &&
usr/src/uts/common/fs/zfs/spa.c
8250
spa->spa_uberblock.ub_version >= SPA_VERSION_ORIGIN) {
usr/src/uts/common/fs/zfs/spa.c
8254
spa->spa_minref += 3;
usr/src/uts/common/fs/zfs/spa.c
8257
if (spa->spa_ubsync.ub_version < SPA_VERSION_NEXT_CLONES &&
usr/src/uts/common/fs/zfs/spa.c
8258
spa->spa_uberblock.ub_version >= SPA_VERSION_NEXT_CLONES) {
usr/src/uts/common/fs/zfs/spa.c
8262
if (spa->spa_ubsync.ub_version < SPA_VERSION_DIR_CLONES &&
usr/src/uts/common/fs/zfs/spa.c
8263
spa->spa_uberblock.ub_version >= SPA_VERSION_DIR_CLONES) {
usr/src/uts/common/fs/zfs/spa.c
8267
spa->spa_minref += 3;
usr/src/uts/common/fs/zfs/spa.c
8270
if (spa->spa_ubsync.ub_version < SPA_VERSION_FEATURES &&
usr/src/uts/common/fs/zfs/spa.c
8271
spa->spa_uberblock.ub_version >= SPA_VERSION_FEATURES) {
usr/src/uts/common/fs/zfs/spa.c
8272
spa_feature_create_zap_objects(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8281
if (spa->spa_uberblock.ub_version >= SPA_VERSION_FEATURES) {
usr/src/uts/common/fs/zfs/spa.c
8282
boolean_t lz4_en = spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/spa.c
8284
boolean_t lz4_ac = spa_feature_is_active(spa,
usr/src/uts/common/fs/zfs/spa.c
8288
spa_feature_incr(spa, SPA_FEATURE_LZ4_COMPRESS, tx);
usr/src/uts/common/fs/zfs/spa.c
8296
if (zap_contains(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa.c
8298
VERIFY0(zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8300
sizeof (spa->spa_cksum_salt.zcs_bytes),
usr/src/uts/common/fs/zfs/spa.c
8301
spa->spa_cksum_salt.zcs_bytes, tx));
usr/src/uts/common/fs/zfs/spa.c
831
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa.c
832
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
8346
spa_sync_adjust_vdev_max_queue_depth(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
8348
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
835
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/spa.c
8350
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
8353
metaslab_class_t *normal = spa_normal_class(spa);
usr/src/uts/common/fs/zfs/spa.c
8354
metaslab_class_t *special = spa_special_class(spa);
usr/src/uts/common/fs/zfs/spa.c
8355
metaslab_class_t *dedup = spa_dedup_class(spa);
usr/src/uts/common/fs/zfs/spa.c
836
int error = (spa_has_checkpoint(spa)) ?
usr/src/uts/common/fs/zfs/spa.c
8374
for (int i = 0; i < spa->spa_alloc_count; i++)
usr/src/uts/common/fs/zfs/spa.c
8379
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8386
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8400
spa_sync_condense_indirect(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
8402
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
8404
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
841
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
8417
spa_sync_iterate_to_convergence(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
8419
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa.c
8420
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/spa.c
8422
bplist_t *free_bpl = &spa->spa_free_bplist[txg & TXG_MASK];
usr/src/uts/common/fs/zfs/spa.c
8425
int pass = ++spa->spa_sync_pass;
usr/src/uts/common/fs/zfs/spa.c
8427
spa_sync_config_object(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8428
spa_sync_aux_dev(spa, &spa->spa_spares, tx,
usr/src/uts/common/fs/zfs/spa.c
843
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8430
spa_sync_aux_dev(spa, &spa->spa_l2cache, tx,
usr/src/uts/common/fs/zfs/spa.c
8432
spa_errlog_sync(spa, txg);
usr/src/uts/common/fs/zfs/spa.c
8436
spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP)) {
usr/src/uts/common/fs/zfs/spa.c
8443
spa_sync_frees(spa, free_bpl, tx);
usr/src/uts/common/fs/zfs/spa.c
8451
&spa->spa_deferred_bpobj, tx);
usr/src/uts/common/fs/zfs/spa.c
8454
ddt_sync(spa, txg);
usr/src/uts/common/fs/zfs/spa.c
8456
svr_sync(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8457
spa_sync_upgrades(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8459
spa_flush_metaslabs(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8462
while ((vd = txg_list_remove(&spa->spa_vdev_txg_list, txg))
usr/src/uts/common/fs/zfs/spa.c
8476
spa->spa_uberblock.ub_rootbp.blk_birth < txg &&
usr/src/uts/common/fs/zfs/spa.c
848
ASSERT3U(spa_guid(spa), !=, *newguid);
usr/src/uts/common/fs/zfs/spa.c
8490
spa_sync_deferred_frees(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8504
spa_sync_rewrite_vdev_config(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
8506
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
8516
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
8518
if (list_is_empty(&spa->spa_config_dirty_list)) {
usr/src/uts/common/fs/zfs/spa.c
8548
spa->spa_last_synced_guid = rvd->vdev_guid;
usr/src/uts/common/fs/zfs/spa.c
8550
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8554
zio_suspend(spa, NULL, ZIO_SUSPEND_IOERR);
usr/src/uts/common/fs/zfs/spa.c
8555
zio_resume_wait(spa);
usr/src/uts/common/fs/zfs/spa.c
8564
spa_sync(spa_t *spa, uint64_t txg)
usr/src/uts/common/fs/zfs/spa.c
8568
VERIFY(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
857
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa.c
8574
(void) zio_wait(spa->spa_txg_zio[txg & TXG_MASK]);
usr/src/uts/common/fs/zfs/spa.c
8575
spa->spa_txg_zio[txg & TXG_MASK] = zio_root(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/spa.c
8581
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
8583
spa->spa_syncing_txg = txg;
usr/src/uts/common/fs/zfs/spa.c
8584
spa->spa_sync_pass = 0;
usr/src/uts/common/fs/zfs/spa.c
8586
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8587
mutex_enter(&spa->spa_alloc_locks[i]);
usr/src/uts/common/fs/zfs/spa.c
8588
VERIFY0(avl_numnodes(&spa->spa_alloc_trees[i]));
usr/src/uts/common/fs/zfs/spa.c
8589
mutex_exit(&spa->spa_alloc_locks[i]);
usr/src/uts/common/fs/zfs/spa.c
859
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
8596
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
8597
while (list_head(&spa->spa_state_dirty_list) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8605
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8606
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
8607
while ((vd = list_head(&spa->spa_state_dirty_list)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
861
oldguid = spa_guid(spa);
usr/src/uts/common/fs/zfs/spa.c
8611
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8612
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
8614
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8616
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/spa.c
8619
spa->spa_sync_starttime = gethrtime();
usr/src/uts/common/fs/zfs/spa.c
8620
VERIFY(cyclic_reprogram(spa->spa_deadman_cycid,
usr/src/uts/common/fs/zfs/spa.c
8621
spa->spa_sync_starttime + spa->spa_deadman_synctime));
usr/src/uts/common/fs/zfs/spa.c
8627
if (spa->spa_ubsync.ub_version < SPA_VERSION_RAIDZ_DEFLATE &&
usr/src/uts/common/fs/zfs/spa.c
8628
spa->spa_uberblock.ub_version >= SPA_VERSION_RAIDZ_DEFLATE) {
usr/src/uts/common/fs/zfs/spa.c
8629
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
863
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
8638
spa->spa_deflate = TRUE;
usr/src/uts/common/fs/zfs/spa.c
8639
VERIFY0(zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8641
sizeof (uint64_t), 1, &spa->spa_deflate, tx));
usr/src/uts/common/fs/zfs/spa.c
8645
spa_sync_adjust_vdev_max_queue_depth(spa);
usr/src/uts/common/fs/zfs/spa.c
8647
spa_sync_condense_indirect(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8649
spa_sync_iterate_to_convergence(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8652
if (!list_is_empty(&spa->spa_config_dirty_list)) {
usr/src/uts/common/fs/zfs/spa.c
8661
ASSERT0(zap_count(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8662
spa->spa_all_vdev_zaps, &all_vdev_zap_entry_count));
usr/src/uts/common/fs/zfs/spa.c
8663
ASSERT3U(vdev_count_verify_zaps(spa->spa_root_vdev), ==,
usr/src/uts/common/fs/zfs/spa.c
8668
if (spa->spa_vdev_removal != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8669
ASSERT0(spa->spa_vdev_removal->svr_bytes_done[txg & TXG_MASK]);
usr/src/uts/common/fs/zfs/spa.c
867
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8672
spa_sync_rewrite_vdev_config(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8675
VERIFY(cyclic_reprogram(spa->spa_deadman_cycid, CY_INFINITY));
usr/src/uts/common/fs/zfs/spa.c
8680
while ((vd = list_head(&spa->spa_config_dirty_list)) != NULL)
usr/src/uts/common/fs/zfs/spa.c
8687
if (spa->spa_config_syncing != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8688
spa_config_set(spa, spa->spa_config_syncing);
usr/src/uts/common/fs/zfs/spa.c
8689
spa->spa_config_txg = txg;
usr/src/uts/common/fs/zfs/spa.c
869
spa_history_log_internal(spa, "guid change", tx, "old=%llu new=%llu",
usr/src/uts/common/fs/zfs/spa.c
8690
spa->spa_config_syncing = NULL;
usr/src/uts/common/fs/zfs/spa.c
8695
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8696
mutex_enter(&spa->spa_alloc_locks[i]);
usr/src/uts/common/fs/zfs/spa.c
8697
VERIFY0(avl_numnodes(&spa->spa_alloc_trees[i]));
usr/src/uts/common/fs/zfs/spa.c
8698
mutex_exit(&spa->spa_alloc_locks[i]);
usr/src/uts/common/fs/zfs/spa.c
8704
while ((vd = txg_list_remove(&spa->spa_vdev_txg_list, TXG_CLEAN(txg)))
usr/src/uts/common/fs/zfs/spa.c
8708
metaslab_class_evict_old(spa->spa_normal_class, txg);
usr/src/uts/common/fs/zfs/spa.c
8709
metaslab_class_evict_old(spa->spa_log_class, txg);
usr/src/uts/common/fs/zfs/spa.c
8711
spa_sync_close_syncing_log_sm(spa);
usr/src/uts/common/fs/zfs/spa.c
8713
spa_update_dspace(spa);
usr/src/uts/common/fs/zfs/spa.c
8721
ASSERT(txg_list_empty(&spa->spa_vdev_txg_list, txg));
usr/src/uts/common/fs/zfs/spa.c
8726
spa->spa_sync_pass = 0;
usr/src/uts/common/fs/zfs/spa.c
8734
spa->spa_ubsync = spa->spa_uberblock;
usr/src/uts/common/fs/zfs/spa.c
8735
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8737
spa_handle_ignored_writes(spa);
usr/src/uts/common/fs/zfs/spa.c
8741
NSEC2SEC(gethrtime() - spa->spa_spares_last_polled) >
usr/src/uts/common/fs/zfs/spa.c
8743
spa_spare_poll(spa);
usr/src/uts/common/fs/zfs/spa.c
8744
spa->spa_spares_last_polled = gethrtime();
usr/src/uts/common/fs/zfs/spa.c
8750
spa_async_dispatch(spa);
usr/src/uts/common/fs/zfs/spa.c
8761
spa_t *spa = NULL;
usr/src/uts/common/fs/zfs/spa.c
8763
while ((spa = spa_next(spa)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8764
if (spa_state(spa) != POOL_STATE_ACTIVE ||
usr/src/uts/common/fs/zfs/spa.c
8765
!spa_writeable(spa) || spa_suspended(spa))
usr/src/uts/common/fs/zfs/spa.c
8767
spa_open_ref(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8769
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/spa.c
8771
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8788
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
8795
while ((spa = spa_next(NULL)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8801
spa_open_ref(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8803
spa_async_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
8805
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8807
if (spa->spa_state != POOL_STATE_UNINITIALIZED) {
usr/src/uts/common/fs/zfs/spa.c
8808
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
8809
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
8811
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
8817
spa_lookup_by_guid(spa_t *spa, uint64_t guid, boolean_t aux)
usr/src/uts/common/fs/zfs/spa.c
8822
if ((vd = vdev_lookup_by_guid(spa->spa_root_vdev, guid)) != NULL)
usr/src/uts/common/fs/zfs/spa.c
8826
for (i = 0; i < spa->spa_l2cache.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8827
vd = spa->spa_l2cache.sav_vdevs[i];
usr/src/uts/common/fs/zfs/spa.c
883
spa_change_guid(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
8832
for (i = 0; i < spa->spa_spares.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8833
vd = spa->spa_spares.sav_vdevs[i];
usr/src/uts/common/fs/zfs/spa.c
8843
spa_upgrade(spa_t *spa, uint64_t version)
usr/src/uts/common/fs/zfs/spa.c
8845
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
8847
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
8854
ASSERT(SPA_VERSION_IS_SUPPORTED(spa->spa_uberblock.ub_version));
usr/src/uts/common/fs/zfs/spa.c
8855
ASSERT3U(version, >=, spa->spa_uberblock.ub_version);
usr/src/uts/common/fs/zfs/spa.c
8857
spa->spa_uberblock.ub_version = version;
usr/src/uts/common/fs/zfs/spa.c
8858
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
8860
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8862
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/spa.c
8866
spa_has_spare(spa_t *spa, uint64_t guid)
usr/src/uts/common/fs/zfs/spa.c
8870
spa_aux_vdev_t *sav = &spa->spa_spares;
usr/src/uts/common/fs/zfs/spa.c
888
mutex_enter(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa.c
8890
spa_has_active_shared_spare(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
8894
spa_aux_vdev_t *sav = &spa->spa_spares;
usr/src/uts/common/fs/zfs/spa.c
8898
&refcnt) && pool != 0ULL && pool == spa_guid(spa) &&
usr/src/uts/common/fs/zfs/spa.c
8907
spa_total_metaslabs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
8909
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
892
error = dsl_sync_task(spa->spa_name, spa_change_guid_check,
usr/src/uts/common/fs/zfs/spa.c
8922
spa_event_create(spa_t *spa, vdev_t *vd, nvlist_t *hist_nvl, const char *name)
usr/src/uts/common/fs/zfs/spa.c
8934
value.value.sv_string = spa_name(spa);
usr/src/uts/common/fs/zfs/spa.c
8939
value.value.sv_uint64 = spa_guid(spa);
usr/src/uts/common/fs/zfs/spa.c
896
spa_write_cachefile(spa, B_FALSE, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
897
spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_REGUID);
usr/src/uts/common/fs/zfs/spa.c
9002
spa_event_notify(spa_t *spa, vdev_t *vd, nvlist_t *hist_nvl, const char *name)
usr/src/uts/common/fs/zfs/spa.c
9004
spa_event_post(spa_event_create(spa, vd, hist_nvl, name));
usr/src/uts/common/fs/zfs/spa.c
901
mutex_exit(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa.c
930
spa_get_errlists(spa_t *spa, avl_tree_t *last, avl_tree_t *scrub)
usr/src/uts/common/fs/zfs/spa.c
932
ASSERT(MUTEX_HELD(&spa->spa_errlist_lock));
usr/src/uts/common/fs/zfs/spa.c
934
bcopy(&spa->spa_errlist_last, last, sizeof (avl_tree_t));
usr/src/uts/common/fs/zfs/spa.c
935
bcopy(&spa->spa_errlist_scrub, scrub, sizeof (avl_tree_t));
usr/src/uts/common/fs/zfs/spa.c
937
avl_create(&spa->spa_errlist_scrub,
usr/src/uts/common/fs/zfs/spa.c
940
avl_create(&spa->spa_errlist_last,
usr/src/uts/common/fs/zfs/spa.c
946
spa_taskqs_init(spa_t *spa, zio_type_t t, zio_taskq_type_t q)
usr/src/uts/common/fs/zfs/spa.c
952
spa_taskqs_t *tqs = &spa->spa_zio_taskq[t][q];
usr/src/uts/common/fs/zfs/spa.c
998
if (zio_taskq_sysdc && spa->spa_proc != &p0) {
usr/src/uts/common/fs/zfs/spa_checkpoint.c
164
spa_checkpoint_get_stats(spa_t *spa, pool_checkpoint_stat_t *pcs)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
166
if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
171
int error = zap_contains(spa_meta_objset(spa),
usr/src/uts/common/fs/zfs/spa_checkpoint.c
180
pcs->pcs_space = spa->spa_checkpoint_info.sci_dspace;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
181
pcs->pcs_start_time = spa->spa_checkpoint_info.sci_timestamp;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
189
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
191
spa->spa_checkpoint_info.sci_timestamp = 0;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
193
spa_feature_decr(spa, SPA_FEATURE_POOL_CHECKPOINT, tx);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
195
spa_history_log_internal(spa, "spa discard checkpoint", tx,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
254
spa_checkpoint_accounting_verify(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
256
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
274
ASSERT3U(spa->spa_checkpoint_info.sci_dspace, ==, ckpoint_sm_space_sum);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
363
spa_checkpoint_discard_is_done(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
365
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
367
ASSERT(!spa_has_checkpoint(spa));
usr/src/uts/common/fs/zfs/spa_checkpoint.c
368
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT));
usr/src/uts/common/fs/zfs/spa_checkpoint.c
383
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
385
if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
388
if (spa_has_checkpoint(spa))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
397
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
398
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
433
VERIFY0(dsl_sync_task(spa->spa_name, NULL,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
441
VERIFY(spa_checkpoint_discard_is_done(spa));
usr/src/uts/common/fs/zfs/spa_checkpoint.c
442
VERIFY0(spa->spa_checkpoint_info.sci_dspace);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
443
VERIFY0(dsl_sync_task(spa->spa_name, NULL,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
444
spa_checkpoint_discard_complete_sync, spa,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
453
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
455
if (!spa_feature_is_enabled(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
458
if (!spa_top_vdevs_spacemap_addressable(spa))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
461
if (spa->spa_vdev_removal != NULL)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
464
if (spa->spa_checkpoint_txg != 0)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
467
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
478
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
479
uberblock_t checkpoint = spa->spa_ubsync;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
484
ASSERT3U(zap_contains(spa_meta_objset(spa), DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
487
ASSERT0(spa->spa_checkpoint_info.sci_timestamp);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
488
ASSERT0(spa->spa_checkpoint_info.sci_dspace);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
495
ASSERT3U(checkpoint.ub_txg, ==, spa->spa_syncing_txg - 1);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
507
spa->spa_checkpoint_txg = checkpoint.ub_txg;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
508
spa->spa_checkpoint_info.sci_timestamp = checkpoint.ub_timestamp;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
511
VERIFY0(zap_add(spa->spa_dsl_pool->dp_meta_objset,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
522
spa_feature_incr(spa, SPA_FEATURE_POOL_CHECKPOINT, tx);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
524
spa_history_log_internal(spa, "spa checkpoint", tx,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
535
spa_t *spa;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
537
error = spa_open(pool, &spa, FTAG);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
541
mutex_enter(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
551
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
564
mutex_exit(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
566
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
574
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
576
if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
579
if (spa->spa_checkpoint_txg == 0)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
582
VERIFY0(zap_contains(spa_meta_objset(spa),
usr/src/uts/common/fs/zfs/spa_checkpoint.c
592
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
594
VERIFY0(zap_remove(spa_meta_objset(spa), DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
597
spa->spa_checkpoint_txg = 0;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
599
zthr_wakeup(spa->spa_checkpoint_discard_zthr);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
601
spa_history_log_internal(spa, "spa discard checkpoint", tx,
usr/src/uts/common/fs/zfs/spa_config.c
226
spa_t *spa = NULL;
usr/src/uts/common/fs/zfs/spa_config.c
234
while ((spa = spa_next(spa)) != NULL) {
usr/src/uts/common/fs/zfs/spa_config.c
242
if ((spa == target && removing) ||
usr/src/uts/common/fs/zfs/spa_config.c
243
!spa_writeable(spa))
usr/src/uts/common/fs/zfs/spa_config.c
246
mutex_enter(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa_config.c
247
tdp = list_head(&spa->spa_config_list);
usr/src/uts/common/fs/zfs/spa_config.c
248
if (spa->spa_config == NULL ||
usr/src/uts/common/fs/zfs/spa_config.c
251
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa_config.c
258
if (spa->spa_import_flags & ZFS_IMPORT_TEMP_NAME) {
usr/src/uts/common/fs/zfs/spa_config.c
260
spa->spa_config, ZPOOL_CONFIG_POOL_NAME);
usr/src/uts/common/fs/zfs/spa_config.c
262
pool_name = spa_name(spa);
usr/src/uts/common/fs/zfs/spa_config.c
266
spa->spa_config);
usr/src/uts/common/fs/zfs/spa_config.c
267
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa_config.c
324
spa_t *spa = NULL;
usr/src/uts/common/fs/zfs/spa_config.c
332
while ((spa = spa_next(spa)) != NULL) {
usr/src/uts/common/fs/zfs/spa_config.c
334
zone_dataset_visible(spa_name(spa), NULL)) {
usr/src/uts/common/fs/zfs/spa_config.c
335
mutex_enter(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa_config.c
336
fnvlist_add_nvlist(pools, spa_name(spa),
usr/src/uts/common/fs/zfs/spa_config.c
337
spa->spa_config);
usr/src/uts/common/fs/zfs/spa_config.c
338
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa_config.c
348
spa_config_set(spa_t *spa, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa_config.c
350
mutex_enter(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa_config.c
351
if (spa->spa_config != NULL && spa->spa_config != config)
usr/src/uts/common/fs/zfs/spa_config.c
352
nvlist_free(spa->spa_config);
usr/src/uts/common/fs/zfs/spa_config.c
353
spa->spa_config = config;
usr/src/uts/common/fs/zfs/spa_config.c
354
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa_config.c
364
spa_config_generate(spa_t *spa, vdev_t *vd, uint64_t txg, int getstats)
usr/src/uts/common/fs/zfs/spa_config.c
367
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa_config.c
376
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa_config.c
379
ASSERT(spa_config_held(spa, SCL_CONFIG | SCL_STATE, RW_READER) ==
usr/src/uts/common/fs/zfs/spa_config.c
386
txg = spa->spa_config_txg;
usr/src/uts/common/fs/zfs/spa_config.c
398
if (spa->spa_import_flags & ZFS_IMPORT_TEMP_NAME) {
usr/src/uts/common/fs/zfs/spa_config.c
399
pool_name = fnvlist_lookup_string(spa->spa_config,
usr/src/uts/common/fs/zfs/spa_config.c
402
pool_name = spa_name(spa);
usr/src/uts/common/fs/zfs/spa_config.c
407
fnvlist_add_uint64(config, ZPOOL_CONFIG_VERSION, spa_version(spa));
usr/src/uts/common/fs/zfs/spa_config.c
409
fnvlist_add_uint64(config, ZPOOL_CONFIG_POOL_STATE, spa_state(spa));
usr/src/uts/common/fs/zfs/spa_config.c
411
fnvlist_add_uint64(config, ZPOOL_CONFIG_POOL_GUID, spa_guid(spa));
usr/src/uts/common/fs/zfs/spa_config.c
412
fnvlist_add_uint64(config, ZPOOL_CONFIG_ERRATA, spa->spa_errata);
usr/src/uts/common/fs/zfs/spa_config.c
413
if (spa->spa_comment != NULL) {
usr/src/uts/common/fs/zfs/spa_config.c
415
spa->spa_comment);
usr/src/uts/common/fs/zfs/spa_config.c
444
if (spa->spa_config_splitting != NULL)
usr/src/uts/common/fs/zfs/spa_config.c
446
spa->spa_config_splitting);
usr/src/uts/common/fs/zfs/spa_config.c
457
vdev_top_config_generate(spa, config);
usr/src/uts/common/fs/zfs/spa_config.c
462
if (spa->spa_config_splitting != NULL &&
usr/src/uts/common/fs/zfs/spa_config.c
463
nvlist_lookup_uint64(spa->spa_config_splitting,
usr/src/uts/common/fs/zfs/spa_config.c
469
nvroot = vdev_config_generate(spa, vd, getstats, config_gen_flags);
usr/src/uts/common/fs/zfs/spa_config.c
477
spa->spa_label_features);
usr/src/uts/common/fs/zfs/spa_config.c
479
if (getstats && spa_load_state(spa) == SPA_LOAD_NONE) {
usr/src/uts/common/fs/zfs/spa_config.c
485
ddt_get_dedup_histogram(spa, ddh);
usr/src/uts/common/fs/zfs/spa_config.c
492
ddt_get_dedup_object_stats(spa, ddo);
usr/src/uts/common/fs/zfs/spa_config.c
499
ddt_get_dedup_stats(spa, dds);
usr/src/uts/common/fs/zfs/spa_config.c
507
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa_config.c
518
spa_config_update(spa_t *spa, int what)
usr/src/uts/common/fs/zfs/spa_config.c
520
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa_config.c
526
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_config.c
527
txg = spa_last_synced_txg(spa) + 1;
usr/src/uts/common/fs/zfs/spa_config.c
557
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa_config.c
562
txg_wait_synced(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/spa_config.c
567
if (!spa->spa_is_root) {
usr/src/uts/common/fs/zfs/spa_config.c
568
spa_write_cachefile(spa, B_FALSE,
usr/src/uts/common/fs/zfs/spa_config.c
573
spa_config_update(spa, SPA_CONFIG_UPDATE_VDEVS);
usr/src/uts/common/fs/zfs/spa_errlog.c
104
if (spa_load_state(spa) == SPA_LOAD_TRYIMPORT)
usr/src/uts/common/fs/zfs/spa_errlog.c
107
mutex_enter(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
113
if (spa->spa_scrub_active || spa->spa_scrub_finished)
usr/src/uts/common/fs/zfs/spa_errlog.c
114
tree = &spa->spa_errlist_scrub;
usr/src/uts/common/fs/zfs/spa_errlog.c
116
tree = &spa->spa_errlist_last;
usr/src/uts/common/fs/zfs/spa_errlog.c
120
mutex_exit(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
128
mutex_exit(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
137
spa_get_errlog_size(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_errlog.c
141
mutex_enter(&spa->spa_errlog_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
142
if (spa->spa_errlog_scrub != 0 &&
usr/src/uts/common/fs/zfs/spa_errlog.c
143
zap_count(spa->spa_meta_objset, spa->spa_errlog_scrub,
usr/src/uts/common/fs/zfs/spa_errlog.c
147
if (spa->spa_errlog_last != 0 && !spa->spa_scrub_finished &&
usr/src/uts/common/fs/zfs/spa_errlog.c
148
zap_count(spa->spa_meta_objset, spa->spa_errlog_last,
usr/src/uts/common/fs/zfs/spa_errlog.c
151
mutex_exit(&spa->spa_errlog_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
153
mutex_enter(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
154
total += avl_numnodes(&spa->spa_errlist_last);
usr/src/uts/common/fs/zfs/spa_errlog.c
155
total += avl_numnodes(&spa->spa_errlist_scrub);
usr/src/uts/common/fs/zfs/spa_errlog.c
156
mutex_exit(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
163
process_error_log(spa_t *spa, uint64_t obj, void *addr, size_t *count)
usr/src/uts/common/fs/zfs/spa_errlog.c
172
for (zap_cursor_init(&zc, spa->spa_meta_objset, obj);
usr/src/uts/common/fs/zfs/spa_errlog.c
232
spa_get_errlog(spa_t *spa, void *uaddr, size_t *count)
usr/src/uts/common/fs/zfs/spa_errlog.c
237
mutex_enter(&spa->spa_errlog_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
239
ret = process_error_log(spa, spa->spa_errlog_scrub, uaddr, count);
usr/src/uts/common/fs/zfs/spa_errlog.c
241
if (!ret && !spa->spa_scrub_finished)
usr/src/uts/common/fs/zfs/spa_errlog.c
242
ret = process_error_log(spa, spa->spa_errlog_last, uaddr,
usr/src/uts/common/fs/zfs/spa_errlog.c
245
mutex_enter(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
247
ret = process_error_list(&spa->spa_errlist_scrub, uaddr,
usr/src/uts/common/fs/zfs/spa_errlog.c
250
ret = process_error_list(&spa->spa_errlist_last, uaddr,
usr/src/uts/common/fs/zfs/spa_errlog.c
252
mutex_exit(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
254
mutex_exit(&spa->spa_errlog_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
266
spa_errlog_rotate(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_errlog.c
268
mutex_enter(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
269
spa->spa_scrub_finished = B_TRUE;
usr/src/uts/common/fs/zfs/spa_errlog.c
270
mutex_exit(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
278
spa_errlog_drain(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_errlog.c
283
mutex_enter(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
286
while ((se = avl_destroy_nodes(&spa->spa_errlist_last,
usr/src/uts/common/fs/zfs/spa_errlog.c
290
while ((se = avl_destroy_nodes(&spa->spa_errlist_scrub,
usr/src/uts/common/fs/zfs/spa_errlog.c
294
mutex_exit(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
301
sync_error_list(spa_t *spa, avl_tree_t *t, uint64_t *obj, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa_errlog.c
310
*obj = zap_create(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa_errlog.c
320
(void) zap_update(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa_errlog.c
342
spa_errlog_sync(spa_t *spa, uint64_t txg)
usr/src/uts/common/fs/zfs/spa_errlog.c
348
mutex_enter(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
353
if (avl_numnodes(&spa->spa_errlist_scrub) == 0 &&
usr/src/uts/common/fs/zfs/spa_errlog.c
354
avl_numnodes(&spa->spa_errlist_last) == 0 &&
usr/src/uts/common/fs/zfs/spa_errlog.c
355
!spa->spa_scrub_finished) {
usr/src/uts/common/fs/zfs/spa_errlog.c
356
mutex_exit(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
360
spa_get_errlists(spa, &last, &scrub);
usr/src/uts/common/fs/zfs/spa_errlog.c
361
scrub_finished = spa->spa_scrub_finished;
usr/src/uts/common/fs/zfs/spa_errlog.c
362
spa->spa_scrub_finished = B_FALSE;
usr/src/uts/common/fs/zfs/spa_errlog.c
364
mutex_exit(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
365
mutex_enter(&spa->spa_errlog_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
367
tx = dmu_tx_create_assigned(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/spa_errlog.c
372
sync_error_list(spa, &last, &spa->spa_errlog_last, tx);
usr/src/uts/common/fs/zfs/spa_errlog.c
378
if (spa->spa_errlog_last != 0)
usr/src/uts/common/fs/zfs/spa_errlog.c
379
VERIFY(dmu_object_free(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa_errlog.c
380
spa->spa_errlog_last, tx) == 0);
usr/src/uts/common/fs/zfs/spa_errlog.c
381
spa->spa_errlog_last = spa->spa_errlog_scrub;
usr/src/uts/common/fs/zfs/spa_errlog.c
382
spa->spa_errlog_scrub = 0;
usr/src/uts/common/fs/zfs/spa_errlog.c
384
sync_error_list(spa, &scrub, &spa->spa_errlog_last, tx);
usr/src/uts/common/fs/zfs/spa_errlog.c
390
sync_error_list(spa, &scrub, &spa->spa_errlog_scrub, tx);
usr/src/uts/common/fs/zfs/spa_errlog.c
395
(void) zap_update(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa_errlog.c
397
&spa->spa_errlog_last, tx);
usr/src/uts/common/fs/zfs/spa_errlog.c
398
(void) zap_update(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa_errlog.c
400
&spa->spa_errlog_scrub, tx);
usr/src/uts/common/fs/zfs/spa_errlog.c
404
mutex_exit(&spa->spa_errlog_lock);
usr/src/uts/common/fs/zfs/spa_errlog.c
93
spa_log_error(spa_t *spa, const zbookmark_phys_t *zb)
usr/src/uts/common/fs/zfs/spa_history.c
100
&spa->spa_history, tx) == 0);
usr/src/uts/common/fs/zfs/spa_history.c
102
VERIFY(0 == dmu_bonus_hold(mos, spa->spa_history, FTAG, &dbp));
usr/src/uts/common/fs/zfs/spa_history.c
113
metaslab_class_get_dspace(spa_normal_class(spa)) / 1000;
usr/src/uts/common/fs/zfs/spa_history.c
124
spa_history_advance_bof(spa_t *spa, spa_history_phys_t *shpp)
usr/src/uts/common/fs/zfs/spa_history.c
126
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa_history.c
134
if ((err = dmu_read(mos, spa->spa_history, phys_bof, firstread,
usr/src/uts/common/fs/zfs/spa_history.c
138
if ((err = dmu_read(mos, spa->spa_history,
usr/src/uts/common/fs/zfs/spa_history.c
151
spa_history_write(spa_t *spa, void *buf, uint64_t len, spa_history_phys_t *shpp,
usr/src/uts/common/fs/zfs/spa_history.c
155
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa_history.c
158
ASSERT(MUTEX_HELD(&spa->spa_history_lock));
usr/src/uts/common/fs/zfs/spa_history.c
163
if ((err = spa_history_advance_bof(spa, shpp)) != 0) {
usr/src/uts/common/fs/zfs/spa_history.c
171
dmu_write(mos, spa->spa_history, phys_eof, firstwrite, buf, tx);
usr/src/uts/common/fs/zfs/spa_history.c
176
dmu_write(mos, spa->spa_history, shpp->sh_pool_create_len,
usr/src/uts/common/fs/zfs/spa_history.c
210
spa_history_log_notify(spa_t *spa, nvlist_t *nvl)
usr/src/uts/common/fs/zfs/spa_history.c
255
spa_event_notify(spa, NULL, hist_nvl, ESC_ZFS_HISTORY_EVENT);
usr/src/uts/common/fs/zfs/spa_history.c
268
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa_history.c
269
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa_history.c
281
mutex_enter(&spa->spa_history_lock);
usr/src/uts/common/fs/zfs/spa_history.c
282
if (!spa->spa_history)
usr/src/uts/common/fs/zfs/spa_history.c
283
spa_history_create_obj(spa, tx);
usr/src/uts/common/fs/zfs/spa_history.c
284
mutex_exit(&spa->spa_history_lock);
usr/src/uts/common/fs/zfs/spa_history.c
290
VERIFY0(dmu_bonus_hold(mos, spa->spa_history, FTAG, &dbp));
usr/src/uts/common/fs/zfs/spa_history.c
339
spa_history_log_notify(spa, nvl);
usr/src/uts/common/fs/zfs/spa_history.c
347
mutex_enter(&spa->spa_history_lock);
usr/src/uts/common/fs/zfs/spa_history.c
351
ret = spa_history_write(spa, &le_len, sizeof (le_len), shpp, tx);
usr/src/uts/common/fs/zfs/spa_history.c
353
ret = spa_history_write(spa, record_packed, reclen, shpp, tx);
usr/src/uts/common/fs/zfs/spa_history.c
361
mutex_exit(&spa->spa_history_lock);
usr/src/uts/common/fs/zfs/spa_history.c
371
spa_history_log(spa_t *spa, const char *msg)
usr/src/uts/common/fs/zfs/spa_history.c
377
err = spa_history_log_nvl(spa, nvl);
usr/src/uts/common/fs/zfs/spa_history.c
383
spa_history_log_nvl(spa_t *spa, nvlist_t *nvl)
usr/src/uts/common/fs/zfs/spa_history.c
389
if (spa_version(spa) < SPA_VERSION_ZPOOL_HISTORY || !spa_writeable(spa))
usr/src/uts/common/fs/zfs/spa_history.c
397
tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/spa_history.c
412
dsl_sync_task_nowait(spa_get_dsl(spa), spa_history_log_sync,
usr/src/uts/common/fs/zfs/spa_history.c
425
spa_history_get(spa_t *spa, uint64_t *offp, uint64_t *len, char *buf)
usr/src/uts/common/fs/zfs/spa_history.c
427
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa_history.c
438
if (!spa->spa_history)
usr/src/uts/common/fs/zfs/spa_history.c
446
if (*offp == 0 && spa_writeable(spa))
usr/src/uts/common/fs/zfs/spa_history.c
447
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/spa_history.c
449
if ((err = dmu_bonus_hold(mos, spa->spa_history, FTAG, &dbp)) != 0)
usr/src/uts/common/fs/zfs/spa_history.c
461
mutex_enter(&spa->spa_history_lock);
usr/src/uts/common/fs/zfs/spa_history.c
501
mutex_exit(&spa->spa_history_lock);
usr/src/uts/common/fs/zfs/spa_history.c
506
err = dmu_read(mos, spa->spa_history, phys_read_off, read_len, buf,
usr/src/uts/common/fs/zfs/spa_history.c
509
err = dmu_read(mos, spa->spa_history, shpp->sh_pool_create_len,
usr/src/uts/common/fs/zfs/spa_history.c
512
mutex_exit(&spa->spa_history_lock);
usr/src/uts/common/fs/zfs/spa_history.c
522
log_internal(nvlist_t *nvl, const char *operation, spa_t *spa,
usr/src/uts/common/fs/zfs/spa_history.c
532
if (tx->tx_txg == TXG_INITIAL || !spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/spa_history.c
548
dsl_sync_task_nowait(spa_get_dsl(spa),
usr/src/uts/common/fs/zfs/spa_history.c
555
spa_history_log_internal(spa_t *spa, const char *operation,
usr/src/uts/common/fs/zfs/spa_history.c
563
htx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/spa_history.c
571
log_internal(fnvlist_alloc(), operation, spa, htx, fmt, adx);
usr/src/uts/common/fs/zfs/spa_history.c
619
spa_history_log_version(spa_t *spa, const char *operation)
usr/src/uts/common/fs/zfs/spa_history.c
621
spa_history_log_internal(spa, operation, NULL,
usr/src/uts/common/fs/zfs/spa_history.c
623
(u_longlong_t)spa_version(spa), SPA_VERSION, ZPL_VERSION,
usr/src/uts/common/fs/zfs/spa_history.c
87
spa_history_create_obj(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa_history.c
91
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa_history.c
93
ASSERT(spa->spa_history == 0);
usr/src/uts/common/fs/zfs/spa_history.c
94
spa->spa_history = dmu_object_alloc(mos, DMU_OT_SPA_HISTORY,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1004
for (zap_cursor_init(&zc, spa_meta_objset(spa), spacemap_zap);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1010
avl_add(&spa->spa_sm_logs_by_txg, sls);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1014
spa_load_failed(spa, "spa_ld_log_sm_metadata(): failed at "
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1020
for (metaslab_t *m = avl_first(&spa->spa_metaslabs_by_flushed);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1021
m; m = AVL_NEXT(&spa->spa_metaslabs_by_flushed, m)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1023
spa_log_sm_t *sls = avl_find(&spa->spa_sm_logs_by_txg,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1038
spa_load_failed(spa, "spa_ld_log_sm_metadata(): bug "
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1062
spa_t *spa = slls->slls_spa;
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1064
vdev_t *vd = vdev_lookup_top(spa, vdev_id);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1104
spa_ld_log_sm_data(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1112
if (!spa_writeable(spa))
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1115
ASSERT0(spa->spa_unflushed_stats.sus_nblocks);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1116
ASSERT0(spa->spa_unflushed_stats.sus_memused);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1120
for (spa_log_sm_t *sls = avl_first(&spa->spa_sm_logs_by_txg);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1121
sls; sls = AVL_NEXT(&spa->spa_sm_logs_by_txg, sls)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1123
error = space_map_open(&sm, spa_meta_objset(spa),
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1126
spa_load_failed(spa, "spa_ld_log_sm_data(): failed at "
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1133
.slls_spa = spa,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1140
spa_load_failed(spa, "spa_ld_log_sm_data(): failed "
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1148
spa->spa_unflushed_stats.sus_nblocks += sls->sls_nblocks;
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1149
summary_add_data(spa, sls->sls_txg,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1155
spa_load_note(spa,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1157
"in %lld ms", (u_longlong_t)avl_numnodes(&spa->spa_sm_logs_by_txg),
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1158
(u_longlong_t)spa_log_sm_nblocks(spa),
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1174
for (metaslab_t *m = avl_first(&spa->spa_metaslabs_by_flushed);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1175
m != NULL; m = AVL_NEXT(&spa->spa_metaslabs_by_flushed, m)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1190
spa->spa_unflushed_stats.sus_memused +=
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1206
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1207
objset_t *mos = spa_meta_objset(spa);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1219
spa_load_failed(spa, "spa_ld_unflushed_txgs(): failed at "
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1236
spa_load_failed(spa, "spa_ld_unflushed_txgs(): "
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1244
mutex_enter(&spa->spa_flushed_ms_lock);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1245
avl_add(&spa->spa_metaslabs_by_flushed, ms);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1246
mutex_exit(&spa->spa_flushed_ms_lock);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1259
spa_ld_log_spacemaps(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1263
spa_log_sm_set_blocklimit(spa);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1265
for (uint64_t c = 0; c < spa->spa_root_vdev->vdev_children; c++) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1266
vdev_t *vd = spa->spa_root_vdev->vdev_child[c];
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1272
error = spa_ld_log_sm_metadata(spa);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1281
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1282
error = spa_ld_log_sm_data(spa);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
1283
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
302
spa_estimate_incoming_log_blocks(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
304
ASSERT3U(spa_sync_pass(spa), ==, 1);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
307
for (spa_log_sm_t *sls = avl_last(&spa->spa_sm_logs_by_txg);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
309
sls = AVL_PREV(&spa->spa_sm_logs_by_txg, sls)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
310
if (sls->sls_txg == spa_syncing_txg(spa)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
324
spa_log_sm_blocklimit(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
326
return (spa->spa_unflushed_stats.sus_blocklimit);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
330
spa_log_sm_set_blocklimit(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
332
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
333
ASSERT0(spa_log_sm_blocklimit(spa));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
338
(spa_total_metaslabs(spa) * zfs_unflushed_log_block_pct) / 100;
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
339
spa->spa_unflushed_stats.sus_blocklimit = MIN(MAX(calculated_limit,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
344
spa_log_sm_nblocks(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
346
return (spa->spa_unflushed_stats.sus_nblocks);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
354
spa_log_summary_verify_counts(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
356
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
361
uint64_t ms_in_avl = avl_numnodes(&spa->spa_metaslabs_by_flushed);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
364
for (log_summary_entry_t *e = list_head(&spa->spa_log_summary);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
365
e; e = list_next(&spa->spa_log_summary, e)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
371
for (spa_log_sm_t *sls = avl_first(&spa->spa_sm_logs_by_txg);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
372
sls; sls = AVL_NEXT(&spa->spa_sm_logs_by_txg, sls)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
380
VERIFY3U(blk_in_logs, ==, spa_log_sm_nblocks(spa));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
384
summary_entry_is_full(spa_t *spa, log_summary_entry_t *e)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
387
DIV_ROUND_UP(spa_log_sm_blocklimit(spa),
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
406
spa_log_summary_decrement_mscount(spa_t *spa, uint64_t txg)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
412
if (!spa_writeable(spa))
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
416
for (log_summary_entry_t *e = list_head(&spa->spa_log_summary);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
417
e != NULL; e = list_next(&spa->spa_log_summary, e)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
429
VERIFY3S(spa_load_state(spa), ==, SPA_LOAD_ERROR);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
493
spa_log_summary_decrement_blkcount(spa_t *spa, uint64_t blocks_gone)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
495
for (log_summary_entry_t *e = list_head(&spa->spa_log_summary);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
496
e != NULL; e = list_head(&spa->spa_log_summary)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
510
list_remove(&spa->spa_log_summary, e);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
520
VERIFY3P(e, ==, list_tail(&spa->spa_log_summary));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
521
ASSERT3P(e, ==, list_head(&spa->spa_log_summary));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
536
spa_log_sm_decrement_mscount(spa_t *spa, uint64_t txg)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
539
spa_log_sm_t *sls = avl_find(&spa->spa_sm_logs_by_txg,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
547
VERIFY3S(spa_load_state(spa), ==, SPA_LOAD_ERROR);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
556
spa_log_sm_increment_current_mscount(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
558
spa_log_sm_t *last_sls = avl_last(&spa->spa_sm_logs_by_txg);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
560
ASSERT3U(last_sls->sls_txg, ==, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
565
summary_add_data(spa_t *spa, uint64_t txg, uint64_t metaslabs_flushed,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
568
log_summary_entry_t *e = list_tail(&spa->spa_log_summary);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
570
if (e == NULL || summary_entry_is_full(spa, e)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
573
list_insert_tail(&spa->spa_log_summary, e);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
582
spa_log_summary_add_incoming_blocks(spa_t *spa, uint64_t nblocks)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
584
summary_add_data(spa, spa_syncing_txg(spa), 0, nblocks);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
588
spa_log_summary_add_flushed_metaslab(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
590
summary_add_data(spa, spa_syncing_txg(spa), 1, 0);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
606
spa_estimate_metaslabs_to_flush(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
608
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
609
ASSERT3U(spa_sync_pass(spa), ==, 1);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
610
ASSERT(spa_log_sm_blocklimit(spa) != 0);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
616
uint64_t incoming = spa_estimate_incoming_log_blocks(spa);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
634
spa_log_sm_blocklimit(spa) - spa_log_sm_nblocks(spa) - incoming;
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
644
MIN(avl_numnodes(&spa->spa_metaslabs_by_flushed),
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
651
for (log_summary_entry_t *e = list_head(&spa->spa_log_summary);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
652
e; e = list_next(&spa->spa_log_summary, e)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
686
ASSERT3U(avl_numnodes(&spa->spa_metaslabs_by_flushed), >=,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
693
spa_log_sm_memused(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
695
return (spa->spa_unflushed_stats.sus_memused);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
699
spa_log_exceeds_memlimit(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
701
if (spa_log_sm_memused(spa) > zfs_unflushed_max_mem_amt)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
706
if (spa_log_sm_memused(spa) > system_mem_allowed)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
713
spa_flush_all_logs_requested(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
715
return (spa->spa_log_flushall_txg != 0);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
719
spa_flush_metaslabs(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
723
if (spa_sync_pass(spa) != 1)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
726
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
733
if (avl_numnodes(&spa->spa_metaslabs_by_flushed) == 0)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
749
if (spa->spa_uberblock.ub_rootbp.blk_birth < txg &&
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
750
!dmu_objset_is_dirty(spa_meta_objset(spa), txg) &&
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
751
!spa_flush_all_logs_requested(spa))
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
766
spa_generate_syncing_log_sm(spa, tx);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
775
if (spa_flush_all_logs_requested(spa)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
776
ASSERT3S(spa_state(spa), ==, POOL_STATE_EXPORTED);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
777
want_to_flush = avl_numnodes(&spa->spa_metaslabs_by_flushed);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
779
want_to_flush = spa_estimate_metaslabs_to_flush(spa);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
782
ASSERT3U(avl_numnodes(&spa->spa_metaslabs_by_flushed), >=,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
797
for (metaslab_t *curr = avl_first(&spa->spa_metaslabs_by_flushed);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
799
next = AVL_NEXT(&spa->spa_metaslabs_by_flushed, curr);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
812
if (want_to_flush == 0 && !spa_log_exceeds_memlimit(spa))
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
839
ASSERT3U(avl_numnodes(&spa->spa_metaslabs_by_flushed), >=, visited);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
847
spa_sync_close_syncing_log_sm(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
849
if (spa_syncing_log_sm(spa) == NULL)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
851
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
853
spa_log_sm_t *sls = avl_last(&spa->spa_sm_logs_by_txg);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
854
ASSERT3U(sls->sls_txg, ==, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
856
sls->sls_nblocks = space_map_nblocks(spa_syncing_log_sm(spa));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
857
spa->spa_unflushed_stats.sus_nblocks += sls->sls_nblocks;
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
867
spa_log_summary_add_incoming_blocks(spa, sls->sls_nblocks);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
868
spa_log_summary_verify_counts(spa);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
870
space_map_close(spa->spa_syncing_log_sm);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
871
spa->spa_syncing_log_sm = NULL;
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
879
if (spa_flush_all_logs_requested(spa)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
880
ASSERT3S(spa_state(spa), ==, POOL_STATE_EXPORTED);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
881
spa->spa_log_flushall_txg = 0;
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
886
spa_cleanup_old_sm_logs(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
888
objset_t *mos = spa_meta_objset(spa);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
894
ASSERT(avl_is_empty(&spa->spa_sm_logs_by_txg));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
899
metaslab_t *oldest = avl_first(&spa->spa_metaslabs_by_flushed);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
903
for (spa_log_sm_t *sls = avl_first(&spa->spa_sm_logs_by_txg);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
905
sls = avl_first(&spa->spa_sm_logs_by_txg)) {
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
907
avl_remove(&spa->spa_sm_logs_by_txg, sls);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
910
spa->spa_unflushed_stats.sus_nblocks -= sls->sls_nblocks;
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
926
spa_generate_syncing_log_sm(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
929
objset_t *mos = spa_meta_objset(spa);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
931
if (spa_syncing_log_sm(spa) != NULL)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
934
if (!spa_feature_is_enabled(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
941
ASSERT(avl_is_empty(&spa->spa_sm_logs_by_txg));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
949
spa_feature_incr(spa, SPA_FEATURE_LOG_SPACEMAP, tx);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
958
avl_add(&spa->spa_sm_logs_by_txg, spa_log_sm_alloc(sm_obj, txg));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
967
VERIFY0(space_map_open(&spa->spa_syncing_log_sm, mos, sm_obj,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
974
if (spa_log_sm_blocklimit(spa) == 0)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
975
spa_log_sm_set_blocklimit(spa);
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
983
spa_ld_log_sm_metadata(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
988
ASSERT(avl_is_empty(&spa->spa_sm_logs_by_txg));
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
990
error = zap_lookup(spa_meta_objset(spa), DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa_log_spacemap.c
996
spa_load_failed(spa, "spa_ld_log_sm_metadata(): failed at "
usr/src/uts/common/fs/zfs/spa_misc.c
1072
spa_spare_poll(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1075
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa_misc.c
1076
for (int i = 0; i < spa->spa_spares.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa_misc.c
1078
vdev_t *vd = spa->spa_spares.sav_vdevs[i];
usr/src/uts/common/fs/zfs/spa_misc.c
1095
spa_async_request(spa, SPA_ASYNC_PROBE);
usr/src/uts/common/fs/zfs/spa_misc.c
1097
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
1212
spa_vdev_enter(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1214
mutex_enter(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1217
vdev_autotrim_stop_all(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1219
return (spa_vdev_config_enter(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1228
spa_vdev_config_enter(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1232
spa_config_enter(spa, SCL_ALL, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1234
return (spa_last_synced_txg(spa) + 1);
usr/src/uts/common/fs/zfs/spa_misc.c
1242
spa_vdev_config_exit(spa_t *spa, vdev_t *vd, uint64_t txg, int error, char *tag)
usr/src/uts/common/fs/zfs/spa_misc.c
1248
ASSERT(txg > spa_last_synced_txg(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1250
spa->spa_pending_vdev = NULL;
usr/src/uts/common/fs/zfs/spa_misc.c
1255
vdev_dtl_reassess(spa->spa_root_vdev, 0, 0, B_FALSE);
usr/src/uts/common/fs/zfs/spa_misc.c
1257
if (error == 0 && !list_is_empty(&spa->spa_config_dirty_list)) {
usr/src/uts/common/fs/zfs/spa_misc.c
1259
spa->spa_config_generation++;
usr/src/uts/common/fs/zfs/spa_misc.c
1265
ASSERT(metaslab_class_validate(spa_normal_class(spa)) == 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1266
ASSERT(metaslab_class_validate(spa_log_class(spa)) == 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1267
ASSERT(metaslab_class_validate(spa_special_class(spa)) == 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1268
ASSERT(metaslab_class_validate(spa_dedup_class(spa)) == 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1270
spa_config_exit(spa, SCL_ALL, spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1278
zio_handle_panic_injection(spa, tag, 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1286
txg_wait_synced(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1306
spa_config_enter(spa, SCL_ALL, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1308
spa_config_exit(spa, SCL_ALL, spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1315
spa_write_cachefile(spa, B_FALSE, B_TRUE);
usr/src/uts/common/fs/zfs/spa_misc.c
1325
spa_vdev_exit(spa_t *spa, vdev_t *vd, uint64_t txg, int error)
usr/src/uts/common/fs/zfs/spa_misc.c
1327
vdev_autotrim_restart(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1329
spa_vdev_config_exit(spa, vd, txg, error, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
1331
mutex_exit(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1340
spa_vdev_state_enter(spa_t *spa, int oplocks)
usr/src/uts/common/fs/zfs/spa_misc.c
1353
if (spa_is_root(spa)) {
usr/src/uts/common/fs/zfs/spa_misc.c
1357
spa_config_enter(spa, high, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1358
vdev_hold(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
1359
spa_config_enter(spa, low, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1361
spa_config_enter(spa, locks, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1363
spa->spa_vdev_locks = locks;
usr/src/uts/common/fs/zfs/spa_misc.c
1367
spa_vdev_state_exit(spa_t *spa, vdev_t *vd, int error)
usr/src/uts/common/fs/zfs/spa_misc.c
1372
vdev_dtl_reassess(vd ? vd->vdev_top : spa->spa_root_vdev,
usr/src/uts/common/fs/zfs/spa_misc.c
1378
spa->spa_config_generation++;
usr/src/uts/common/fs/zfs/spa_misc.c
1381
if (spa_is_root(spa))
usr/src/uts/common/fs/zfs/spa_misc.c
1382
vdev_rele(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
1384
ASSERT3U(spa->spa_vdev_locks, >=, SCL_STATE_ALL);
usr/src/uts/common/fs/zfs/spa_misc.c
1385
spa_config_exit(spa, spa->spa_vdev_locks, spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1394
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1401
spa_write_cachefile(spa, B_FALSE, B_TRUE);
usr/src/uts/common/fs/zfs/spa_misc.c
1415
spa_activate_mos_feature(spa_t *spa, const char *feature, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa_misc.c
1417
if (!nvlist_exists(spa->spa_label_features, feature)) {
usr/src/uts/common/fs/zfs/spa_misc.c
1418
fnvlist_add_boolean(spa->spa_label_features, feature);
usr/src/uts/common/fs/zfs/spa_misc.c
1427
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
1432
spa_deactivate_mos_feature(spa_t *spa, const char *feature)
usr/src/uts/common/fs/zfs/spa_misc.c
1434
if (nvlist_remove_all(spa->spa_label_features, feature) == 0)
usr/src/uts/common/fs/zfs/spa_misc.c
1435
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
1446
spa_t *spa;
usr/src/uts/common/fs/zfs/spa_misc.c
1451
for (spa = avl_first(t); spa != NULL; spa = AVL_NEXT(t, spa)) {
usr/src/uts/common/fs/zfs/spa_misc.c
1452
if (spa->spa_state == POOL_STATE_UNINITIALIZED)
usr/src/uts/common/fs/zfs/spa_misc.c
1454
if (spa->spa_root_vdev == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
1456
if (spa_guid(spa) == pool_guid) {
usr/src/uts/common/fs/zfs/spa_misc.c
1460
if (vdev_lookup_by_guid(spa->spa_root_vdev,
usr/src/uts/common/fs/zfs/spa_misc.c
1467
if (spa->spa_pending_vdev) {
usr/src/uts/common/fs/zfs/spa_misc.c
1468
if (vdev_lookup_by_guid(spa->spa_pending_vdev,
usr/src/uts/common/fs/zfs/spa_misc.c
1475
return (spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1523
spa_generate_guid(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1527
if (spa != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
1528
while (guid == 0 || spa_guid_exists(spa_guid(spa), guid))
usr/src/uts/common/fs/zfs/spa_misc.c
1569
spa_freeze(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1573
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1574
if (spa->spa_freeze_txg == UINT64_MAX) {
usr/src/uts/common/fs/zfs/spa_misc.c
1575
freeze_txg = spa_last_synced_txg(spa) + TXG_SIZE;
usr/src/uts/common/fs/zfs/spa_misc.c
1576
spa->spa_freeze_txg = freeze_txg;
usr/src/uts/common/fs/zfs/spa_misc.c
1578
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
1580
txg_wait_synced(spa_get_dsl(spa), freeze_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1625
spa_activate_allocation_classes(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa_misc.c
1630
ASSERT(spa_feature_is_enabled(spa, SPA_FEATURE_ALLOCATION_CLASSES));
usr/src/uts/common/fs/zfs/spa_misc.c
1631
spa_feature_incr(spa, SPA_FEATURE_ALLOCATION_CLASSES, tx);
usr/src/uts/common/fs/zfs/spa_misc.c
1641
spa_shutting_down(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1643
return (spa->spa_async_suspended);
usr/src/uts/common/fs/zfs/spa_misc.c
1647
spa_get_dsl(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1649
return (spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa_misc.c
1653
spa_is_initializing(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1655
return (spa->spa_is_initializing);
usr/src/uts/common/fs/zfs/spa_misc.c
1659
spa_indirect_vdevs_loaded(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1661
return (spa->spa_indirect_vdevs_loaded);
usr/src/uts/common/fs/zfs/spa_misc.c
1665
spa_get_rootblkptr(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1667
return (&spa->spa_ubsync.ub_rootbp);
usr/src/uts/common/fs/zfs/spa_misc.c
1671
spa_set_rootblkptr(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/spa_misc.c
1673
spa->spa_uberblock.ub_rootbp = *bp;
usr/src/uts/common/fs/zfs/spa_misc.c
1677
spa_altroot(spa_t *spa, char *buf, size_t buflen)
usr/src/uts/common/fs/zfs/spa_misc.c
1679
if (spa->spa_root == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
1682
(void) strncpy(buf, spa->spa_root, buflen);
usr/src/uts/common/fs/zfs/spa_misc.c
1686
spa_sync_pass(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1688
return (spa->spa_sync_pass);
usr/src/uts/common/fs/zfs/spa_misc.c
1692
spa_name(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1694
return (spa->spa_name);
usr/src/uts/common/fs/zfs/spa_misc.c
1698
spa_guid(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1700
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1709
if (spa->spa_root_vdev == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
1710
return (spa->spa_config_guid);
usr/src/uts/common/fs/zfs/spa_misc.c
1712
guid = spa->spa_last_synced_guid != 0 ?
usr/src/uts/common/fs/zfs/spa_misc.c
1713
spa->spa_last_synced_guid : spa->spa_root_vdev->vdev_guid;
usr/src/uts/common/fs/zfs/spa_misc.c
1720
return (spa->spa_root_vdev->vdev_guid);
usr/src/uts/common/fs/zfs/spa_misc.c
1726
spa_load_guid(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1733
return (spa->spa_load_guid);
usr/src/uts/common/fs/zfs/spa_misc.c
1737
spa_last_synced_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1739
return (spa->spa_ubsync.ub_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1743
spa_first_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1745
return (spa->spa_first_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1749
spa_syncing_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1751
return (spa->spa_syncing_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1759
spa_final_dirty_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1761
return (spa->spa_final_txg - TXG_DEFER_SIZE);
usr/src/uts/common/fs/zfs/spa_misc.c
1765
spa_state(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1767
return (spa->spa_state);
usr/src/uts/common/fs/zfs/spa_misc.c
1771
spa_load_state(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1773
return (spa->spa_load_state);
usr/src/uts/common/fs/zfs/spa_misc.c
1777
spa_freeze_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1779
return (spa->spa_freeze_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1784
spa_get_worst_case_asize(spa_t *spa, uint64_t lsize)
usr/src/uts/common/fs/zfs/spa_misc.c
1797
spa_get_slop_space(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1799
uint64_t space = spa_get_dspace(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1804
spa_get_dspace(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1806
return (spa->spa_dspace);
usr/src/uts/common/fs/zfs/spa_misc.c
1810
spa_get_checkpoint_space(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1812
return (spa->spa_checkpoint_info.sci_dspace);
usr/src/uts/common/fs/zfs/spa_misc.c
1816
spa_update_dspace(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1818
spa->spa_dspace = metaslab_class_get_dspace(spa_normal_class(spa)) +
usr/src/uts/common/fs/zfs/spa_misc.c
1819
ddt_get_dedup_dspace(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1820
if (spa->spa_vdev_removal != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
1834
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa_misc.c
1836
vdev_lookup_top(spa, spa->spa_vdev_removal->svr_vdev_id);
usr/src/uts/common/fs/zfs/spa_misc.c
1837
spa->spa_dspace -= spa_deflate(spa) ?
usr/src/uts/common/fs/zfs/spa_misc.c
1839
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
1848
spa_get_failmode(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1850
return (spa->spa_failmode);
usr/src/uts/common/fs/zfs/spa_misc.c
1854
spa_suspended(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1856
return (spa->spa_suspended != ZIO_SUSPEND_NONE);
usr/src/uts/common/fs/zfs/spa_misc.c
1860
spa_version(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1862
return (spa->spa_ubsync.ub_version);
usr/src/uts/common/fs/zfs/spa_misc.c
1866
spa_deflate(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1868
return (spa->spa_deflate);
usr/src/uts/common/fs/zfs/spa_misc.c
1872
spa_normal_class(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1874
return (spa->spa_normal_class);
usr/src/uts/common/fs/zfs/spa_misc.c
1878
spa_log_class(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1880
return (spa->spa_log_class);
usr/src/uts/common/fs/zfs/spa_misc.c
1884
spa_special_class(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1886
return (spa->spa_special_class);
usr/src/uts/common/fs/zfs/spa_misc.c
1890
spa_dedup_class(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1892
return (spa->spa_dedup_class);
usr/src/uts/common/fs/zfs/spa_misc.c
1899
spa_preferred_class(spa_t *spa, uint64_t size, dmu_object_type_t objtype,
usr/src/uts/common/fs/zfs/spa_misc.c
1903
if (spa->spa_log_class->mc_groups != 0)
usr/src/uts/common/fs/zfs/spa_misc.c
1904
return (spa_log_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1906
return (spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1909
boolean_t has_special_class = spa->spa_special_class->mc_groups != 0;
usr/src/uts/common/fs/zfs/spa_misc.c
1912
if (spa->spa_dedup_class->mc_groups != 0)
usr/src/uts/common/fs/zfs/spa_misc.c
1913
return (spa_dedup_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1915
return (spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1917
return (spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1923
return (spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1925
return (spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1930
return (spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1932
return (spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1942
metaslab_class_t *special = spa_special_class(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1953
return (spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1957
spa_evicting_os_register(spa_t *spa, objset_t *os)
usr/src/uts/common/fs/zfs/spa_misc.c
1959
mutex_enter(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1960
list_insert_head(&spa->spa_evicting_os_list, os);
usr/src/uts/common/fs/zfs/spa_misc.c
1961
mutex_exit(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1965
spa_evicting_os_deregister(spa_t *spa, objset_t *os)
usr/src/uts/common/fs/zfs/spa_misc.c
1967
mutex_enter(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1968
list_remove(&spa->spa_evicting_os_list, os);
usr/src/uts/common/fs/zfs/spa_misc.c
1969
cv_broadcast(&spa->spa_evicting_os_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
1970
mutex_exit(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1974
spa_evicting_os_wait(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1976
mutex_enter(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1977
while (!list_is_empty(&spa->spa_evicting_os_list))
usr/src/uts/common/fs/zfs/spa_misc.c
1978
cv_wait(&spa->spa_evicting_os_cv, &spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1979
mutex_exit(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1985
spa_max_replication(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1992
if (spa_version(spa) < SPA_VERSION_DITTO_BLOCKS)
usr/src/uts/common/fs/zfs/spa_misc.c
1998
spa_prev_software_version(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2000
return (spa->spa_prev_software_version);
usr/src/uts/common/fs/zfs/spa_misc.c
2004
spa_deadman_synctime(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2006
return (spa->spa_deadman_synctime);
usr/src/uts/common/fs/zfs/spa_misc.c
2010
spa_get_autotrim(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2012
return (spa->spa_autotrim);
usr/src/uts/common/fs/zfs/spa_misc.c
2016
dva_get_dsize_sync(spa_t *spa, const dva_t *dva)
usr/src/uts/common/fs/zfs/spa_misc.c
2021
ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
usr/src/uts/common/fs/zfs/spa_misc.c
2023
if (asize != 0 && spa->spa_deflate) {
usr/src/uts/common/fs/zfs/spa_misc.c
2024
vdev_t *vd = vdev_lookup_top(spa, DVA_GET_VDEV(dva));
usr/src/uts/common/fs/zfs/spa_misc.c
2032
bp_get_dsize_sync(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/spa_misc.c
2037
dsize += dva_get_dsize_sync(spa, &bp->blk_dva[d]);
usr/src/uts/common/fs/zfs/spa_misc.c
2043
bp_get_dsize(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/spa_misc.c
2047
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa_misc.c
2050
dsize += dva_get_dsize_sync(spa, &bp->blk_dva[d]);
usr/src/uts/common/fs/zfs/spa_misc.c
2052
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
2058
spa_dirty_data(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2060
return (spa->spa_dsl_pool->dp_dirty_total);
usr/src/uts/common/fs/zfs/spa_misc.c
2090
spa_import_progress_set_state(spa_t *spa, spa_load_state_t load_state)
usr/src/uts/common/fs/zfs/spa_misc.c
2092
if (spa->spa_imp_kstat == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
2093
spa_import_progress_add(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2095
mutex_enter(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2096
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2097
spa_import_progress_t *sip = spa->spa_imp_kstat->ks_data;
usr/src/uts/common/fs/zfs/spa_misc.c
2101
mutex_exit(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2107
spa_import_progress_set_max_txg(spa_t *spa, uint64_t load_max_txg)
usr/src/uts/common/fs/zfs/spa_misc.c
2109
if (spa->spa_imp_kstat == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
2110
spa_import_progress_add(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2112
mutex_enter(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2113
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2114
spa_import_progress_t *sip = spa->spa_imp_kstat->ks_data;
usr/src/uts/common/fs/zfs/spa_misc.c
2118
mutex_exit(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2124
spa_import_progress_set_mmp_check(spa_t *spa, uint64_t mmp_sec_remaining)
usr/src/uts/common/fs/zfs/spa_misc.c
2126
if (spa->spa_imp_kstat == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
2127
spa_import_progress_add(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2129
mutex_enter(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2130
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2131
spa_import_progress_t *sip = spa->spa_imp_kstat->ks_data;
usr/src/uts/common/fs/zfs/spa_misc.c
2136
mutex_exit(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2145
spa_import_progress_add(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2150
mutex_enter(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2151
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2152
sip = spa->spa_imp_kstat->ks_data;
usr/src/uts/common/fs/zfs/spa_misc.c
2153
sip->sip_load_state.value.ui64 = (uint64_t)spa_load_state(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2154
mutex_exit(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2158
(void) nvlist_lookup_string(spa->spa_config, ZPOOL_CONFIG_POOL_NAME,
usr/src/uts/common/fs/zfs/spa_misc.c
2161
poolname = spa_name(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2163
spa->spa_imp_kstat = kstat_create("zfs_import", 0, poolname,
usr/src/uts/common/fs/zfs/spa_misc.c
2167
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2169
spa->spa_imp_kstat->ks_data = sip;
usr/src/uts/common/fs/zfs/spa_misc.c
2171
sip->sip_load_state.value.ui64 = (uint64_t)spa_load_state(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2179
spa->spa_imp_kstat->ks_lock = &spa->spa_imp_kstat_lock;
usr/src/uts/common/fs/zfs/spa_misc.c
2180
kstat_install(spa->spa_imp_kstat);
usr/src/uts/common/fs/zfs/spa_misc.c
2182
mutex_exit(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2186
spa_import_progress_remove(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2188
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2189
void *data = spa->spa_imp_kstat->ks_data;
usr/src/uts/common/fs/zfs/spa_misc.c
2191
kstat_delete(spa->spa_imp_kstat);
usr/src/uts/common/fs/zfs/spa_misc.c
2192
spa->spa_imp_kstat = NULL;
usr/src/uts/common/fs/zfs/spa_misc.c
2317
spa_has_slogs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2319
return (spa->spa_log_class->mc_rotor != NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
2323
spa_get_log_state(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2325
return (spa->spa_log_state);
usr/src/uts/common/fs/zfs/spa_misc.c
2329
spa_set_log_state(spa_t *spa, spa_log_state_t state)
usr/src/uts/common/fs/zfs/spa_misc.c
2331
spa->spa_log_state = state;
usr/src/uts/common/fs/zfs/spa_misc.c
2335
spa_is_root(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2337
return (spa->spa_is_root);
usr/src/uts/common/fs/zfs/spa_misc.c
2341
spa_writeable(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2343
return (!!(spa->spa_mode & FWRITE) && spa->spa_trust_config);
usr/src/uts/common/fs/zfs/spa_misc.c
2351
spa_has_pending_synctask(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2353
return (!txg_all_lists_empty(&spa->spa_dsl_pool->dp_sync_tasks) ||
usr/src/uts/common/fs/zfs/spa_misc.c
2354
!txg_all_lists_empty(&spa->spa_dsl_pool->dp_early_sync_tasks));
usr/src/uts/common/fs/zfs/spa_misc.c
2358
spa_mode(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2360
return (spa->spa_mode);
usr/src/uts/common/fs/zfs/spa_misc.c
2364
spa_bootfs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2366
return (spa->spa_bootfs);
usr/src/uts/common/fs/zfs/spa_misc.c
2370
spa_delegation(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2372
return (spa->spa_delegation);
usr/src/uts/common/fs/zfs/spa_misc.c
2376
spa_meta_objset(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2378
return (spa->spa_meta_objset);
usr/src/uts/common/fs/zfs/spa_misc.c
2382
spa_dedup_checksum(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2384
return (spa->spa_dedup_checksum);
usr/src/uts/common/fs/zfs/spa_misc.c
2391
spa_scan_stat_init(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2394
spa->spa_scan_pass_start = gethrestime_sec();
usr/src/uts/common/fs/zfs/spa_misc.c
2395
if (dsl_scan_is_paused_scrub(spa->spa_dsl_pool->dp_scan))
usr/src/uts/common/fs/zfs/spa_misc.c
2396
spa->spa_scan_pass_scrub_pause = spa->spa_scan_pass_start;
usr/src/uts/common/fs/zfs/spa_misc.c
2398
spa->spa_scan_pass_scrub_pause = 0;
usr/src/uts/common/fs/zfs/spa_misc.c
2399
spa->spa_scan_pass_scrub_spent_paused = 0;
usr/src/uts/common/fs/zfs/spa_misc.c
2400
spa->spa_scan_pass_exam = 0;
usr/src/uts/common/fs/zfs/spa_misc.c
2401
spa->spa_scan_pass_issued = 0;
usr/src/uts/common/fs/zfs/spa_misc.c
2402
vdev_scan_stat_init(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
2409
spa_scan_get_stats(spa_t *spa, pool_scan_stat_t *ps)
usr/src/uts/common/fs/zfs/spa_misc.c
2411
dsl_scan_t *scn = spa->spa_dsl_pool ? spa->spa_dsl_pool->dp_scan : NULL;
usr/src/uts/common/fs/zfs/spa_misc.c
2428
scn->scn_issued_before_pass + spa->spa_scan_pass_issued;
usr/src/uts/common/fs/zfs/spa_misc.c
2432
ps->pss_pass_start = spa->spa_scan_pass_start;
usr/src/uts/common/fs/zfs/spa_misc.c
2433
ps->pss_pass_exam = spa->spa_scan_pass_exam;
usr/src/uts/common/fs/zfs/spa_misc.c
2434
ps->pss_pass_issued = spa->spa_scan_pass_issued;
usr/src/uts/common/fs/zfs/spa_misc.c
2435
ps->pss_pass_scrub_pause = spa->spa_scan_pass_scrub_pause;
usr/src/uts/common/fs/zfs/spa_misc.c
2436
ps->pss_pass_scrub_spent_paused = spa->spa_scan_pass_scrub_spent_paused;
usr/src/uts/common/fs/zfs/spa_misc.c
2442
spa_maxblocksize(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2444
if (spa_feature_is_enabled(spa, SPA_FEATURE_LARGE_BLOCKS))
usr/src/uts/common/fs/zfs/spa_misc.c
2451
spa_maxdnodesize(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2453
if (spa_feature_is_enabled(spa, SPA_FEATURE_LARGE_DNODE))
usr/src/uts/common/fs/zfs/spa_misc.c
2460
spa_multihost(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2462
return (spa->spa_multihost ? B_TRUE : B_FALSE);
usr/src/uts/common/fs/zfs/spa_misc.c
2488
spa_get_last_removal_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2493
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa_misc.c
2499
vdevid = spa->spa_removing_phys.sr_prev_indirect_vdev;
usr/src/uts/common/fs/zfs/spa_misc.c
2502
vdev_t *vd = vdev_lookup_top(spa, vdevid);
usr/src/uts/common/fs/zfs/spa_misc.c
2517
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
2520
spa_feature_is_active(spa, SPA_FEATURE_DEVICE_REMOVAL));
usr/src/uts/common/fs/zfs/spa_misc.c
2526
spa_trust_config(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2528
return (spa->spa_trust_config);
usr/src/uts/common/fs/zfs/spa_misc.c
2532
spa_missing_tvds_allowed(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2534
return (spa->spa_missing_tvds_allowed);
usr/src/uts/common/fs/zfs/spa_misc.c
2538
spa_syncing_log_sm(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2540
return (spa->spa_syncing_log_sm);
usr/src/uts/common/fs/zfs/spa_misc.c
2544
spa_set_missing_tvds(spa_t *spa, uint64_t missing)
usr/src/uts/common/fs/zfs/spa_misc.c
2546
spa->spa_missing_tvds = missing;
usr/src/uts/common/fs/zfs/spa_misc.c
2550
spa_top_vdevs_spacemap_addressable(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2552
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa_misc.c
2561
spa_has_checkpoint(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2563
return (spa->spa_checkpoint_txg != 0);
usr/src/uts/common/fs/zfs/spa_misc.c
2567
spa_importing_readonly_checkpoint(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2569
return ((spa->spa_import_flags & ZFS_IMPORT_CHECKPOINT) &&
usr/src/uts/common/fs/zfs/spa_misc.c
2570
spa->spa_mode == FREAD);
usr/src/uts/common/fs/zfs/spa_misc.c
2574
spa_min_claim_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2576
uint64_t checkpoint_txg = spa->spa_uberblock.ub_checkpoint_txg;
usr/src/uts/common/fs/zfs/spa_misc.c
2581
return (spa->spa_first_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
2591
spa_suspend_async_destroy(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2593
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2600
if (spa_has_checkpoint(spa) && avail == 0)
usr/src/uts/common/fs/zfs/spa_misc.c
380
spa_load_failed(spa_t *spa, const char *fmt, ...)
usr/src/uts/common/fs/zfs/spa_misc.c
389
zfs_dbgmsg("spa_load(%s, config %s): FAILED: %s", spa->spa_name,
usr/src/uts/common/fs/zfs/spa_misc.c
390
spa->spa_trust_config ? "trusted" : "untrusted", buf);
usr/src/uts/common/fs/zfs/spa_misc.c
395
spa_load_note(spa_t *spa, const char *fmt, ...)
usr/src/uts/common/fs/zfs/spa_misc.c
404
zfs_dbgmsg("spa_load(%s, config %s): %s", spa->spa_name,
usr/src/uts/common/fs/zfs/spa_misc.c
405
spa->spa_trust_config ? "trusted" : "untrusted", buf);
usr/src/uts/common/fs/zfs/spa_misc.c
427
spa_config_lock_init(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
430
spa_config_lock_t *scl = &spa->spa_config_lock[i];
usr/src/uts/common/fs/zfs/spa_misc.c
440
spa_config_lock_destroy(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
443
spa_config_lock_t *scl = &spa->spa_config_lock[i];
usr/src/uts/common/fs/zfs/spa_misc.c
453
spa_config_tryenter(spa_t *spa, int locks, void *tag, krw_t rw)
usr/src/uts/common/fs/zfs/spa_misc.c
456
spa_config_lock_t *scl = &spa->spa_config_lock[i];
usr/src/uts/common/fs/zfs/spa_misc.c
463
spa_config_exit(spa, locks & ((1 << i) - 1),
usr/src/uts/common/fs/zfs/spa_misc.c
471
spa_config_exit(spa, locks & ((1 << i) - 1),
usr/src/uts/common/fs/zfs/spa_misc.c
484
spa_config_enter(spa_t *spa, int locks, void *tag, krw_t rw)
usr/src/uts/common/fs/zfs/spa_misc.c
491
spa_config_lock_t *scl = &spa->spa_config_lock[i];
usr/src/uts/common/fs/zfs/spa_misc.c
517
spa_config_exit(spa_t *spa, int locks, void *tag)
usr/src/uts/common/fs/zfs/spa_misc.c
520
spa_config_lock_t *scl = &spa->spa_config_lock[i];
usr/src/uts/common/fs/zfs/spa_misc.c
536
spa_config_held(spa_t *spa, int locks, krw_t rw)
usr/src/uts/common/fs/zfs/spa_misc.c
541
spa_config_lock_t *scl = &spa->spa_config_lock[i];
usr/src/uts/common/fs/zfs/spa_misc.c
567
spa_t *spa;
usr/src/uts/common/fs/zfs/spa_misc.c
583
spa = avl_find(&spa_namespace_avl, &search, &where);
usr/src/uts/common/fs/zfs/spa_misc.c
585
return (spa);
usr/src/uts/common/fs/zfs/spa_misc.c
596
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/spa_misc.c
601
if (spa_suspended(spa)) {
usr/src/uts/common/fs/zfs/spa_misc.c
602
VERIFY(cyclic_reprogram(spa->spa_deadman_cycid, CY_INFINITY));
usr/src/uts/common/fs/zfs/spa_misc.c
607
(gethrtime() - spa->spa_sync_starttime) / NANOSEC,
usr/src/uts/common/fs/zfs/spa_misc.c
608
++spa->spa_deadman_calls);
usr/src/uts/common/fs/zfs/spa_misc.c
610
vdev_deadman(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
630
spa_t *spa;
usr/src/uts/common/fs/zfs/spa_misc.c
637
spa = kmem_zalloc(sizeof (spa_t), KM_SLEEP);
usr/src/uts/common/fs/zfs/spa_misc.c
639
mutex_init(&spa->spa_async_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
640
mutex_init(&spa->spa_errlist_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
641
mutex_init(&spa->spa_errlog_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
642
mutex_init(&spa->spa_evicting_os_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
643
mutex_init(&spa->spa_history_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
644
mutex_init(&spa->spa_proc_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
645
mutex_init(&spa->spa_props_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
646
mutex_init(&spa->spa_cksum_tmpls_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
647
mutex_init(&spa->spa_scrub_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
648
mutex_init(&spa->spa_suspend_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
649
mutex_init(&spa->spa_vdev_top_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
650
mutex_init(&spa->spa_iokstat_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
651
mutex_init(&spa->spa_flushed_ms_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
652
mutex_init(&spa->spa_imp_kstat_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
654
cv_init(&spa->spa_async_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
655
cv_init(&spa->spa_evicting_os_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
656
cv_init(&spa->spa_proc_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
657
cv_init(&spa->spa_scrub_io_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
658
cv_init(&spa->spa_suspend_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
661
bplist_create(&spa->spa_free_bplist[t]);
usr/src/uts/common/fs/zfs/spa_misc.c
663
(void) strlcpy(spa->spa_name, name, sizeof (spa->spa_name));
usr/src/uts/common/fs/zfs/spa_misc.c
664
spa->spa_state = POOL_STATE_UNINITIALIZED;
usr/src/uts/common/fs/zfs/spa_misc.c
665
spa->spa_freeze_txg = UINT64_MAX;
usr/src/uts/common/fs/zfs/spa_misc.c
666
spa->spa_final_txg = UINT64_MAX;
usr/src/uts/common/fs/zfs/spa_misc.c
667
spa->spa_load_max_txg = UINT64_MAX;
usr/src/uts/common/fs/zfs/spa_misc.c
668
spa->spa_proc = &p0;
usr/src/uts/common/fs/zfs/spa_misc.c
669
spa->spa_proc_state = SPA_PROC_NONE;
usr/src/uts/common/fs/zfs/spa_misc.c
670
spa->spa_trust_config = B_TRUE;
usr/src/uts/common/fs/zfs/spa_misc.c
673
hdlr.cyh_arg = spa;
usr/src/uts/common/fs/zfs/spa_misc.c
676
spa->spa_deadman_synctime = MSEC2NSEC(zfs_deadman_synctime_ms);
usr/src/uts/common/fs/zfs/spa_misc.c
687
spa->spa_deadman_cycid = cyclic_add(&hdlr, &when);
usr/src/uts/common/fs/zfs/spa_misc.c
690
zfs_refcount_create(&spa->spa_refcount);
usr/src/uts/common/fs/zfs/spa_misc.c
691
spa_config_lock_init(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
693
avl_add(&spa_namespace_avl, spa);
usr/src/uts/common/fs/zfs/spa_misc.c
699
spa->spa_root = spa_strdup(altroot);
usr/src/uts/common/fs/zfs/spa_misc.c
703
spa->spa_alloc_count = spa_allocators;
usr/src/uts/common/fs/zfs/spa_misc.c
704
spa->spa_alloc_locks = kmem_zalloc(spa->spa_alloc_count *
usr/src/uts/common/fs/zfs/spa_misc.c
706
spa->spa_alloc_trees = kmem_zalloc(spa->spa_alloc_count *
usr/src/uts/common/fs/zfs/spa_misc.c
708
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa_misc.c
709
mutex_init(&spa->spa_alloc_locks[i], NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
710
avl_create(&spa->spa_alloc_trees[i], zio_bookmark_compare,
usr/src/uts/common/fs/zfs/spa_misc.c
713
avl_create(&spa->spa_metaslabs_by_flushed, metaslab_sort_by_flushed,
usr/src/uts/common/fs/zfs/spa_misc.c
715
avl_create(&spa->spa_sm_logs_by_txg, spa_log_sm_sort_by_txg,
usr/src/uts/common/fs/zfs/spa_misc.c
717
list_create(&spa->spa_log_summary, sizeof (log_summary_entry_t),
usr/src/uts/common/fs/zfs/spa_misc.c
723
list_create(&spa->spa_config_list, sizeof (spa_config_dirent_t),
usr/src/uts/common/fs/zfs/spa_misc.c
728
list_insert_head(&spa->spa_config_list, dp);
usr/src/uts/common/fs/zfs/spa_misc.c
730
VERIFY(nvlist_alloc(&spa->spa_load_info, NV_UNIQUE_NAME,
usr/src/uts/common/fs/zfs/spa_misc.c
738
VERIFY(nvlist_dup(features, &spa->spa_label_features,
usr/src/uts/common/fs/zfs/spa_misc.c
742
VERIFY(nvlist_dup(config, &spa->spa_config, 0) == 0);
usr/src/uts/common/fs/zfs/spa_misc.c
745
if (spa->spa_label_features == NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
746
VERIFY(nvlist_alloc(&spa->spa_label_features, NV_UNIQUE_NAME,
usr/src/uts/common/fs/zfs/spa_misc.c
750
spa->spa_iokstat = kstat_create("zfs", 0, name,
usr/src/uts/common/fs/zfs/spa_misc.c
752
if (spa->spa_iokstat) {
usr/src/uts/common/fs/zfs/spa_misc.c
753
spa->spa_iokstat->ks_lock = &spa->spa_iokstat_lock;
usr/src/uts/common/fs/zfs/spa_misc.c
754
kstat_install(spa->spa_iokstat);
usr/src/uts/common/fs/zfs/spa_misc.c
757
spa->spa_min_ashift = INT_MAX;
usr/src/uts/common/fs/zfs/spa_misc.c
758
spa->spa_max_ashift = 0;
usr/src/uts/common/fs/zfs/spa_misc.c
766
spa->spa_feat_refcount_cache[i] = SPA_FEATURE_DISABLED;
usr/src/uts/common/fs/zfs/spa_misc.c
769
list_create(&spa->spa_leaf_list, sizeof (vdev_t),
usr/src/uts/common/fs/zfs/spa_misc.c
772
return (spa);
usr/src/uts/common/fs/zfs/spa_misc.c
781
spa_remove(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
786
ASSERT(spa_state(spa) == POOL_STATE_UNINITIALIZED);
usr/src/uts/common/fs/zfs/spa_misc.c
787
ASSERT3U(zfs_refcount_count(&spa->spa_refcount), ==, 0);
usr/src/uts/common/fs/zfs/spa_misc.c
789
nvlist_free(spa->spa_config_splitting);
usr/src/uts/common/fs/zfs/spa_misc.c
791
avl_remove(&spa_namespace_avl, spa);
usr/src/uts/common/fs/zfs/spa_misc.c
794
if (spa->spa_root) {
usr/src/uts/common/fs/zfs/spa_misc.c
795
spa_strfree(spa->spa_root);
usr/src/uts/common/fs/zfs/spa_misc.c
799
while ((dp = list_head(&spa->spa_config_list)) != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
800
list_remove(&spa->spa_config_list, dp);
usr/src/uts/common/fs/zfs/spa_misc.c
806
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa_misc.c
807
avl_destroy(&spa->spa_alloc_trees[i]);
usr/src/uts/common/fs/zfs/spa_misc.c
808
mutex_destroy(&spa->spa_alloc_locks[i]);
usr/src/uts/common/fs/zfs/spa_misc.c
810
kmem_free(spa->spa_alloc_locks, spa->spa_alloc_count *
usr/src/uts/common/fs/zfs/spa_misc.c
812
kmem_free(spa->spa_alloc_trees, spa->spa_alloc_count *
usr/src/uts/common/fs/zfs/spa_misc.c
815
avl_destroy(&spa->spa_metaslabs_by_flushed);
usr/src/uts/common/fs/zfs/spa_misc.c
816
avl_destroy(&spa->spa_sm_logs_by_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
817
list_destroy(&spa->spa_log_summary);
usr/src/uts/common/fs/zfs/spa_misc.c
818
list_destroy(&spa->spa_config_list);
usr/src/uts/common/fs/zfs/spa_misc.c
819
list_destroy(&spa->spa_leaf_list);
usr/src/uts/common/fs/zfs/spa_misc.c
821
nvlist_free(spa->spa_label_features);
usr/src/uts/common/fs/zfs/spa_misc.c
822
nvlist_free(spa->spa_load_info);
usr/src/uts/common/fs/zfs/spa_misc.c
823
spa_config_set(spa, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
826
if (spa->spa_deadman_cycid != CYCLIC_NONE)
usr/src/uts/common/fs/zfs/spa_misc.c
827
cyclic_remove(spa->spa_deadman_cycid);
usr/src/uts/common/fs/zfs/spa_misc.c
829
spa->spa_deadman_cycid = CYCLIC_NONE;
usr/src/uts/common/fs/zfs/spa_misc.c
831
zfs_refcount_destroy(&spa->spa_refcount);
usr/src/uts/common/fs/zfs/spa_misc.c
833
spa_config_lock_destroy(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
835
kstat_delete(spa->spa_iokstat);
usr/src/uts/common/fs/zfs/spa_misc.c
836
spa->spa_iokstat = NULL;
usr/src/uts/common/fs/zfs/spa_misc.c
839
bplist_destroy(&spa->spa_free_bplist[t]);
usr/src/uts/common/fs/zfs/spa_misc.c
841
zio_checksum_templates_free(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
843
cv_destroy(&spa->spa_async_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
844
cv_destroy(&spa->spa_evicting_os_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
845
cv_destroy(&spa->spa_proc_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
846
cv_destroy(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
847
cv_destroy(&spa->spa_suspend_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
849
mutex_destroy(&spa->spa_flushed_ms_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
850
mutex_destroy(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
851
mutex_destroy(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
852
mutex_destroy(&spa->spa_errlog_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
853
mutex_destroy(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
854
mutex_destroy(&spa->spa_history_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
855
mutex_destroy(&spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
856
mutex_destroy(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
857
mutex_destroy(&spa->spa_cksum_tmpls_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
858
mutex_destroy(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
859
mutex_destroy(&spa->spa_suspend_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
860
mutex_destroy(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
861
mutex_destroy(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
862
mutex_destroy(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
864
kmem_free(spa, sizeof (spa_t));
usr/src/uts/common/fs/zfs/spa_misc.c
893
spa_open_ref(spa_t *spa, void *tag)
usr/src/uts/common/fs/zfs/spa_misc.c
895
ASSERT(zfs_refcount_count(&spa->spa_refcount) >= spa->spa_minref ||
usr/src/uts/common/fs/zfs/spa_misc.c
897
(void) zfs_refcount_add(&spa->spa_refcount, tag);
usr/src/uts/common/fs/zfs/spa_misc.c
905
spa_close(spa_t *spa, void *tag)
usr/src/uts/common/fs/zfs/spa_misc.c
907
ASSERT(zfs_refcount_count(&spa->spa_refcount) > spa->spa_minref ||
usr/src/uts/common/fs/zfs/spa_misc.c
909
(void) zfs_refcount_remove(&spa->spa_refcount, tag);
usr/src/uts/common/fs/zfs/spa_misc.c
921
spa_async_close(spa_t *spa, void *tag)
usr/src/uts/common/fs/zfs/spa_misc.c
923
(void) zfs_refcount_remove(&spa->spa_refcount, tag);
usr/src/uts/common/fs/zfs/spa_misc.c
932
spa_refcount_zero(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
936
return (zfs_refcount_count(&spa->spa_refcount) == spa->spa_minref);
usr/src/uts/common/fs/zfs/space_map.c
1007
if (!spa_feature_is_enabled(spa, SPA_FEATURE_SPACEMAP_V2) ||
usr/src/uts/common/fs/zfs/space_map.c
1016
(spa_feature_is_enabled(spa, SPA_FEATURE_SPACEMAP_V2) &&
usr/src/uts/common/fs/zfs/space_map.c
1024
if (!spa_feature_is_enabled(spa, SPA_FEATURE_SPACEMAP_V2)) {
usr/src/uts/common/fs/zfs/space_map.c
1036
ASSERT(spa_feature_is_enabled(spa, SPA_FEATURE_SPACEMAP_V2));
usr/src/uts/common/fs/zfs/space_map.c
651
spa_t *spa = tx->tx_pool->dp_spa;
usr/src/uts/common/fs/zfs/space_map.c
703
if (spa_feature_is_active(spa, SPA_FEATURE_SPACEMAP_V2) &&
usr/src/uts/common/fs/zfs/space_map.c
836
spa_t *spa = dmu_objset_spa(os);
usr/src/uts/common/fs/zfs/space_map.c
841
VERIFY3U(dmu_tx_get_txg(tx), <=, spa_final_dirty_txg(spa));
usr/src/uts/common/fs/zfs/space_map.c
853
if ((spa_feature_is_enabled(spa, SPA_FEATURE_SPACEMAP_HISTOGRAM) &&
usr/src/uts/common/fs/zfs/space_map.c
859
dmu_tx_get_txg(tx), spa_name(spa), sm, sm->sm_object,
usr/src/uts/common/fs/zfs/space_map.c
887
spa_t *spa = dmu_objset_spa(os);
usr/src/uts/common/fs/zfs/space_map.c
891
if (spa_feature_is_enabled(spa, SPA_FEATURE_SPACEMAP_HISTOGRAM)) {
usr/src/uts/common/fs/zfs/space_map.c
892
spa_feature_incr(spa, SPA_FEATURE_SPACEMAP_HISTOGRAM, tx);
usr/src/uts/common/fs/zfs/space_map.c
908
spa_t *spa = dmu_objset_spa(os);
usr/src/uts/common/fs/zfs/space_map.c
909
if (spa_feature_is_enabled(spa, SPA_FEATURE_SPACEMAP_HISTOGRAM)) {
usr/src/uts/common/fs/zfs/space_map.c
914
spa_feature_decr(spa,
usr/src/uts/common/fs/zfs/space_map.c
941
spa_t *spa = dmu_objset_spa(sm->sm_os);
usr/src/uts/common/fs/zfs/sys/arc.h
201
int arc_untransform(arc_buf_t *buf, spa_t *spa, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/sys/arc.h
206
arc_buf_t *arc_alloc_buf(spa_t *spa, void *tag, arc_buf_contents_t type,
usr/src/uts/common/fs/zfs/sys/arc.h
208
arc_buf_t *arc_alloc_compressed_buf(spa_t *spa, void *tag,
usr/src/uts/common/fs/zfs/sys/arc.h
210
arc_buf_t *arc_alloc_raw_buf(spa_t *spa, void *tag, uint64_t dsobj,
usr/src/uts/common/fs/zfs/sys/arc.h
214
arc_buf_t *arc_loan_buf(spa_t *spa, boolean_t is_metadata, int size);
usr/src/uts/common/fs/zfs/sys/arc.h
215
arc_buf_t *arc_loan_compressed_buf(spa_t *spa, uint64_t psize, uint64_t lsize,
usr/src/uts/common/fs/zfs/sys/arc.h
217
arc_buf_t *arc_loan_raw_buf(spa_t *spa, uint64_t dsobj, boolean_t byteorder,
usr/src/uts/common/fs/zfs/sys/arc.h
235
int arc_read(zio_t *pio, spa_t *spa, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/sys/arc.h
238
zio_t *arc_write(zio_t *pio, spa_t *spa, uint64_t txg,
usr/src/uts/common/fs/zfs/sys/arc.h
244
void arc_freed(spa_t *spa, const blkptr_t *bp);
usr/src/uts/common/fs/zfs/sys/arc.h
246
void arc_flush(spa_t *spa, boolean_t retry);
usr/src/uts/common/fs/zfs/sys/arc.h
248
int arc_tempreserve_space(spa_t *spa, uint64_t reserve, uint64_t txg);
usr/src/uts/common/fs/zfs/sys/arc.h
260
void l2arc_add_vdev(spa_t *spa, vdev_t *vd);
usr/src/uts/common/fs/zfs/sys/arc.h
270
void l2arc_spa_rebuild_start(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/ddt.h
212
extern void ddt_get_dedup_object_stats(spa_t *spa, ddt_object_t *ddo);
usr/src/uts/common/fs/zfs/sys/ddt.h
213
extern void ddt_get_dedup_histogram(spa_t *spa, ddt_histogram_t *ddh);
usr/src/uts/common/fs/zfs/sys/ddt.h
214
extern void ddt_get_dedup_stats(spa_t *spa, ddt_stat_t *dds_total);
usr/src/uts/common/fs/zfs/sys/ddt.h
216
extern uint64_t ddt_get_dedup_dspace(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/ddt.h
217
extern uint64_t ddt_get_pool_dedup_ratio(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/ddt.h
226
extern ddt_t *ddt_select(spa_t *spa, const blkptr_t *bp);
usr/src/uts/common/fs/zfs/sys/ddt.h
230
extern void ddt_prefetch(spa_t *spa, const blkptr_t *bp);
usr/src/uts/common/fs/zfs/sys/ddt.h
233
extern boolean_t ddt_class_contains(spa_t *spa, enum ddt_class max_class,
usr/src/uts/common/fs/zfs/sys/ddt.h
241
extern void ddt_create(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/ddt.h
242
extern int ddt_load(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/ddt.h
243
extern void ddt_unload(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/ddt.h
244
extern void ddt_sync(spa_t *spa, uint64_t txg);
usr/src/uts/common/fs/zfs/sys/ddt.h
245
extern int ddt_walk(spa_t *spa, ddt_bookmark_t *ddb, ddt_entry_t *dde);
usr/src/uts/common/fs/zfs/sys/dmu.h
63
struct spa;
usr/src/uts/common/fs/zfs/sys/dmu.h
74
struct spa;
usr/src/uts/common/fs/zfs/sys/dmu.h
999
extern struct spa *dmu_objset_spa(objset_t *os);
usr/src/uts/common/fs/zfs/sys/dmu_objset.h
234
objset_t *dmu_objset_create_impl_dnstats(spa_t *spa, struct dsl_dataset *ds,
usr/src/uts/common/fs/zfs/sys/dmu_objset.h
237
objset_t *dmu_objset_create_impl(spa_t *spa, struct dsl_dataset *ds,
usr/src/uts/common/fs/zfs/sys/dmu_objset.h
239
int dmu_objset_open_impl(spa_t *spa, struct dsl_dataset *ds, blkptr_t *bp,
usr/src/uts/common/fs/zfs/sys/dmu_traverse.h
42
typedef int (blkptr_cb_t)(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/sys/dmu_traverse.h
68
int traverse_dataset_destroyed(spa_t *spa, blkptr_t *blkptr,
usr/src/uts/common/fs/zfs/sys/dmu_traverse.h
71
int traverse_pool(spa_t *spa,
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
184
void spa_keystore_dsl_key_rele(spa_t *spa, dsl_crypto_key_t *dck, void *tag);
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
185
int spa_keystore_load_wkey_impl(spa_t *spa, dsl_wrapping_key_t *wkey);
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
188
int spa_keystore_unload_wkey_impl(spa_t *spa, uint64_t ddobj);
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
191
int spa_keystore_create_mapping(spa_t *spa, struct dsl_dataset *ds, void *tag,
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
193
int spa_keystore_remove_mapping(spa_t *spa, uint64_t dsobj, void *tag);
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
195
void key_mapping_rele(spa_t *spa, dsl_key_mapping_t *km, void *tag);
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
196
int spa_keystore_lookup_key(spa_t *spa, uint64_t dsobj, void *tag,
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
225
int spa_crypt_get_salt(spa_t *spa, uint64_t dsobj, uint8_t *salt);
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
226
int spa_do_crypt_mac_abd(boolean_t generate, spa_t *spa, uint64_t dsobj,
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
228
int spa_do_crypt_objset_mac_abd(boolean_t generate, spa_t *spa, uint64_t dsobj,
usr/src/uts/common/fs/zfs/sys/dsl_crypt.h
230
int spa_do_crypt_abd(boolean_t encrypt, spa_t *spa, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/sys/dsl_pool.h
146
int dsl_pool_init(spa_t *spa, uint64_t txg, dsl_pool_t **dpp);
usr/src/uts/common/fs/zfs/sys/dsl_pool.h
149
dsl_pool_t *dsl_pool_create(spa_t *spa, nvlist_t *zplprops,
usr/src/uts/common/fs/zfs/sys/dsl_scan.h
182
void dsl_scan_freed(spa_t *spa, const blkptr_t *bp);
usr/src/uts/common/fs/zfs/sys/mmp.h
58
extern void mmp_init(struct spa *spa);
usr/src/uts/common/fs/zfs/sys/mmp.h
59
extern void mmp_fini(struct spa *spa);
usr/src/uts/common/fs/zfs/sys/mmp.h
60
extern void mmp_thread_start(struct spa *spa);
usr/src/uts/common/fs/zfs/sys/mmp.h
61
extern void mmp_thread_stop(struct spa *spa);
usr/src/uts/common/fs/zfs/sys/mmp.h
62
extern void mmp_update_uberblock(struct spa *spa, struct uberblock *ub);
usr/src/uts/common/fs/zfs/sys/spa.h
1001
extern uint64_t spa_get_last_removal_txg(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
1002
extern boolean_t spa_trust_config(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
1003
extern uint64_t spa_missing_tvds_allowed(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
1004
extern void spa_set_missing_tvds(spa_t *spa, uint64_t missing);
usr/src/uts/common/fs/zfs/sys/spa.h
1005
extern boolean_t spa_top_vdevs_spacemap_addressable(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
1006
extern uint64_t spa_total_metaslabs(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
1009
extern int spa_mode(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
1014
extern void spa_history_create_obj(spa_t *spa, dmu_tx_t *tx);
usr/src/uts/common/fs/zfs/sys/spa.h
1015
extern int spa_history_get(spa_t *spa, uint64_t *offset, uint64_t *len_read,
usr/src/uts/common/fs/zfs/sys/spa.h
1017
extern int spa_history_log(spa_t *spa, const char *his_buf);
usr/src/uts/common/fs/zfs/sys/spa.h
1018
extern int spa_history_log_nvl(spa_t *spa, nvlist_t *nvl);
usr/src/uts/common/fs/zfs/sys/spa.h
1019
extern void spa_history_log_version(spa_t *spa, const char *operation);
usr/src/uts/common/fs/zfs/sys/spa.h
1020
extern void spa_history_log_internal(spa_t *spa, const char *operation,
usr/src/uts/common/fs/zfs/sys/spa.h
1029
extern void spa_log_error(spa_t *spa, const struct zbookmark_phys *zb);
usr/src/uts/common/fs/zfs/sys/spa.h
1030
extern int zfs_ereport_post(const char *class, spa_t *spa, vdev_t *vd,
usr/src/uts/common/fs/zfs/sys/spa.h
1033
extern boolean_t zfs_ereport_is_valid(const char *class, spa_t *spa, vdev_t *vd,
usr/src/uts/common/fs/zfs/sys/spa.h
1035
extern void zfs_post_remove(spa_t *spa, vdev_t *vd);
usr/src/uts/common/fs/zfs/sys/spa.h
1036
extern void zfs_post_state_change(spa_t *spa, vdev_t *vd);
usr/src/uts/common/fs/zfs/sys/spa.h
1037
extern void zfs_post_autoreplace(spa_t *spa, vdev_t *vd);
usr/src/uts/common/fs/zfs/sys/spa.h
1038
extern uint64_t spa_get_errlog_size(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
1039
extern int spa_get_errlog(spa_t *spa, void *uaddr, size_t *count);
usr/src/uts/common/fs/zfs/sys/spa.h
1040
extern void spa_errlog_rotate(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
1041
extern void spa_errlog_drain(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
1042
extern void spa_errlog_sync(spa_t *spa, uint64_t txg);
usr/src/uts/common/fs/zfs/sys/spa.h
1043
extern void spa_get_errlists(spa_t *spa, avl_tree_t *last, avl_tree_t *scrub);
usr/src/uts/common/fs/zfs/sys/spa.h
1059
extern int spa_prop_set(spa_t *spa, nvlist_t *nvp);
usr/src/uts/common/fs/zfs/sys/spa.h
1060
extern int spa_prop_get(spa_t *spa, nvlist_t **nvp);
usr/src/uts/common/fs/zfs/sys/spa.h
1061
extern void spa_prop_clear_bootfs(spa_t *spa, uint64_t obj, dmu_tx_t *tx);
usr/src/uts/common/fs/zfs/sys/spa.h
1065
extern void spa_event_notify(spa_t *spa, vdev_t *vdev, nvlist_t *hist_nvl,
usr/src/uts/common/fs/zfs/sys/spa.h
1067
extern sysevent_t *spa_event_create(spa_t *spa, vdev_t *vd, nvlist_t *hist_nvl,
usr/src/uts/common/fs/zfs/sys/spa.h
56
typedef struct spa spa_t;
usr/src/uts/common/fs/zfs/sys/spa.h
738
extern void spa_async_request(spa_t *spa, int flag);
usr/src/uts/common/fs/zfs/sys/spa.h
739
extern void spa_async_unrequest(spa_t *spa, int flag);
usr/src/uts/common/fs/zfs/sys/spa.h
740
extern void spa_async_suspend(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
741
extern void spa_async_resume(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
742
extern int spa_async_tasks(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
744
extern void spa_inject_delref(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
745
extern void spa_scan_stat_init(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
746
extern int spa_scan_get_stats(spa_t *spa, pool_scan_stat_t *ps);
usr/src/uts/common/fs/zfs/sys/spa.h
768
extern int spa_vdev_add(spa_t *spa, nvlist_t *nvroot);
usr/src/uts/common/fs/zfs/sys/spa.h
769
extern int spa_vdev_attach(spa_t *spa, uint64_t guid, nvlist_t *nvroot,
usr/src/uts/common/fs/zfs/sys/spa.h
771
extern int spa_vdev_detach(spa_t *spa, uint64_t guid, uint64_t pguid,
usr/src/uts/common/fs/zfs/sys/spa.h
773
extern int spa_vdev_remove(spa_t *spa, uint64_t guid, boolean_t unspare);
usr/src/uts/common/fs/zfs/sys/spa.h
774
extern boolean_t spa_vdev_remove_active(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
775
extern int spa_vdev_initialize(spa_t *spa, nvlist_t *nv, uint64_t cmd_type,
usr/src/uts/common/fs/zfs/sys/spa.h
777
extern int spa_vdev_trim(spa_t *spa, nvlist_t *nv, uint64_t cmd_type,
usr/src/uts/common/fs/zfs/sys/spa.h
779
extern int spa_vdev_setpath(spa_t *spa, uint64_t guid, const char *newpath);
usr/src/uts/common/fs/zfs/sys/spa.h
780
extern int spa_vdev_setfru(spa_t *spa, uint64_t guid, const char *newfru);
usr/src/uts/common/fs/zfs/sys/spa.h
781
extern int spa_vdev_split_mirror(spa_t *spa, char *newname, nvlist_t *config,
usr/src/uts/common/fs/zfs/sys/spa.h
791
extern void spa_spare_poll(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
798
extern void spa_l2cache_drop(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
801
extern int spa_scan(spa_t *spa, pool_scan_func_t func);
usr/src/uts/common/fs/zfs/sys/spa.h
802
extern int spa_scan_stop(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
803
extern int spa_scrub_pause_resume(spa_t *spa, pool_scrub_cmd_t flag);
usr/src/uts/common/fs/zfs/sys/spa.h
806
extern void spa_sync(spa_t *spa, uint64_t txg); /* only for DMU use */
usr/src/uts/common/fs/zfs/sys/spa.h
822
extern void spa_config_set(spa_t *spa, nvlist_t *config);
usr/src/uts/common/fs/zfs/sys/spa.h
823
extern nvlist_t *spa_config_generate(spa_t *spa, vdev_t *vd, uint64_t txg,
usr/src/uts/common/fs/zfs/sys/spa.h
825
extern void spa_config_update(spa_t *spa, int what);
usr/src/uts/common/fs/zfs/sys/spa.h
834
extern void spa_remove(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
838
extern void spa_open_ref(spa_t *spa, void *tag);
usr/src/uts/common/fs/zfs/sys/spa.h
839
extern void spa_close(spa_t *spa, void *tag);
usr/src/uts/common/fs/zfs/sys/spa.h
840
extern void spa_async_close(spa_t *spa, void *tag);
usr/src/uts/common/fs/zfs/sys/spa.h
841
extern boolean_t spa_refcount_zero(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
878
extern int spa_config_tryenter(spa_t *spa, int locks, void *tag, krw_t rw);
usr/src/uts/common/fs/zfs/sys/spa.h
879
extern void spa_config_enter(spa_t *spa, int locks, void *tag, krw_t rw);
usr/src/uts/common/fs/zfs/sys/spa.h
880
extern void spa_config_exit(spa_t *spa, int locks, void *tag);
usr/src/uts/common/fs/zfs/sys/spa.h
881
extern int spa_config_held(spa_t *spa, int locks, krw_t rw);
usr/src/uts/common/fs/zfs/sys/spa.h
884
extern uint64_t spa_vdev_enter(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
885
extern uint64_t spa_vdev_config_enter(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
886
extern void spa_vdev_config_exit(spa_t *spa, vdev_t *vd, uint64_t txg,
usr/src/uts/common/fs/zfs/sys/spa.h
888
extern int spa_vdev_exit(spa_t *spa, vdev_t *vd, uint64_t txg, int error);
usr/src/uts/common/fs/zfs/sys/spa.h
891
extern void spa_vdev_state_enter(spa_t *spa, int oplock);
usr/src/uts/common/fs/zfs/sys/spa.h
892
extern int spa_vdev_state_exit(spa_t *spa, vdev_t *vd, int error);
usr/src/uts/common/fs/zfs/sys/spa.h
902
extern spa_log_state_t spa_get_log_state(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
903
extern void spa_set_log_state(spa_t *spa, spa_log_state_t state);
usr/src/uts/common/fs/zfs/sys/spa.h
904
extern int spa_reset_logs(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
910
extern boolean_t spa_shutting_down(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
911
extern struct dsl_pool *spa_get_dsl(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
912
extern boolean_t spa_is_initializing(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
913
extern boolean_t spa_indirect_vdevs_loaded(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
914
extern blkptr_t *spa_get_rootblkptr(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
915
extern void spa_set_rootblkptr(spa_t *spa, const blkptr_t *bp);
usr/src/uts/common/fs/zfs/sys/spa.h
917
extern int spa_sync_pass(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
918
extern char *spa_name(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
919
extern uint64_t spa_guid(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
920
extern uint64_t spa_load_guid(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
921
extern uint64_t spa_last_synced_txg(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
922
extern uint64_t spa_first_txg(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
923
extern uint64_t spa_syncing_txg(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
924
extern uint64_t spa_final_dirty_txg(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
925
extern uint64_t spa_version(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
926
extern pool_state_t spa_state(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
927
extern spa_load_state_t spa_load_state(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
928
extern uint64_t spa_freeze_txg(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
929
extern uint64_t spa_get_worst_case_asize(spa_t *spa, uint64_t lsize);
usr/src/uts/common/fs/zfs/sys/spa.h
930
extern uint64_t spa_get_dspace(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
931
extern uint64_t spa_get_checkpoint_space(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
932
extern uint64_t spa_get_slop_space(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
933
extern void spa_update_dspace(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
934
extern uint64_t spa_version(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
935
extern boolean_t spa_deflate(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
936
extern metaslab_class_t *spa_normal_class(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
937
extern metaslab_class_t *spa_log_class(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
938
extern metaslab_class_t *spa_special_class(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
939
extern metaslab_class_t *spa_dedup_class(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
940
extern metaslab_class_t *spa_preferred_class(spa_t *spa, uint64_t size,
usr/src/uts/common/fs/zfs/sys/spa.h
945
extern void spa_evicting_os_wait(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
946
extern int spa_max_replication(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
947
extern int spa_prev_software_version(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
949
extern uint8_t spa_get_failmode(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
950
extern boolean_t spa_suspended(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
951
extern uint64_t spa_bootfs(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
952
extern uint64_t spa_delegation(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
953
extern objset_t *spa_meta_objset(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
954
extern space_map_t *spa_syncing_log_sm(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
955
extern uint64_t spa_deadman_synctime(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
956
extern uint64_t spa_dirty_data(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
957
extern spa_autotrim_t spa_get_autotrim(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
960
extern void spa_load_failed(spa_t *spa, const char *fmt, ...);
usr/src/uts/common/fs/zfs/sys/spa.h
961
extern void spa_load_note(spa_t *spa, const char *fmt, ...);
usr/src/uts/common/fs/zfs/sys/spa.h
962
extern void spa_activate_mos_feature(spa_t *spa, const char *feature,
usr/src/uts/common/fs/zfs/sys/spa.h
964
extern void spa_deactivate_mos_feature(spa_t *spa, const char *feature);
usr/src/uts/common/fs/zfs/sys/spa.h
970
extern uint64_t spa_generate_guid(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
972
extern void spa_freeze(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
973
extern int spa_change_guid(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
974
extern void spa_upgrade(spa_t *spa, uint64_t version);
usr/src/uts/common/fs/zfs/sys/spa.h
976
extern vdev_t *spa_lookup_by_guid(spa_t *spa, uint64_t guid,
usr/src/uts/common/fs/zfs/sys/spa.h
979
extern uint64_t dva_get_dsize_sync(spa_t *spa, const dva_t *dva);
usr/src/uts/common/fs/zfs/sys/spa.h
980
extern uint64_t bp_get_dsize_sync(spa_t *spa, const blkptr_t *bp);
usr/src/uts/common/fs/zfs/sys/spa.h
981
extern uint64_t bp_get_dsize(spa_t *spa, const blkptr_t *bp);
usr/src/uts/common/fs/zfs/sys/spa.h
982
extern boolean_t spa_has_slogs(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
983
extern boolean_t spa_is_root(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
984
extern boolean_t spa_writeable(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
985
extern boolean_t spa_has_pending_synctask(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
986
extern int spa_maxblocksize(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
987
extern int spa_maxdnodesize(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
988
extern boolean_t spa_multihost(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
990
extern boolean_t spa_has_checkpoint(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
991
extern boolean_t spa_importing_readonly_checkpoint(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
992
extern boolean_t spa_suspend_async_destroy(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
993
extern uint64_t spa_min_claim_txg(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
994
extern void zfs_blkptr_verify(spa_t *spa, const blkptr_t *bp);
usr/src/uts/common/fs/zfs/sys/spa.h
995
extern boolean_t zfs_dva_valid(spa_t *spa, const dva_t *dva,
usr/src/uts/common/fs/zfs/sys/spa.h
999
extern boolean_t spa_remap_blkptr(spa_t *spa, blkptr_t *bp,
usr/src/uts/common/fs/zfs/sys/spa_impl.h
436
extern void spa_taskq_dispatch_ent(spa_t *spa, zio_type_t t, zio_taskq_type_t q,
usr/src/uts/common/fs/zfs/sys/spa_impl.h
438
extern void spa_load_spares(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa_impl.h
439
extern void spa_load_l2cache(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/txg.h
113
extern void txg_verify(spa_t *spa, uint64_t txg);
usr/src/uts/common/fs/zfs/sys/txg.h
121
extern void txg_list_create(txg_list_t *tl, spa_t *spa, size_t offset);
usr/src/uts/common/fs/zfs/sys/vdev.h
120
extern int vdev_fault(spa_t *spa, uint64_t guid, vdev_aux_t aux);
usr/src/uts/common/fs/zfs/sys/vdev.h
121
extern int vdev_degrade(spa_t *spa, uint64_t guid, vdev_aux_t aux);
usr/src/uts/common/fs/zfs/sys/vdev.h
122
extern int vdev_online(spa_t *spa, uint64_t guid, uint64_t flags,
usr/src/uts/common/fs/zfs/sys/vdev.h
124
extern int vdev_offline(spa_t *spa, uint64_t guid, uint64_t flags);
usr/src/uts/common/fs/zfs/sys/vdev.h
125
extern void vdev_clear(spa_t *spa, vdev_t *vd);
usr/src/uts/common/fs/zfs/sys/vdev.h
156
extern void vdev_set_deferred_resilver(spa_t *spa, vdev_t *vd);
usr/src/uts/common/fs/zfs/sys/vdev.h
168
extern void vdev_top_config_generate(spa_t *spa, nvlist_t *config);
usr/src/uts/common/fs/zfs/sys/vdev.h
169
extern nvlist_t *vdev_config_generate(spa_t *spa, vdev_t *vd,
usr/src/uts/common/fs/zfs/sys/vdev.h
67
extern vdev_t *vdev_lookup_top(spa_t *spa, uint64_t vdev);
usr/src/uts/common/fs/zfs/sys/vdev.h
69
extern int vdev_count_leaves(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/vdev.h
88
extern void spa_vdev_indirect_mark_obsolete(spa_t *spa, uint64_t vdev,
usr/src/uts/common/fs/zfs/sys/vdev_impl.h
509
extern vdev_t *vdev_alloc_common(spa_t *spa, uint_t id, uint64_t guid,
usr/src/uts/common/fs/zfs/sys/vdev_impl.h
511
extern int vdev_alloc(spa_t *spa, vdev_t **vdp, nvlist_t *config,
usr/src/uts/common/fs/zfs/sys/vdev_initialize.h
40
extern void vdev_initialize_stop_wait(spa_t *spa, list_t *vd_list);
usr/src/uts/common/fs/zfs/sys/vdev_removal.h
84
extern void svr_sync(spa_t *spa, dmu_tx_t *tx);
usr/src/uts/common/fs/zfs/sys/vdev_trim.h
41
extern void vdev_trim_stop_wait(spa_t *spa, list_t *vd_list);
usr/src/uts/common/fs/zfs/sys/vdev_trim.h
43
extern void vdev_autotrim(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/vdev_trim.h
44
extern void vdev_autotrim_stop_all(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/vdev_trim.h
46
extern void vdev_autotrim_restart(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/zfeature.h
41
struct spa;
usr/src/uts/common/fs/zfs/sys/zfeature.h
45
extern void spa_feature_create_zap_objects(struct spa *, struct dmu_tx *);
usr/src/uts/common/fs/zfs/sys/zfeature.h
46
extern void spa_feature_enable(struct spa *, spa_feature_t,
usr/src/uts/common/fs/zfs/sys/zfeature.h
48
extern void spa_feature_incr(struct spa *, spa_feature_t, struct dmu_tx *);
usr/src/uts/common/fs/zfs/sys/zfeature.h
49
extern void spa_feature_decr(struct spa *, spa_feature_t, struct dmu_tx *);
usr/src/uts/common/fs/zfs/sys/zfeature.h
50
extern boolean_t spa_feature_is_enabled(struct spa *, spa_feature_t);
usr/src/uts/common/fs/zfs/sys/zfeature.h
51
extern boolean_t spa_feature_is_active(struct spa *, spa_feature_t);
usr/src/uts/common/fs/zfs/sys/zfeature.h
52
extern boolean_t spa_feature_enabled_txg(spa_t *spa, spa_feature_t fid,
usr/src/uts/common/fs/zfs/sys/zfeature.h
61
extern int feature_get_refcount(struct spa *, zfeature_info_t *, uint64_t *);
usr/src/uts/common/fs/zfs/sys/zfeature.h
62
extern int feature_get_refcount_from_disk(spa_t *spa, zfeature_info_t *feature,
usr/src/uts/common/fs/zfs/sys/zfeature.h
64
extern void feature_enable_sync(struct spa *, zfeature_info_t *,
usr/src/uts/common/fs/zfs/sys/zfeature.h
66
extern void feature_sync(struct spa *, zfeature_info_t *, uint64_t,
usr/src/uts/common/fs/zfs/sys/zio.h
509
extern zio_t *zio_null(zio_t *pio, spa_t *spa, vdev_t *vd,
usr/src/uts/common/fs/zfs/sys/zio.h
512
extern zio_t *zio_root(spa_t *spa,
usr/src/uts/common/fs/zfs/sys/zio.h
515
extern zio_t *zio_read(zio_t *pio, spa_t *spa, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/sys/zio.h
519
extern zio_t *zio_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp,
usr/src/uts/common/fs/zfs/sys/zio.h
526
extern zio_t *zio_rewrite(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp,
usr/src/uts/common/fs/zfs/sys/zio.h
533
extern void zio_free(spa_t *spa, uint64_t txg, const blkptr_t *bp);
usr/src/uts/common/fs/zfs/sys/zio.h
535
extern zio_t *zio_claim(zio_t *pio, spa_t *spa, uint64_t txg,
usr/src/uts/common/fs/zfs/sys/zio.h
539
extern zio_t *zio_ioctl(zio_t *pio, spa_t *spa, vdev_t *vd, int cmd,
usr/src/uts/common/fs/zfs/sys/zio.h
556
extern zio_t *zio_free_sync(zio_t *pio, spa_t *spa, uint64_t txg,
usr/src/uts/common/fs/zfs/sys/zio.h
559
extern int zio_alloc_zil(spa_t *spa, objset_t *os, uint64_t txg,
usr/src/uts/common/fs/zfs/sys/zio.h
561
extern void zio_free_zil(spa_t *spa, uint64_t txg, blkptr_t *bp);
usr/src/uts/common/fs/zfs/sys/zio.h
608
extern enum zio_checksum zio_checksum_dedup_select(spa_t *spa,
usr/src/uts/common/fs/zfs/sys/zio.h
610
extern enum zio_compress zio_compress_select(spa_t *spa,
usr/src/uts/common/fs/zfs/sys/zio.h
613
extern void zio_suspend(spa_t *spa, zio_t *zio, zio_suspend_reason_t);
usr/src/uts/common/fs/zfs/sys/zio.h
614
extern int zio_resume(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/zio.h
615
extern void zio_resume_wait(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/zio.h
633
extern void zio_handle_panic_injection(spa_t *spa, char *tag, uint64_t type);
usr/src/uts/common/fs/zfs/sys/zio.h
634
extern int zio_handle_decrypt_injection(spa_t *spa, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/sys/zio.h
645
extern void zfs_ereport_start_checksum(spa_t *spa, vdev_t *vd,
usr/src/uts/common/fs/zfs/sys/zio.h
655
extern int zfs_ereport_post_checksum(spa_t *spa, vdev_t *vd,
usr/src/uts/common/fs/zfs/sys/zio.h
661
extern void spa_handle_ignored_writes(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/zio_checksum.h
136
extern enum zio_checksum spa_dedup_checksum(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/zio_checksum.h
137
extern void zio_checksum_templates_free(spa_t *spa);
usr/src/uts/common/fs/zfs/txg.c
475
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/txg.c
540
spa_sync(spa, txg);
usr/src/uts/common/fs/zfs/txg.c
761
txg_verify(spa_t *spa, uint64_t txg)
usr/src/uts/common/fs/zfs/txg.c
763
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/txg.c
775
txg_list_create(txg_list_t *tl, spa_t *spa, size_t offset)
usr/src/uts/common/fs/zfs/txg.c
782
tl->tl_spa = spa;
usr/src/uts/common/fs/zfs/vdev.c
1047
if (txg_list_remove_this(&spa->spa_vdev_txg_list, svd, t))
usr/src/uts/common/fs/zfs/vdev.c
1048
(void) txg_list_add(&spa->spa_vdev_txg_list, tvd, t);
usr/src/uts/common/fs/zfs/vdev.c
1088
spa_t *spa = cvd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
1092
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/vdev.c
1094
mvd = vdev_alloc_common(spa, cvd->vdev_id, 0, ops);
usr/src/uts/common/fs/zfs/vdev.c
1162
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
1178
mc = spa_log_class(spa);
usr/src/uts/common/fs/zfs/vdev.c
1181
mc = spa_special_class(spa);
usr/src/uts/common/fs/zfs/vdev.c
1184
mc = spa_dedup_class(spa);
usr/src/uts/common/fs/zfs/vdev.c
1187
mc = spa_normal_class(spa);
usr/src/uts/common/fs/zfs/vdev.c
1191
spa->spa_alloc_count);
usr/src/uts/common/fs/zfs/vdev.c
1199
mc == spa_normal_class(spa) && vd->vdev_aux == NULL) {
usr/src/uts/common/fs/zfs/vdev.c
1200
if (vd->vdev_ashift > spa->spa_max_ashift)
usr/src/uts/common/fs/zfs/vdev.c
1201
spa->spa_max_ashift = vd->vdev_ashift;
usr/src/uts/common/fs/zfs/vdev.c
1202
if (vd->vdev_ashift < spa->spa_min_ashift)
usr/src/uts/common/fs/zfs/vdev.c
1203
spa->spa_min_ashift = vd->vdev_ashift;
usr/src/uts/common/fs/zfs/vdev.c
1211
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
1212
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/vdev.c
1220
ASSERT(txg == 0 || spa_config_held(spa, SCL_ALLOC, RW_WRITER));
usr/src/uts/common/fs/zfs/vdev.c
1281
spa_config_enter(spa, SCL_ALLOC, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/vdev.c
1293
spa_config_exit(spa, SCL_ALLOC, FTAG);
usr/src/uts/common/fs/zfs/vdev.c
1300
spa_log_sm_set_blocklimit(spa);
usr/src/uts/common/fs/zfs/vdev.c
1353
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev.c
1362
if (zio->io_error == 0 && spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/vdev.c
1381
(vdev_writeable(vd) || !spa_writeable(spa))) {
usr/src/uts/common/fs/zfs/vdev.c
1387
spa, vd, NULL, NULL, 0, 0);
usr/src/uts/common/fs/zfs/vdev.c
1415
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
1441
if (spa_config_held(spa, SCL_ZIO, RW_WRITER)) {
usr/src/uts/common/fs/zfs/vdev.c
1463
vd->vdev_probe_zio = pio = zio_null(NULL, spa, vd,
usr/src/uts/common/fs/zfs/vdev.c
1473
spa_async_request(spa, SPA_ASYNC_PROBE);
usr/src/uts/common/fs/zfs/vdev.c
1581
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
1589
spa_config_held(spa, SCL_STATE_ALL, RW_WRITER) == SCL_STATE_ALL);
usr/src/uts/common/fs/zfs/vdev.c
1740
spa, vd, NULL, NULL, 0, 0);
usr/src/uts/common/fs/zfs/vdev.c
1760
(vd->vdev_expanding || spa->spa_autoexpand)) ||
usr/src/uts/common/fs/zfs/vdev.c
1786
if (vd->vdev_ashift > spa->spa_max_ashift)
usr/src/uts/common/fs/zfs/vdev.c
1787
spa->spa_max_ashift = vd->vdev_ashift;
usr/src/uts/common/fs/zfs/vdev.c
1788
if (vd->vdev_ashift < spa->spa_min_ashift)
usr/src/uts/common/fs/zfs/vdev.c
1789
spa->spa_min_ashift = vd->vdev_ashift;
usr/src/uts/common/fs/zfs/vdev.c
1797
if (vd->vdev_ops->vdev_op_leaf && !spa->spa_scrub_reopen)
usr/src/uts/common/fs/zfs/vdev.c
1798
dsl_scan_assess_vdev(spa->spa_dsl_pool, vd);
usr/src/uts/common/fs/zfs/vdev.c
1816
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
1844
if (spa->spa_extreme_rewind || spa_last_synced_txg(spa) == 0 ||
usr/src/uts/common/fs/zfs/vdev.c
1845
spa_config_held(spa, SCL_CONFIG, RW_WRITER) != SCL_CONFIG)
usr/src/uts/common/fs/zfs/vdev.c
1848
txg = spa_last_synced_txg(spa);
usr/src/uts/common/fs/zfs/vdev.c
1863
&aux_guid) == 0 && aux_guid == spa_guid(spa)) {
usr/src/uts/common/fs/zfs/vdev.c
1887
if (spa->spa_trust_config && guid != spa_guid(spa)) {
usr/src/uts/common/fs/zfs/vdev.c
1893
(u_longlong_t)spa_guid(spa));
usr/src/uts/common/fs/zfs/vdev.c
1938
if (spa->spa_trust_config && !spa->spa_extreme_rewind) {
usr/src/uts/common/fs/zfs/vdev.c
1979
if (!(spa->spa_import_flags & ZFS_IMPORT_VERBATIM) &&
usr/src/uts/common/fs/zfs/vdev.c
1980
spa_load_state(spa) == SPA_LOAD_OPEN &&
usr/src/uts/common/fs/zfs/vdev.c
1983
"for spa %s", (u_longlong_t)state, spa->spa_name);
usr/src/uts/common/fs/zfs/vdev.c
2115
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2118
ASSERT(spa_config_held(spa, SCL_STATE_ALL, RW_WRITER) == SCL_STATE_ALL);
usr/src/uts/common/fs/zfs/vdev.c
2148
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2150
ASSERT(spa_is_root(spa));
usr/src/uts/common/fs/zfs/vdev.c
2151
if (spa->spa_state == POOL_STATE_UNINITIALIZED)
usr/src/uts/common/fs/zfs/vdev.c
2164
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2166
ASSERT(spa_is_root(spa));
usr/src/uts/common/fs/zfs/vdev.c
2183
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2185
ASSERT(spa_config_held(spa, SCL_STATE_ALL, RW_WRITER) == SCL_STATE_ALL);
usr/src/uts/common/fs/zfs/vdev.c
2200
vd->vdev_aux == &spa->spa_l2cache) {
usr/src/uts/common/fs/zfs/vdev.c
2212
l2arc_add_vdev(spa, vd);
usr/src/uts/common/fs/zfs/vdev.c
2214
spa_async_request(spa, SPA_ASYNC_L2CACHE_REBUILD);
usr/src/uts/common/fs/zfs/vdev.c
2503
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2504
dsl_scan_t *scn = spa->spa_dsl_pool->dp_scan;
usr/src/uts/common/fs/zfs/vdev.c
2540
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2544
ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
usr/src/uts/common/fs/zfs/vdev.c
2550
if (vd == spa->spa_root_vdev || !vdev_is_concrete(vd) || vd->vdev_aux)
usr/src/uts/common/fs/zfs/vdev.c
2554
dsl_scan_t *scn = spa->spa_dsl_pool->dp_scan;
usr/src/uts/common/fs/zfs/vdev.c
2571
(u_longlong_t)scrub_txg, spa->spa_scrub_started,
usr/src/uts/common/fs/zfs/vdev.c
2584
(spa->spa_scrub_started ||
usr/src/uts/common/fs/zfs/vdev.c
2678
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2679
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/vdev.c
2711
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2712
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/vdev.c
2728
spa_activate_allocation_classes(spa, tx);
usr/src/uts/common/fs/zfs/vdev.c
2735
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2737
VERIFY0(zap_destroy(spa->spa_meta_objset, zapobj, tx));
usr/src/uts/common/fs/zfs/vdev.c
2738
VERIFY0(zap_remove_int(spa->spa_meta_objset, spa->spa_all_vdev_zaps,
usr/src/uts/common/fs/zfs/vdev.c
2745
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2746
uint64_t zap = zap_create(spa->spa_meta_objset, DMU_OTN_ZAP_METADATA,
usr/src/uts/common/fs/zfs/vdev.c
2750
VERIFY0(zap_add_int(spa->spa_meta_objset, spa->spa_all_vdev_zaps,
usr/src/uts/common/fs/zfs/vdev.c
2781
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2783
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/vdev.c
2791
tx = dmu_tx_create_assigned(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/vdev.c
2844
"new object %llu", (u_longlong_t)txg, spa_name(spa),
usr/src/uts/common/fs/zfs/vdev.c
2860
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
2865
ASSERT(spa_config_held(spa, SCL_STATE_ALL, RW_WRITER) == SCL_STATE_ALL);
usr/src/uts/common/fs/zfs/vdev.c
2867
if (vd == spa->spa_root_vdev || vd == tvd)
usr/src/uts/common/fs/zfs/vdev.c
295
vdev_lookup_top(spa_t *spa, uint64_t vdev)
usr/src/uts/common/fs/zfs/vdev.c
2969
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
297
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev.c
2972
if (zap_lookup(spa->spa_meta_objset, vd->vdev_top_zap,
usr/src/uts/common/fs/zfs/vdev.c
299
ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
usr/src/uts/common/fs/zfs/vdev.c
3161
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
3165
ASSERT3U(txg, ==, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/vdev.c
3167
dmu_tx_t *tx = dmu_tx_create_assigned(spa_get_dsl(spa), txg);
usr/src/uts/common/fs/zfs/vdev.c
3197
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
3201
ASSERT3U(txg, ==, spa->spa_syncing_txg);
usr/src/uts/common/fs/zfs/vdev.c
3202
dmu_tx_t *tx = dmu_tx_create_assigned(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/vdev.c
3227
vd->vdev_ms_array = dmu_object_alloc(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/vdev.c
3248
(void) txg_list_add(&spa->spa_vdev_txg_list, vd, TXG_CLEAN(txg));
usr/src/uts/common/fs/zfs/vdev.c
3263
vdev_fault(spa_t *spa, uint64_t guid, vdev_aux_t aux)
usr/src/uts/common/fs/zfs/vdev.c
3267
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/vdev.c
3269
if ((vd = spa_lookup_by_guid(spa, guid, B_TRUE)) == NULL)
usr/src/uts/common/fs/zfs/vdev.c
3270
return (spa_vdev_state_exit(spa, NULL, ENODEV));
usr/src/uts/common/fs/zfs/vdev.c
3273
return (spa_vdev_state_exit(spa, NULL, ENOTSUP));
usr/src/uts/common/fs/zfs/vdev.c
3310
return (spa_vdev_state_exit(spa, vd, 0));
usr/src/uts/common/fs/zfs/vdev.c
3319
vdev_degrade(spa_t *spa, uint64_t guid, vdev_aux_t aux)
usr/src/uts/common/fs/zfs/vdev.c
3323
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/vdev.c
3325
if ((vd = spa_lookup_by_guid(spa, guid, B_TRUE)) == NULL)
usr/src/uts/common/fs/zfs/vdev.c
3326
return (spa_vdev_state_exit(spa, NULL, ENODEV));
usr/src/uts/common/fs/zfs/vdev.c
3329
return (spa_vdev_state_exit(spa, NULL, ENOTSUP));
usr/src/uts/common/fs/zfs/vdev.c
3335
return (spa_vdev_state_exit(spa, NULL, 0));
usr/src/uts/common/fs/zfs/vdev.c
3342
return (spa_vdev_state_exit(spa, vd, 0));
usr/src/uts/common/fs/zfs/vdev.c
3354
vdev_online(spa_t *spa, uint64_t guid, uint64_t flags, vdev_state_t *newstate)
usr/src/uts/common/fs/zfs/vdev.c
3356
vdev_t *vd, *tvd, *pvd, *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev.c
3360
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/vdev.c
3362
if ((vd = spa_lookup_by_guid(spa, guid, B_TRUE)) == NULL)
usr/src/uts/common/fs/zfs/vdev.c
3363
return (spa_vdev_state_exit(spa, NULL, ENODEV));
usr/src/uts/common/fs/zfs/vdev.c
3366
return (spa_vdev_state_exit(spa, NULL, ENOTSUP));
usr/src/uts/common/fs/zfs/vdev.c
3399
if ((flags & ZFS_ONLINE_EXPAND) || spa->spa_autoexpand) {
usr/src/uts/common/fs/zfs/vdev.c
340
vdev_count_leaves(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev.c
3403
return (spa_vdev_state_exit(spa, vd, ENOTSUP));
usr/src/uts/common/fs/zfs/vdev.c
3404
spa_async_request(spa, SPA_ASYNC_CONFIG_UPDATE);
usr/src/uts/common/fs/zfs/vdev.c
3429
spa_event_notify(spa, vd, NULL, ESC_ZFS_VDEV_ONLINE);
usr/src/uts/common/fs/zfs/vdev.c
3431
return (spa_vdev_state_exit(spa, vd, 0));
usr/src/uts/common/fs/zfs/vdev.c
3435
vdev_offline_locked(spa_t *spa, uint64_t guid, uint64_t flags)
usr/src/uts/common/fs/zfs/vdev.c
344
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev.c
3443
spa_vdev_state_enter(spa, SCL_ALLOC);
usr/src/uts/common/fs/zfs/vdev.c
3445
if ((vd = spa_lookup_by_guid(spa, guid, B_TRUE)) == NULL)
usr/src/uts/common/fs/zfs/vdev.c
3446
return (spa_vdev_state_exit(spa, NULL, ENODEV));
usr/src/uts/common/fs/zfs/vdev.c
3449
return (spa_vdev_state_exit(spa, NULL, ENOTSUP));
usr/src/uts/common/fs/zfs/vdev.c
345
rc = vdev_count_leaves_impl(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/vdev.c
3453
generation = spa->spa_config_generation + 1;
usr/src/uts/common/fs/zfs/vdev.c
346
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/vdev.c
3466
return (spa_vdev_state_exit(spa, NULL, EBUSY));
usr/src/uts/common/fs/zfs/vdev.c
3479
(void) spa_vdev_state_exit(spa, vd, 0);
usr/src/uts/common/fs/zfs/vdev.c
3481
error = spa_reset_logs(spa);
usr/src/uts/common/fs/zfs/vdev.c
3492
spa_vdev_state_enter(spa, SCL_ALLOC);
usr/src/uts/common/fs/zfs/vdev.c
3497
if (error || generation != spa->spa_config_generation) {
usr/src/uts/common/fs/zfs/vdev.c
3500
return (spa_vdev_state_exit(spa,
usr/src/uts/common/fs/zfs/vdev.c
3502
(void) spa_vdev_state_exit(spa, vd, 0);
usr/src/uts/common/fs/zfs/vdev.c
3521
return (spa_vdev_state_exit(spa, NULL, EBUSY));
usr/src/uts/common/fs/zfs/vdev.c
3534
return (spa_vdev_state_exit(spa, vd, 0));
usr/src/uts/common/fs/zfs/vdev.c
3538
vdev_offline(spa_t *spa, uint64_t guid, uint64_t flags)
usr/src/uts/common/fs/zfs/vdev.c
3542
mutex_enter(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/vdev.c
3543
error = vdev_offline_locked(spa, guid, flags);
usr/src/uts/common/fs/zfs/vdev.c
3544
mutex_exit(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/vdev.c
3555
vdev_clear(spa_t *spa, vdev_t *vd)
usr/src/uts/common/fs/zfs/vdev.c
3557
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev.c
3559
ASSERT(spa_config_held(spa, SCL_STATE_ALL, RW_WRITER) == SCL_STATE_ALL);
usr/src/uts/common/fs/zfs/vdev.c
357
spa_t *spa = cvd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
3570
vdev_clear(spa, vd->vdev_child[c]);
usr/src/uts/common/fs/zfs/vdev.c
359
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/vdev.c
3607
!dsl_scan_resilvering(spa->spa_dsl_pool) &&
usr/src/uts/common/fs/zfs/vdev.c
3608
!dsl_scan_resilver_scheduled(spa->spa_dsl_pool))
usr/src/uts/common/fs/zfs/vdev.c
3609
spa_async_request(spa, SPA_ASYNC_RESILVER_DONE);
usr/src/uts/common/fs/zfs/vdev.c
3611
spa_event_notify(spa, vd, NULL, ESC_ZFS_VDEV_CLEAR);
usr/src/uts/common/fs/zfs/vdev.c
3808
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
3852
spa->spa_bootsize, 1ULL << tvd->vdev_ms_shift);
usr/src/uts/common/fs/zfs/vdev.c
3899
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev.c
3900
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev.c
3943
&spa->spa_dsl_pool->dp_scan->scn_phys;
usr/src/uts/common/fs/zfs/vdev.c
4029
if (spa->spa_load_state == SPA_LOAD_NONE &&
usr/src/uts/common/fs/zfs/vdev.c
4033
spa->spa_claiming)) {
usr/src/uts/common/fs/zfs/vdev.c
4053
ASSERT(spa_sync_pass(spa) == 1);
usr/src/uts/common/fs/zfs/vdev.c
4055
commit_txg = spa_syncing_txg(spa);
usr/src/uts/common/fs/zfs/vdev.c
4056
} else if (spa->spa_claiming) {
usr/src/uts/common/fs/zfs/vdev.c
4058
commit_txg = spa_first_txg(spa);
usr/src/uts/common/fs/zfs/vdev.c
4060
ASSERT(commit_txg >= spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/vdev.c
4090
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
4091
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev.c
4134
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
4135
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev.c
4138
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/vdev.c
4177
aux[c] = vdev_config_generate(spa, vd, B_TRUE, 0);
usr/src/uts/common/fs/zfs/vdev.c
4188
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_WRITER) ||
usr/src/uts/common/fs/zfs/vdev.c
4189
(dsl_pool_sync_context(spa_get_dsl(spa)) &&
usr/src/uts/common/fs/zfs/vdev.c
4190
spa_config_held(spa, SCL_CONFIG, RW_READER)));
usr/src/uts/common/fs/zfs/vdev.c
4200
list_insert_head(&spa->spa_config_dirty_list, vd);
usr/src/uts/common/fs/zfs/vdev.c
4208
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
4210
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_WRITER) ||
usr/src/uts/common/fs/zfs/vdev.c
4211
(dsl_pool_sync_context(spa_get_dsl(spa)) &&
usr/src/uts/common/fs/zfs/vdev.c
4212
spa_config_held(spa, SCL_CONFIG, RW_READER)));
usr/src/uts/common/fs/zfs/vdev.c
4215
list_remove(&spa->spa_config_dirty_list, vd);
usr/src/uts/common/fs/zfs/vdev.c
4227
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
4229
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/vdev.c
4238
ASSERT(spa_config_held(spa, SCL_STATE, RW_WRITER) ||
usr/src/uts/common/fs/zfs/vdev.c
4239
(dsl_pool_sync_context(spa_get_dsl(spa)) &&
usr/src/uts/common/fs/zfs/vdev.c
4240
spa_config_held(spa, SCL_STATE, RW_READER)));
usr/src/uts/common/fs/zfs/vdev.c
4244
list_insert_head(&spa->spa_state_dirty_list, vd);
usr/src/uts/common/fs/zfs/vdev.c
425
spa_t *spa = cvd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
4250
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
4252
ASSERT(spa_config_held(spa, SCL_STATE, RW_WRITER) ||
usr/src/uts/common/fs/zfs/vdev.c
4253
(dsl_pool_sync_context(spa_get_dsl(spa)) &&
usr/src/uts/common/fs/zfs/vdev.c
4254
spa_config_held(spa, SCL_STATE, RW_READER)));
usr/src/uts/common/fs/zfs/vdev.c
4257
list_remove(&spa->spa_state_dirty_list, vd);
usr/src/uts/common/fs/zfs/vdev.c
426
list_remove(&spa->spa_leaf_list, cvd);
usr/src/uts/common/fs/zfs/vdev.c
4266
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
4267
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev.c
427
spa->spa_leaf_list_gen++;
usr/src/uts/common/fs/zfs/vdev.c
4284
(!vdev_writeable(child) && spa_writeable(spa))) {
usr/src/uts/common/fs/zfs/vdev.c
4332
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
4369
zfs_post_state_change(spa, vd);
usr/src/uts/common/fs/zfs/vdev.c
4394
if ((spa_load_state(spa) == SPA_LOAD_IMPORT ||
usr/src/uts/common/fs/zfs/vdev.c
4395
spa_load_state(spa) == SPA_LOAD_RECOVER) &&
usr/src/uts/common/fs/zfs/vdev.c
4416
vd != spa->spa_root_vdev) {
usr/src/uts/common/fs/zfs/vdev.c
4445
(void) zfs_ereport_post(class, spa, vd, NULL, NULL,
usr/src/uts/common/fs/zfs/vdev.c
4578
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
4589
if (delta > spa_deadman_synctime(spa)) {
usr/src/uts/common/fs/zfs/vdev.c
4595
"hung.", spa_name(spa));
usr/src/uts/common/fs/zfs/vdev.c
4620
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
4627
if (vd == spa->spa_root_vdev &&
usr/src/uts/common/fs/zfs/vdev.c
4628
spa_feature_is_active(spa, SPA_FEATURE_RESILVER_DEFER)) {
usr/src/uts/common/fs/zfs/vdev.c
4629
spa_feature_decr(spa, SPA_FEATURE_RESILVER_DEFER, tx);
usr/src/uts/common/fs/zfs/vdev.c
4631
spa->spa_resilver_deferred = B_FALSE;
usr/src/uts/common/fs/zfs/vdev.c
483
vdev_alloc_common(spa_t *spa, uint_t id, uint64_t guid, vdev_ops_t *ops)
usr/src/uts/common/fs/zfs/vdev.c
491
if (spa->spa_root_vdev == NULL) {
usr/src/uts/common/fs/zfs/vdev.c
493
spa->spa_root_vdev = vd;
usr/src/uts/common/fs/zfs/vdev.c
494
spa->spa_load_guid = spa_generate_guid(NULL);
usr/src/uts/common/fs/zfs/vdev.c
498
if (spa->spa_root_vdev == vd) {
usr/src/uts/common/fs/zfs/vdev.c
508
guid = spa_generate_guid(spa);
usr/src/uts/common/fs/zfs/vdev.c
510
ASSERT(!spa_guid_exists(spa_guid(spa), guid));
usr/src/uts/common/fs/zfs/vdev.c
513
vd->vdev_spa = spa;
usr/src/uts/common/fs/zfs/vdev.c
549
txg_list_create(&vd->vdev_ms_list, spa,
usr/src/uts/common/fs/zfs/vdev.c
551
txg_list_create(&vd->vdev_dtl_list, spa,
usr/src/uts/common/fs/zfs/vdev.c
566
vdev_alloc(spa_t *spa, vdev_t **vdp, nvlist_t *nv, vdev_t *parent, uint_t id,
usr/src/uts/common/fs/zfs/vdev.c
577
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/vdev.c
612
if (ops != &vdev_root_ops && spa->spa_root_vdev == NULL)
usr/src/uts/common/fs/zfs/vdev.c
620
if (islog && spa_version(spa) < SPA_VERSION_SLOGS)
usr/src/uts/common/fs/zfs/vdev.c
623
if (ops == &vdev_hole_ops && spa_version(spa) < SPA_VERSION_HOLES)
usr/src/uts/common/fs/zfs/vdev.c
640
spa_version(spa) < SPA_VERSION_RAIDZ2)
usr/src/uts/common/fs/zfs/vdev.c
643
spa_version(spa) < SPA_VERSION_RAIDZ3)
usr/src/uts/common/fs/zfs/vdev.c
650
if (spa_version(spa) >= SPA_VERSION_RAIDZ2)
usr/src/uts/common/fs/zfs/vdev.c
674
spa->spa_load_state != SPA_LOAD_CREATE &&
usr/src/uts/common/fs/zfs/vdev.c
675
!spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/vdev.c
682
vd = vdev_alloc_common(spa, id, guid, ops);
usr/src/uts/common/fs/zfs/vdev.c
808
if (spa_load_state(spa) == SPA_LOAD_OPEN) {
usr/src/uts/common/fs/zfs/vdev.c
842
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev.c
962
if (vd == spa->spa_root_vdev)
usr/src/uts/common/fs/zfs/vdev.c
963
spa->spa_root_vdev = NULL;
usr/src/uts/common/fs/zfs/vdev.c
974
spa_t *spa = svd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_disk.c
289
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_disk.c
374
error = ldi_open_by_name((char *)rdpath, spa_mode(spa), kcred,
usr/src/uts/common/fs/zfs/vdev_disk.c
387
error = ldi_open_by_name(buf, spa_mode(spa), kcred,
usr/src/uts/common/fs/zfs/vdev_disk.c
403
error = ldi_open_by_name(vd->vdev_path, spa_mode(spa),
usr/src/uts/common/fs/zfs/vdev_disk.c
438
(void) ldi_close(dvd->vd_lh, spa_mode(spa),
usr/src/uts/common/fs/zfs/vdev_disk.c
462
spa_mode(spa), kcred, &dvd->vd_lh, zfs_li);
usr/src/uts/common/fs/zfs/vdev_disk.c
480
error = ldi_open_by_dev(&dev, OTYP_BLK, spa_mode(spa),
usr/src/uts/common/fs/zfs/vdev_disk.c
490
error = ldi_open_by_name(vd->vdev_path, spa_mode(spa),
usr/src/uts/common/fs/zfs/vdev_disk.c
501
spa_guid(spa), vd->vdev_guid);
usr/src/uts/common/fs/zfs/vdev_disk.c
510
spa_mode(spa), kcred, &dvd->vd_lh, zfs_li)) != 0) {
usr/src/uts/common/fs/zfs/vdev_indirect.c
1041
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1051
ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1113
vdev_t *dst_v = vdev_lookup_top(spa, dst_vdev);
usr/src/uts/common/fs/zfs/vdev_indirect.c
1280
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_indirect.c
1288
ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
usr/src/uts/common/fs/zfs/vdev_indirect.c
326
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_indirect.c
334
if (spa_feature_is_enabled(spa, SPA_FEATURE_OBSOLETE_COUNTS)) {
usr/src/uts/common/fs/zfs/vdev_indirect.c
338
vdev_dirty(vd, 0, NULL, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/vdev_indirect.c
348
spa_vdev_indirect_mark_obsolete(spa_t *spa, uint64_t vdev_id, uint64_t offset,
usr/src/uts/common/fs/zfs/vdev_indirect.c
351
vdev_t *vd = vdev_lookup_top(spa, vdev_id);
usr/src/uts/common/fs/zfs/vdev_indirect.c
360
spa_condensing_indirect_create(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_indirect.c
363
&spa->spa_condensing_indirect_phys;
usr/src/uts/common/fs/zfs/vdev_indirect.c
365
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/vdev_indirect.c
395
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_indirect.c
397
ASSERT(dsl_pool_sync_context(spa->spa_dsl_pool));
usr/src/uts/common/fs/zfs/vdev_indirect.c
405
if (spa->spa_condensing_indirect != NULL)
usr/src/uts/common/fs/zfs/vdev_indirect.c
408
if (spa_shutting_down(spa))
usr/src/uts/common/fs/zfs/vdev_indirect.c
482
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_indirect.c
484
&spa->spa_condensing_indirect_phys;
usr/src/uts/common/fs/zfs/vdev_indirect.c
485
vdev_t *vd = vdev_lookup_top(spa, scip->scip_vdev);
usr/src/uts/common/fs/zfs/vdev_indirect.c
487
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/vdev_indirect.c
495
ASSERT3P(sci, ==, spa->spa_condensing_indirect);
usr/src/uts/common/fs/zfs/vdev_indirect.c
518
spa_feature_decr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
usr/src/uts/common/fs/zfs/vdev_indirect.c
525
spa_condensing_indirect_destroy(spa->spa_condensing_indirect);
usr/src/uts/common/fs/zfs/vdev_indirect.c
526
spa->spa_condensing_indirect = NULL;
usr/src/uts/common/fs/zfs/vdev_indirect.c
534
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/vdev_indirect.c
545
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_indirect.c
548
ASSERT3P(sci, ==, spa->spa_condensing_indirect);
usr/src/uts/common/fs/zfs/vdev_indirect.c
560
spa_condense_indirect_commit_entry(spa_t *spa,
usr/src/uts/common/fs/zfs/vdev_indirect.c
563
spa_condensing_indirect_t *sci = spa->spa_condensing_indirect;
usr/src/uts/common/fs/zfs/vdev_indirect.c
567
dmu_tx_t *tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/vdev_indirect.c
595
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_indirect.c
602
ASSERT3U(vd->vdev_id, ==, spa->spa_condensing_indirect_phys.scip_vdev);
usr/src/uts/common/fs/zfs/vdev_indirect.c
622
spa_condense_indirect_commit_entry(spa, entry,
usr/src/uts/common/fs/zfs/vdev_indirect.c
640
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/vdev_indirect.c
642
return (spa->spa_condensing_indirect != NULL);
usr/src/uts/common/fs/zfs/vdev_indirect.c
649
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/vdev_indirect.c
652
ASSERT3P(spa->spa_condensing_indirect, !=, NULL);
usr/src/uts/common/fs/zfs/vdev_indirect.c
653
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_indirect.c
654
vd = vdev_lookup_top(spa, spa->spa_condensing_indirect_phys.scip_vdev);
usr/src/uts/common/fs/zfs/vdev_indirect.c
656
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/vdev_indirect.c
658
spa_condensing_indirect_t *sci = spa->spa_condensing_indirect;
usr/src/uts/common/fs/zfs/vdev_indirect.c
660
&spa->spa_condensing_indirect_phys;
usr/src/uts/common/fs/zfs/vdev_indirect.c
682
VERIFY0(space_map_open(&prev_obsolete_sm, spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/vdev_indirect.c
744
VERIFY0(dsl_sync_task(spa_name(spa), NULL,
usr/src/uts/common/fs/zfs/vdev_indirect.c
755
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_indirect.c
757
&spa->spa_condensing_indirect_phys;
usr/src/uts/common/fs/zfs/vdev_indirect.c
764
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_OBSOLETE_COUNTS));
usr/src/uts/common/fs/zfs/vdev_indirect.c
772
vdev_indirect_mapping_alloc(spa->spa_meta_objset, tx);
usr/src/uts/common/fs/zfs/vdev_indirect.c
782
VERIFY0(zap_remove(spa->spa_meta_objset, vd->vdev_top_zap,
usr/src/uts/common/fs/zfs/vdev_indirect.c
785
VERIFY0(zap_add(spa->spa_dsl_pool->dp_meta_objset,
usr/src/uts/common/fs/zfs/vdev_indirect.c
790
ASSERT3P(spa->spa_condensing_indirect, ==, NULL);
usr/src/uts/common/fs/zfs/vdev_indirect.c
791
spa->spa_condensing_indirect = spa_condensing_indirect_create(spa);
usr/src/uts/common/fs/zfs/vdev_indirect.c
799
zthr_wakeup(spa->spa_condense_zthr);
usr/src/uts/common/fs/zfs/vdev_indirect.c
811
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_indirect.c
817
ASSERT(spa_feature_is_enabled(spa, SPA_FEATURE_OBSOLETE_COUNTS));
usr/src/uts/common/fs/zfs/vdev_indirect.c
821
space_map_alloc(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/vdev_indirect.c
830
spa_feature_incr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
usr/src/uts/common/fs/zfs/vdev_indirect.c
832
spa->spa_meta_objset, obsolete_sm_object,
usr/src/uts/common/fs/zfs/vdev_indirect.c
846
spa_condense_init(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_indirect.c
848
int error = zap_lookup(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/vdev_indirect.c
851
sizeof (spa->spa_condensing_indirect_phys) / sizeof (uint64_t),
usr/src/uts/common/fs/zfs/vdev_indirect.c
852
&spa->spa_condensing_indirect_phys);
usr/src/uts/common/fs/zfs/vdev_indirect.c
854
if (spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/vdev_indirect.c
855
spa->spa_condensing_indirect =
usr/src/uts/common/fs/zfs/vdev_indirect.c
856
spa_condensing_indirect_create(spa);
usr/src/uts/common/fs/zfs/vdev_indirect.c
867
spa_condense_fini(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_indirect.c
869
if (spa->spa_condensing_indirect != NULL) {
usr/src/uts/common/fs/zfs/vdev_indirect.c
870
spa_condensing_indirect_destroy(spa->spa_condensing_indirect);
usr/src/uts/common/fs/zfs/vdev_indirect.c
871
spa->spa_condensing_indirect = NULL;
usr/src/uts/common/fs/zfs/vdev_indirect.c
876
spa_start_indirect_condensing_thread(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_indirect.c
878
ASSERT3P(spa->spa_condense_zthr, ==, NULL);
usr/src/uts/common/fs/zfs/vdev_indirect.c
879
spa->spa_condense_zthr = zthr_create(spa_condense_indirect_thread_check,
usr/src/uts/common/fs/zfs/vdev_indirect.c
880
spa_condense_indirect_thread, spa);
usr/src/uts/common/fs/zfs/vdev_initialize.c
103
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_initialize.c
122
dmu_tx_t *tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/vdev_initialize.c
124
dsl_sync_task_nowait(spa_get_dsl(spa), vdev_initialize_zap_update_sync,
usr/src/uts/common/fs/zfs/vdev_initialize.c
129
spa_history_log_internal(spa, "initialize", tx,
usr/src/uts/common/fs/zfs/vdev_initialize.c
133
spa_history_log_internal(spa, "initialize", tx,
usr/src/uts/common/fs/zfs/vdev_initialize.c
137
spa_history_log_internal(spa, "initialize", tx,
usr/src/uts/common/fs/zfs/vdev_initialize.c
141
spa_history_log_internal(spa, "initialize", tx,
usr/src/uts/common/fs/zfs/vdev_initialize.c
188
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_initialize.c
199
dmu_tx_t *tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/vdev_initialize.c
203
spa_config_enter(spa, SCL_STATE_ALL, vd, RW_READER);
usr/src/uts/common/fs/zfs/vdev_initialize.c
211
dsl_sync_task_nowait(spa_get_dsl(spa),
usr/src/uts/common/fs/zfs/vdev_initialize.c
233
zio_nowait(zio_write_phys(spa->spa_txg_zio[txg & TXG_MASK], vd, start,
usr/src/uts/common/fs/zfs/vdev_initialize.c
466
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_initialize.c
471
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_initialize.c
495
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_initialize.c
508
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_initialize.c
515
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_initialize.c
542
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/vdev_initialize.c
589
vdev_initialize_stop_wait(spa_t *spa, list_t *vd_list)
usr/src/uts/common/fs/zfs/vdev_initialize.c
664
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_initialize.c
673
vdev_initialize_stop_wait(spa, &vd_list);
usr/src/uts/common/fs/zfs/vdev_label.c
1062
spa_version(spa)) == 0);
usr/src/uts/common/fs/zfs/vdev_label.c
1075
spa_version(spa)) == 0);
usr/src/uts/common/fs/zfs/vdev_label.c
1084
txg = spa->spa_uberblock.ub_txg;
usr/src/uts/common/fs/zfs/vdev_label.c
1085
label = spa_config_generate(spa, vd, txg, B_FALSE);
usr/src/uts/common/fs/zfs/vdev_label.c
1112
abd_copy_from_buf(ub_abd, &spa->spa_uberblock, sizeof (uberblock_t));
usr/src/uts/common/fs/zfs/vdev_label.c
1124
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1230
spa_t *spa = rvd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
1236
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/vdev_label.c
1238
zio_t *zio = zio_root(spa, NULL, &abd, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1296
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
1311
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/vdev_label.c
1366
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1443
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
1452
if (ub->ub_txg <= spa->spa_load_max_txg &&
usr/src/uts/common/fs/zfs/vdev_label.c
1499
spa_t *spa = rvd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
1513
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/vdev_label.c
1514
zio = zio_root(spa, NULL, &cb, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1526
"txg %llu", spa->spa_name, (u_longlong_t)ub->ub_txg);
usr/src/uts/common/fs/zfs/vdev_label.c
1529
if (*config == NULL && spa->spa_extreme_rewind) {
usr/src/uts/common/fs/zfs/vdev_label.c
1538
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/vdev_label.c
1593
spa_t *spa = svd[0]->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
1597
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1609
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1708
vdev_label_sync_list(spa_t *spa, int l, uint64_t txg, int flags)
usr/src/uts/common/fs/zfs/vdev_label.c
1710
list_t *dl = &spa->spa_config_dirty_list;
usr/src/uts/common/fs/zfs/vdev_label.c
1718
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1726
zio_t *vio = zio_null(zio, spa, NULL,
usr/src/uts/common/fs/zfs/vdev_label.c
1739
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1763
spa_t *spa = svd[0]->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
1764
uberblock_t *ub = &spa->spa_uberblock;
usr/src/uts/common/fs/zfs/vdev_label.c
1792
boolean_t changed = uberblock_update(ub, spa->spa_root_vdev,
usr/src/uts/common/fs/zfs/vdev_label.c
1793
txg, spa->spa_mmp.mmp_delay);
usr/src/uts/common/fs/zfs/vdev_label.c
1795
if (!changed && list_is_empty(&spa->spa_config_dirty_list))
usr/src/uts/common/fs/zfs/vdev_label.c
1799
if (txg > spa_freeze_txg(spa))
usr/src/uts/common/fs/zfs/vdev_label.c
1802
ASSERT(txg <= spa->spa_final_txg);
usr/src/uts/common/fs/zfs/vdev_label.c
1810
zio_t *zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
1813
txg_list_head(&spa->spa_vdev_txg_list, TXG_CLEAN(txg)); vd != NULL;
usr/src/uts/common/fs/zfs/vdev_label.c
1814
vd = txg_list_next(&spa->spa_vdev_txg_list, vd, TXG_CLEAN(txg)))
usr/src/uts/common/fs/zfs/vdev_label.c
1828
if ((error = vdev_label_sync_list(spa, 0, txg, flags)) != 0) {
usr/src/uts/common/fs/zfs/vdev_label.c
1832
"of dirty vdevs", error, spa_name(spa));
usr/src/uts/common/fs/zfs/vdev_label.c
1855
"%d for pool '%s'", error, spa_name(spa));
usr/src/uts/common/fs/zfs/vdev_label.c
1860
if (spa_multihost(spa))
usr/src/uts/common/fs/zfs/vdev_label.c
1861
mmp_update_uberblock(spa, ub);
usr/src/uts/common/fs/zfs/vdev_label.c
1873
if ((error = vdev_label_sync_list(spa, 1, txg, flags)) != 0) {
usr/src/uts/common/fs/zfs/vdev_label.c
1877
"dirty vdevs", error, spa_name(spa));
usr/src/uts/common/fs/zfs/vdev_label.c
383
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
385
if (vd != spa->spa_root_vdev)
usr/src/uts/common/fs/zfs/vdev_label.c
390
if (spa_scan_get_stats(spa, &ps) == 0) {
usr/src/uts/common/fs/zfs/vdev_label.c
397
if (spa_removal_get_stats(spa, &prs) == 0) {
usr/src/uts/common/fs/zfs/vdev_label.c
404
if (spa_checkpoint_get_stats(spa, &pcs) == 0) {
usr/src/uts/common/fs/zfs/vdev_label.c
415
vdev_config_generate(spa_t *spa, vdev_t *vd, boolean_t getstats,
usr/src/uts/common/fs/zfs/vdev_label.c
451
spa_version(spa) >= SPA_VERSION_RAIDZ2) ||
usr/src/uts/common/fs/zfs/vdev_label.c
453
spa_version(spa) >= SPA_VERSION_RAIDZ3));
usr/src/uts/common/fs/zfs/vdev_label.c
549
ASSERT(spa->spa_resilver_deferred);
usr/src/uts/common/fs/zfs/vdev_label.c
650
child[idx++] = vdev_config_generate(spa, cvd,
usr/src/uts/common/fs/zfs/vdev_label.c
712
vdev_top_config_generate(spa_t *spa, nvlist_t *config)
usr/src/uts/common/fs/zfs/vdev_label.c
714
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev_label.c
750
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
761
ASSERT(spa_config_held(spa, SCL_STATE_ALL, RW_WRITER) == SCL_STATE_ALL);
usr/src/uts/common/fs/zfs/vdev_label.c
773
zio = zio_root(spa, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/vdev_label.c
834
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
900
spa_has_spare(spa, device_guid)) {
usr/src/uts/common/fs/zfs/vdev_label.c
910
return (!spa_has_spare(spa, device_guid) ||
usr/src/uts/common/fs/zfs/vdev_label.c
914
return (spa_has_spare(spa, device_guid));
usr/src/uts/common/fs/zfs/vdev_label.c
930
(spa = spa_by_guid(pool_guid, device_guid)) != NULL &&
usr/src/uts/common/fs/zfs/vdev_label.c
931
spa_mode(spa) == FREAD)
usr/src/uts/common/fs/zfs/vdev_label.c
952
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_label.c
966
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/vdev_label.c
976
if (!vd->vdev_ops->vdev_op_leaf || !spa_writeable(spa))
usr/src/uts/common/fs/zfs/vdev_mirror.c
253
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_mirror.c
257
if (spa->spa_dsl_pool != NULL) {
usr/src/uts/common/fs/zfs/vdev_mirror.c
258
scn = spa->spa_dsl_pool->dp_scan;
usr/src/uts/common/fs/zfs/vdev_mirror.c
279
dsl_scan_scrubbing(spa->spa_dsl_pool)) {
usr/src/uts/common/fs/zfs/vdev_mirror.c
289
if (!spa_trust_config(spa)) {
usr/src/uts/common/fs/zfs/vdev_mirror.c
293
if (zfs_dva_valid(spa, &dva[i], zio->io_bp))
usr/src/uts/common/fs/zfs/vdev_mirror.c
311
mc->mc_vd = vdev_lookup_top(spa, DVA_GET_VDEV(&dva[c]));
usr/src/uts/common/fs/zfs/vdev_queue.c
318
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
324
mutex_enter(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/vdev_queue.c
325
spa->spa_queue_stats[zio->io_priority].spa_queued++;
usr/src/uts/common/fs/zfs/vdev_queue.c
326
if (spa->spa_iokstat != NULL)
usr/src/uts/common/fs/zfs/vdev_queue.c
327
kstat_waitq_enter(spa->spa_iokstat->ks_data);
usr/src/uts/common/fs/zfs/vdev_queue.c
328
mutex_exit(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/vdev_queue.c
334
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
340
mutex_enter(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/vdev_queue.c
341
ASSERT3U(spa->spa_queue_stats[zio->io_priority].spa_queued, >, 0);
usr/src/uts/common/fs/zfs/vdev_queue.c
342
spa->spa_queue_stats[zio->io_priority].spa_queued--;
usr/src/uts/common/fs/zfs/vdev_queue.c
343
if (spa->spa_iokstat != NULL)
usr/src/uts/common/fs/zfs/vdev_queue.c
344
kstat_waitq_exit(spa->spa_iokstat->ks_data);
usr/src/uts/common/fs/zfs/vdev_queue.c
345
mutex_exit(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/vdev_queue.c
351
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
357
mutex_enter(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/vdev_queue.c
358
spa->spa_queue_stats[zio->io_priority].spa_active++;
usr/src/uts/common/fs/zfs/vdev_queue.c
359
if (spa->spa_iokstat != NULL)
usr/src/uts/common/fs/zfs/vdev_queue.c
360
kstat_runq_enter(spa->spa_iokstat->ks_data);
usr/src/uts/common/fs/zfs/vdev_queue.c
361
mutex_exit(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/vdev_queue.c
367
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
373
mutex_enter(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/vdev_queue.c
374
ASSERT3U(spa->spa_queue_stats[zio->io_priority].spa_active, >, 0);
usr/src/uts/common/fs/zfs/vdev_queue.c
375
spa->spa_queue_stats[zio->io_priority].spa_active--;
usr/src/uts/common/fs/zfs/vdev_queue.c
376
if (spa->spa_iokstat != NULL) {
usr/src/uts/common/fs/zfs/vdev_queue.c
377
kstat_io_t *ksio = spa->spa_iokstat->ks_data;
usr/src/uts/common/fs/zfs/vdev_queue.c
379
kstat_runq_exit(spa->spa_iokstat->ks_data);
usr/src/uts/common/fs/zfs/vdev_queue.c
388
mutex_exit(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/vdev_queue.c
432
vdev_queue_max_async_writes(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_queue.c
435
uint64_t dirty = spa->spa_dsl_pool->dp_dirty_total;
usr/src/uts/common/fs/zfs/vdev_queue.c
445
if (spa_has_pending_synctask(spa)) {
usr/src/uts/common/fs/zfs/vdev_queue.c
471
vdev_queue_class_max_active(spa_t *spa, zio_priority_t p)
usr/src/uts/common/fs/zfs/vdev_queue.c
481
return (vdev_queue_max_async_writes(spa));
usr/src/uts/common/fs/zfs/vdev_queue.c
502
spa_t *spa = vq->vq_vdev->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
523
vdev_queue_class_max_active(spa, p))
usr/src/uts/common/fs/zfs/vdev_queue.c
890
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/vdev_queue.c
897
mutex_enter(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/vdev_queue.c
898
ASSERT3U(spa->spa_queue_stats[oldpri].spa_queued, >, 0);
usr/src/uts/common/fs/zfs/vdev_queue.c
899
spa->spa_queue_stats[oldpri].spa_queued--;
usr/src/uts/common/fs/zfs/vdev_queue.c
900
spa->spa_queue_stats[zio->io_priority].spa_queued++;
usr/src/uts/common/fs/zfs/vdev_queue.c
901
mutex_exit(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/vdev_removal.c
1004
vcsa->vcsa_spa = spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1010
spa_config_enter(spa, SCL_STATE, spa, RW_READER);
usr/src/uts/common/fs/zfs/vdev_removal.c
1011
zio_t *nzio = zio_null(spa->spa_txg_zio[txg & TXG_MASK], spa, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
1013
vdev_t *dest_vd = vdev_lookup_top(spa, DVA_GET_VDEV(&dst));
usr/src/uts/common/fs/zfs/vdev_removal.c
1042
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1043
vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
1051
ASSERT3U(spa->spa_removing_phys.sr_copied, ==,
usr/src/uts/common/fs/zfs/vdev_removal.c
1052
spa->spa_removing_phys.sr_to_copy);
usr/src/uts/common/fs/zfs/vdev_removal.c
1067
spa_history_log_internal(spa, "vdev remove completed", tx,
usr/src/uts/common/fs/zfs/vdev_removal.c
1068
"%s vdev %llu", spa_name(spa), vd->vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
1094
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1095
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
1115
tx = dmu_tx_create_assigned(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/vdev_removal.c
1116
dsl_sync_task_nowait(spa->spa_dsl_pool, vdev_remove_complete_sync, svr,
usr/src/uts/common/fs/zfs/vdev_removal.c
1135
vdev_remove_complete(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_removal.c
1143
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/vdev_removal.c
1144
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1145
vdev_t *vd = vdev_lookup_top(spa, spa->spa_vdev_removal->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
1150
sysevent_t *ev = spa_event_create(spa, vd, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
1163
spa_log_sm_set_blocklimit(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1178
(void) spa_vdev_exit(spa, NULL, txg, 0);
usr/src/uts/common/fs/zfs/vdev_removal.c
1191
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1196
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/vdev_removal.c
1197
(void) spa_vdev_exit(spa, vd, txg, 0);
usr/src/uts/common/fs/zfs/vdev_removal.c
1214
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1304
ASSERT3U(spa->spa_max_ashift, >=, SPA_MINBLOCKSHIFT);
usr/src/uts/common/fs/zfs/vdev_removal.c
1305
ASSERT3U(spa->spa_max_ashift, ==, spa->spa_min_ashift);
usr/src/uts/common/fs/zfs/vdev_removal.c
1309
1 << spa->spa_max_ashift);
usr/src/uts/common/fs/zfs/vdev_removal.c
1313
ASSERT3U(attempted, >, 1 << spa->spa_max_ashift);
usr/src/uts/common/fs/zfs/vdev_removal.c
1314
*max_alloc = attempted - (1 << spa->spa_max_ashift);
usr/src/uts/common/fs/zfs/vdev_removal.c
1349
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/vdev_removal.c
1350
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
1355
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_removal.c
1356
vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
138
spa_sync_removing_state(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/vdev_removal.c
140
VERIFY0(zap_update(spa->spa_dsl_pool->dp_meta_objset,
usr/src/uts/common/fs/zfs/vdev_removal.c
143
sizeof (spa->spa_removing_phys) / sizeof (uint64_t),
usr/src/uts/common/fs/zfs/vdev_removal.c
144
&spa->spa_removing_phys, tx));
usr/src/uts/common/fs/zfs/vdev_removal.c
1443
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
1451
spa->spa_removing_phys.sr_copied;
usr/src/uts/common/fs/zfs/vdev_removal.c
1466
dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/vdev_removal.c
1476
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_removal.c
1477
vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
1492
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
1497
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/vdev_removal.c
1511
vdev_remove_complete(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1516
spa_vdev_remove_suspend(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_removal.c
1518
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
1535
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1537
if (spa->spa_vdev_removal == NULL)
usr/src/uts/common/fs/zfs/vdev_removal.c
1550
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1551
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
1552
vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
1555
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/vdev_removal.c
1559
spa_feature_decr(spa, SPA_FEATURE_DEVICE_REMOVAL, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
1561
spa_feature_decr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
1562
VERIFY0(zap_remove(spa->spa_meta_objset, vd->vdev_top_zap,
usr/src/uts/common/fs/zfs/vdev_removal.c
1572
VERIFY0(zap_remove(spa->spa_meta_objset, vd->vdev_top_zap,
usr/src/uts/common/fs/zfs/vdev_removal.c
1576
spa_feature_decr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
1665
spa_finish_removal(spa, DSS_CANCELED, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
1672
spa_history_log_internal(spa, "vdev remove canceled", tx,
usr/src/uts/common/fs/zfs/vdev_removal.c
1673
"%s vdev %llu %s", spa_name(spa),
usr/src/uts/common/fs/zfs/vdev_removal.c
1678
spa_vdev_remove_cancel(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_removal.c
1680
spa_vdev_remove_suspend(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1682
if (spa->spa_vdev_removal == NULL)
usr/src/uts/common/fs/zfs/vdev_removal.c
1685
uint64_t vdid = spa->spa_vdev_removal->svr_vdev_id;
usr/src/uts/common/fs/zfs/vdev_removal.c
1687
int error = dsl_sync_task(spa->spa_name, spa_vdev_remove_cancel_check,
usr/src/uts/common/fs/zfs/vdev_removal.c
1692
spa_config_enter(spa, SCL_ALLOC | SCL_VDEV, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/vdev_removal.c
1693
vdev_t *vd = vdev_lookup_top(spa, vdid);
usr/src/uts/common/fs/zfs/vdev_removal.c
1695
spa_config_exit(spa, SCL_ALLOC | SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
1702
svr_sync(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/vdev_removal.c
1704
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
1722
spa->spa_removing_phys.sr_copied += svr->svr_bytes_done[txgoff];
usr/src/uts/common/fs/zfs/vdev_removal.c
1725
spa_sync_removing_state(spa, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
1732
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1733
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev_removal.c
1736
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/vdev_removal.c
1740
vd = vdev_alloc_common(spa, id, 0, &vdev_hole_ops);
usr/src/uts/common/fs/zfs/vdev_removal.c
1757
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1773
spa_vdev_config_exit(spa, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
1784
error = spa_reset_logs(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1786
*txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1824
spa_log_sm_set_blocklimit(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1826
spa_history_log_internal(spa, "vdev remove", NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
1827
"%s vdev %llu (log) %s", spa_name(spa), vd->vdev_id,
usr/src/uts/common/fs/zfs/vdev_removal.c
1831
spa_vdev_config_exit(spa, NULL, *txg, 0, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
1838
*txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1840
sysevent_t *ev = spa_event_create(spa, vd, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
1843
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/vdev_removal.c
1873
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1878
if (!spa_feature_is_enabled(spa, SPA_FEATURE_DEVICE_REMOVAL))
usr/src/uts/common/fs/zfs/vdev_removal.c
1883
spa->spa_dsl_pool->dp_root_dir, NULL, 0, B_TRUE);
usr/src/uts/common/fs/zfs/vdev_removal.c
1891
if (mc != spa_normal_class(spa) && mc->mc_groups > 1) {
usr/src/uts/common/fs/zfs/vdev_removal.c
1905
if (available < vd->vdev_stat.vs_dspace + spa_get_slop_space(spa)) {
usr/src/uts/common/fs/zfs/vdev_removal.c
1912
if (spa->spa_removing_phys.sr_state == DSS_SCANNING)
usr/src/uts/common/fs/zfs/vdev_removal.c
1931
if (spa->spa_max_ashift != spa->spa_min_ashift) {
usr/src/uts/common/fs/zfs/vdev_removal.c
1939
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev_removal.c
1944
ASSERT3U(cvd->vdev_ashift, ==, spa->spa_max_ashift);
usr/src/uts/common/fs/zfs/vdev_removal.c
1978
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
2005
spa_vdev_config_exit(spa, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
2014
error = spa_reset_logs(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
2025
*txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
2036
spa_async_request(spa, SPA_ASYNC_INITIALIZE_RESTART);
usr/src/uts/common/fs/zfs/vdev_removal.c
2037
spa_async_request(spa, SPA_ASYNC_TRIM_RESTART);
usr/src/uts/common/fs/zfs/vdev_removal.c
2038
spa_async_request(spa, SPA_ASYNC_AUTOTRIM_RESTART);
usr/src/uts/common/fs/zfs/vdev_removal.c
2046
dmu_tx_t *tx = dmu_tx_create_assigned(spa->spa_dsl_pool, *txg);
usr/src/uts/common/fs/zfs/vdev_removal.c
2047
dsl_sync_task_nowait(spa->spa_dsl_pool,
usr/src/uts/common/fs/zfs/vdev_removal.c
2065
spa_vdev_remove(spa_t *spa, uint64_t guid, boolean_t unspare)
usr/src/uts/common/fs/zfs/vdev_removal.c
2075
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/vdev_removal.c
2078
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
2081
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/vdev_removal.c
2082
error = (spa_has_checkpoint(spa)) ?
usr/src/uts/common/fs/zfs/vdev_removal.c
2086
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/vdev_removal.c
2091
vd = spa_lookup_by_guid(spa, guid, B_FALSE);
usr/src/uts/common/fs/zfs/vdev_removal.c
2093
if (spa->spa_spares.sav_vdevs != NULL &&
usr/src/uts/common/fs/zfs/vdev_removal.c
2094
nvlist_lookup_nvlist_array(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/vdev_removal.c
2104
spa_history_log_internal(spa, "vdev remove", NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
2105
"%s vdev (%s) %s", spa_name(spa),
usr/src/uts/common/fs/zfs/vdev_removal.c
2108
vd = spa_lookup_by_guid(spa, guid, B_TRUE);
usr/src/uts/common/fs/zfs/vdev_removal.c
2109
ev = spa_event_create(spa, vd, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
2111
spa_vdev_remove_aux(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/vdev_removal.c
2113
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
2114
spa->spa_spares.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/vdev_removal.c
2118
} else if (spa->spa_l2cache.sav_vdevs != NULL &&
usr/src/uts/common/fs/zfs/vdev_removal.c
2119
nvlist_lookup_nvlist_array(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/vdev_removal.c
2123
spa_history_log_internal(spa, "vdev remove", NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
2124
"%s vdev (%s) %s", spa_name(spa), VDEV_TYPE_L2CACHE, nvstr);
usr/src/uts/common/fs/zfs/vdev_removal.c
2128
vd = spa_lookup_by_guid(spa, guid, B_TRUE);
usr/src/uts/common/fs/zfs/vdev_removal.c
2129
ev = spa_event_create(spa, vd, NULL, ESC_ZFS_VDEV_REMOVE_AUX);
usr/src/uts/common/fs/zfs/vdev_removal.c
2130
spa_vdev_remove_aux(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/vdev_removal.c
2132
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
2133
spa->spa_l2cache.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/vdev_removal.c
2148
error = spa_vdev_exit(spa, NULL, txg, error);
usr/src/uts/common/fs/zfs/vdev_removal.c
2162
spa_removal_get_stats(spa_t *spa, pool_removal_stat_t *prs)
usr/src/uts/common/fs/zfs/vdev_removal.c
2164
prs->prs_state = spa->spa_removing_phys.sr_state;
usr/src/uts/common/fs/zfs/vdev_removal.c
2169
prs->prs_removing_vdev = spa->spa_removing_phys.sr_removing_vdev;
usr/src/uts/common/fs/zfs/vdev_removal.c
2170
prs->prs_start_time = spa->spa_removing_phys.sr_start_time;
usr/src/uts/common/fs/zfs/vdev_removal.c
2171
prs->prs_end_time = spa->spa_removing_phys.sr_end_time;
usr/src/uts/common/fs/zfs/vdev_removal.c
2172
prs->prs_to_copy = spa->spa_removing_phys.sr_to_copy;
usr/src/uts/common/fs/zfs/vdev_removal.c
2173
prs->prs_copied = spa->spa_removing_phys.sr_copied;
usr/src/uts/common/fs/zfs/vdev_removal.c
2175
if (spa->spa_vdev_removal != NULL) {
usr/src/uts/common/fs/zfs/vdev_removal.c
2178
spa->spa_vdev_removal->svr_bytes_done[i];
usr/src/uts/common/fs/zfs/vdev_removal.c
2184
spa->spa_removing_phys.sr_prev_indirect_vdev;
usr/src/uts/common/fs/zfs/vdev_removal.c
2186
vdev_t *vd = spa->spa_root_vdev->vdev_child[indirect_vdev_id];
usr/src/uts/common/fs/zfs/vdev_removal.c
237
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
238
vdev_t *vd = vdev_lookup_top(spa, vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
240
objset_t *mos = spa->spa_dsl_pool->dp_meta_objset;
usr/src/uts/common/fs/zfs/vdev_removal.c
250
spa_feature_incr(spa, SPA_FEATURE_DEVICE_REMOVAL, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
251
if (spa_feature_is_enabled(spa, SPA_FEATURE_OBSOLETE_COUNTS)) {
usr/src/uts/common/fs/zfs/vdev_removal.c
257
spa_feature_incr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
259
VERIFY0(zap_add(spa->spa_meta_objset, vd->vdev_top_zap,
usr/src/uts/common/fs/zfs/vdev_removal.c
271
spa->spa_removing_phys.sr_removing_vdev = vd->vdev_id;
usr/src/uts/common/fs/zfs/vdev_removal.c
272
spa->spa_removing_phys.sr_start_time = gethrestime_sec();
usr/src/uts/common/fs/zfs/vdev_removal.c
273
spa->spa_removing_phys.sr_end_time = 0;
usr/src/uts/common/fs/zfs/vdev_removal.c
274
spa->spa_removing_phys.sr_state = DSS_SCANNING;
usr/src/uts/common/fs/zfs/vdev_removal.c
275
spa->spa_removing_phys.sr_to_copy = 0;
usr/src/uts/common/fs/zfs/vdev_removal.c
276
spa->spa_removing_phys.sr_copied = 0;
usr/src/uts/common/fs/zfs/vdev_removal.c
288
spa->spa_removing_phys.sr_to_copy +=
usr/src/uts/common/fs/zfs/vdev_removal.c
295
spa->spa_removing_phys.sr_to_copy -=
usr/src/uts/common/fs/zfs/vdev_removal.c
309
spa_sync_removing_state(spa, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
340
spa_history_log_internal(spa, "vdev remove started", tx,
usr/src/uts/common/fs/zfs/vdev_removal.c
341
"%s vdev %llu %s", spa_name(spa), vd->vdev_id,
usr/src/uts/common/fs/zfs/vdev_removal.c
351
ASSERT3P(spa->spa_vdev_removal, ==, NULL);
usr/src/uts/common/fs/zfs/vdev_removal.c
352
spa->spa_vdev_removal = svr;
usr/src/uts/common/fs/zfs/vdev_removal.c
354
spa_vdev_remove_thread, spa, 0, &p0, TS_RUN, minclsyspri);
usr/src/uts/common/fs/zfs/vdev_removal.c
366
spa_remove_init(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_removal.c
370
error = zap_lookup(spa->spa_dsl_pool->dp_meta_objset,
usr/src/uts/common/fs/zfs/vdev_removal.c
373
sizeof (spa->spa_removing_phys) / sizeof (uint64_t),
usr/src/uts/common/fs/zfs/vdev_removal.c
374
&spa->spa_removing_phys);
usr/src/uts/common/fs/zfs/vdev_removal.c
377
spa->spa_removing_phys.sr_state = DSS_NONE;
usr/src/uts/common/fs/zfs/vdev_removal.c
378
spa->spa_removing_phys.sr_removing_vdev = -1;
usr/src/uts/common/fs/zfs/vdev_removal.c
379
spa->spa_removing_phys.sr_prev_indirect_vdev = -1;
usr/src/uts/common/fs/zfs/vdev_removal.c
380
spa->spa_indirect_vdevs_loaded = B_TRUE;
usr/src/uts/common/fs/zfs/vdev_removal.c
386
if (spa->spa_removing_phys.sr_state == DSS_SCANNING) {
usr/src/uts/common/fs/zfs/vdev_removal.c
393
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_removal.c
394
vdev_t *vd = vdev_lookup_top(spa,
usr/src/uts/common/fs/zfs/vdev_removal.c
395
spa->spa_removing_phys.sr_removing_vdev);
usr/src/uts/common/fs/zfs/vdev_removal.c
398
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
410
spa->spa_meta_objset, vic->vic_mapping_object);
usr/src/uts/common/fs/zfs/vdev_removal.c
412
spa->spa_meta_objset, vic->vic_births_object);
usr/src/uts/common/fs/zfs/vdev_removal.c
413
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
415
spa->spa_vdev_removal = svr;
usr/src/uts/common/fs/zfs/vdev_removal.c
418
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_removal.c
420
spa->spa_removing_phys.sr_prev_indirect_vdev;
usr/src/uts/common/fs/zfs/vdev_removal.c
422
vdev_t *vd = vdev_lookup_top(spa, indirect_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
427
spa->spa_meta_objset, vic->vic_mapping_object);
usr/src/uts/common/fs/zfs/vdev_removal.c
429
spa->spa_meta_objset, vic->vic_births_object);
usr/src/uts/common/fs/zfs/vdev_removal.c
433
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
439
spa->spa_indirect_vdevs_loaded = B_TRUE;
usr/src/uts/common/fs/zfs/vdev_removal.c
444
spa_restart_removal(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_removal.c
446
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
463
if (!spa_writeable(spa))
usr/src/uts/common/fs/zfs/vdev_removal.c
467
svr->svr_thread = thread_create(NULL, 0, spa_vdev_remove_thread, spa,
usr/src/uts/common/fs/zfs/vdev_removal.c
479
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
480
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
482
uint64_t txg = spa_syncing_txg(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
508
ASSERT(!spa_has_checkpoint(spa));
usr/src/uts/common/fs/zfs/vdev_removal.c
534
spa_t *, spa,
usr/src/uts/common/fs/zfs/vdev_removal.c
559
spa_t *, spa,
usr/src/uts/common/fs/zfs/vdev_removal.c
620
spa_t *, spa,
usr/src/uts/common/fs/zfs/vdev_removal.c
659
spa_finish_removal(spa_t *spa, dsl_scan_state_t state, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/vdev_removal.c
661
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
662
ASSERT3U(dmu_tx_get_txg(tx), ==, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/vdev_removal.c
665
spa_vdev_remove_suspend(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
670
spa_removing_phys_t *srp = &spa->spa_removing_phys;
usr/src/uts/common/fs/zfs/vdev_removal.c
671
vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
675
vdev_t *pvd = vdev_lookup_top(spa,
usr/src/uts/common/fs/zfs/vdev_removal.c
683
spa->spa_removing_phys.sr_state = state;
usr/src/uts/common/fs/zfs/vdev_removal.c
684
spa->spa_removing_phys.sr_end_time = gethrestime_sec();
usr/src/uts/common/fs/zfs/vdev_removal.c
686
spa->spa_vdev_removal = NULL;
usr/src/uts/common/fs/zfs/vdev_removal.c
689
spa_sync_removing_state(spa, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
691
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/vdev_removal.c
713
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
714
vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
720
ASSERT3U(txg, ==, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/vdev_removal.c
739
spa_sync_removing_state(spa, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
753
spa_t *spa = vcsa->vcsa_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
771
zio_free(spa, vcsa->vcsa_txg, &bp);
usr/src/uts/common/fs/zfs/vdev_removal.c
909
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
910
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
948
if (mc != spa_normal_class(spa) && mc->mc_groups <= 1)
usr/src/uts/common/fs/zfs/vdev_removal.c
949
mc = spa_normal_class(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
950
int error = metaslab_alloc_dva(spa, mc, size, &dst, 0, NULL, txg, 0,
usr/src/uts/common/fs/zfs/vdev_removal.c
952
if (error == ENOSPC && mc != spa_normal_class(spa)) {
usr/src/uts/common/fs/zfs/vdev_removal.c
953
error = metaslab_alloc_dva(spa, spa_normal_class(spa), size,
usr/src/uts/common/fs/zfs/vdev_removal.c
997
if (spa_feature_is_enabled(spa, SPA_FEATURE_OBSOLETE_COUNTS)) {
usr/src/uts/common/fs/zfs/vdev_root.c
108
if (spa_load_state(spa) != SPA_LOAD_NONE)
usr/src/uts/common/fs/zfs/vdev_root.c
109
spa_set_missing_tvds(spa, numerrors);
usr/src/uts/common/fs/zfs/vdev_root.c
88
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_trim.c
1035
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_trim.c
1044
vdev_trim_stop_wait(spa, &vd_list);
usr/src/uts/common/fs/zfs/vdev_trim.c
1125
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_trim.c
1132
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_trim.c
1172
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_trim.c
1174
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_trim.c
1271
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_trim.c
1322
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_trim.c
1337
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_trim.c
1345
txg_wait_open(spa_get_dsl(spa), 0, issued_trim);
usr/src/uts/common/fs/zfs/vdev_trim.c
1348
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_trim.c
1362
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_trim.c
1368
if (spa_get_autotrim(spa) == SPA_AUTOTRIM_OFF) {
usr/src/uts/common/fs/zfs/vdev_trim.c
1390
vdev_autotrim(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_trim.c
1392
vdev_t *root_vd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev_trim.c
1438
vdev_autotrim_stop_all(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_trim.c
1440
vdev_t *root_vd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev_trim.c
1450
vdev_autotrim_restart(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_trim.c
1454
if (spa->spa_autotrim)
usr/src/uts/common/fs/zfs/vdev_trim.c
1455
vdev_autotrim(spa);
usr/src/uts/common/fs/zfs/vdev_trim.c
274
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_trim.c
319
dmu_tx_t *tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/vdev_trim.c
321
dsl_sync_task_nowait(spa_get_dsl(spa), vdev_trim_zap_update_sync,
usr/src/uts/common/fs/zfs/vdev_trim.c
326
spa_event_notify(spa, vd, NULL,
usr/src/uts/common/fs/zfs/vdev_trim.c
328
spa_history_log_internal(spa, "trim", tx,
usr/src/uts/common/fs/zfs/vdev_trim.c
332
spa_event_notify(spa, vd, NULL, ESC_ZFS_TRIM_SUSPEND);
usr/src/uts/common/fs/zfs/vdev_trim.c
333
spa_history_log_internal(spa, "trim", tx,
usr/src/uts/common/fs/zfs/vdev_trim.c
337
spa_event_notify(spa, vd, NULL, ESC_ZFS_TRIM_CANCEL);
usr/src/uts/common/fs/zfs/vdev_trim.c
338
spa_history_log_internal(spa, "trim", tx,
usr/src/uts/common/fs/zfs/vdev_trim.c
342
spa_event_notify(spa, vd, NULL, ESC_ZFS_TRIM_FINISH);
usr/src/uts/common/fs/zfs/vdev_trim.c
343
spa_history_log_internal(spa, "trim", tx,
usr/src/uts/common/fs/zfs/vdev_trim.c
452
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_trim.c
478
dmu_tx_t *tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/vdev_trim.c
482
spa_config_enter(spa, SCL_STATE_ALL, vd, RW_READER);
usr/src/uts/common/fs/zfs/vdev_trim.c
491
dsl_sync_task_nowait(spa_get_dsl(spa),
usr/src/uts/common/fs/zfs/vdev_trim.c
517
zio_nowait(zio_trim(spa->spa_txg_zio[txg & TXG_MASK], vd,
usr/src/uts/common/fs/zfs/vdev_trim.c
542
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_trim.c
810
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_trim.c
822
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_trim.c
862
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_trim.c
874
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_trim.c
886
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_trim.c
893
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_trim.c
913
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/vdev_trim.c
960
vdev_trim_stop_wait(spa_t *spa, list_t *vd_list)
usr/src/uts/common/fs/zfs/zfeature.c
174
spa_features_check(spa_t *spa, boolean_t for_write,
usr/src/uts/common/fs/zfs/zfeature.c
177
objset_t *os = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/zfeature.c
182
spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj;
usr/src/uts/common/fs/zfs/zfeature.c
204
if (zap_lookup(os, spa->spa_feat_desc_obj,
usr/src/uts/common/fs/zfs/zfeature.c
226
feature_get_refcount(spa_t *spa, zfeature_info_t *feature, uint64_t *res)
usr/src/uts/common/fs/zfs/zfeature.c
229
if (spa->spa_feat_refcount_cache[feature->fi_feature] ==
usr/src/uts/common/fs/zfs/zfeature.c
233
*res = spa->spa_feat_refcount_cache[feature->fi_feature];
usr/src/uts/common/fs/zfs/zfeature.c
243
feature_get_refcount_from_disk(spa_t *spa, zfeature_info_t *feature,
usr/src/uts/common/fs/zfs/zfeature.c
249
spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj;
usr/src/uts/common/fs/zfs/zfeature.c
258
err = zap_lookup(spa->spa_meta_objset, zapobj,
usr/src/uts/common/fs/zfs/zfeature.c
272
feature_get_enabled_txg(spa_t *spa, zfeature_info_t *feature, uint64_t *res)
usr/src/uts/common/fs/zfs/zfeature.c
274
uint64_t enabled_txg_obj = spa->spa_feat_enabled_txg_obj;
usr/src/uts/common/fs/zfs/zfeature.c
279
if (!spa_feature_is_enabled(spa, feature->fi_feature)) {
usr/src/uts/common/fs/zfs/zfeature.c
285
VERIFY0(zap_lookup(spa->spa_meta_objset, spa->spa_feat_enabled_txg_obj,
usr/src/uts/common/fs/zfs/zfeature.c
296
feature_sync(spa_t *spa, zfeature_info_t *feature, uint64_t refcount,
usr/src/uts/common/fs/zfs/zfeature.c
301
spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj;
usr/src/uts/common/fs/zfs/zfeature.c
303
VERIFY0(zap_update(spa->spa_meta_objset, zapobj, feature->fi_guid,
usr/src/uts/common/fs/zfs/zfeature.c
315
&spa->spa_feat_refcount_cache[feature->fi_feature];
usr/src/uts/common/fs/zfs/zfeature.c
321
spa_deactivate_mos_feature(spa, feature->fi_guid);
usr/src/uts/common/fs/zfs/zfeature.c
323
spa_activate_mos_feature(spa, feature->fi_guid, tx);
usr/src/uts/common/fs/zfs/zfeature.c
331
feature_enable_sync(spa_t *spa, zfeature_info_t *feature, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/zfeature.c
336
spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj;
usr/src/uts/common/fs/zfs/zfeature.c
340
ASSERT3U(spa_version(spa), >=, SPA_VERSION_FEATURES);
usr/src/uts/common/fs/zfs/zfeature.c
345
if (zap_contains(spa->spa_meta_objset, zapobj, feature->fi_guid) == 0)
usr/src/uts/common/fs/zfs/zfeature.c
349
spa_feature_enable(spa, feature->fi_depends[i], tx);
usr/src/uts/common/fs/zfs/zfeature.c
351
VERIFY0(zap_update(spa->spa_meta_objset, spa->spa_feat_desc_obj,
usr/src/uts/common/fs/zfs/zfeature.c
355
feature_sync(spa, feature, initial_refcount, tx);
usr/src/uts/common/fs/zfs/zfeature.c
357
if (spa_feature_is_enabled(spa, SPA_FEATURE_ENABLED_TXG)) {
usr/src/uts/common/fs/zfs/zfeature.c
360
if (spa->spa_feat_enabled_txg_obj == 0ULL) {
usr/src/uts/common/fs/zfs/zfeature.c
361
spa->spa_feat_enabled_txg_obj =
usr/src/uts/common/fs/zfs/zfeature.c
362
zap_create_link(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/zfeature.c
366
spa_feature_incr(spa, SPA_FEATURE_ENABLED_TXG, tx);
usr/src/uts/common/fs/zfs/zfeature.c
368
VERIFY0(zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/zfeature.c
369
spa->spa_feat_enabled_txg_obj, feature->fi_guid,
usr/src/uts/common/fs/zfs/zfeature.c
380
if (spa->spa_errata == ZPOOL_ERRATA_ZOL_8308_ENCRYPTION &&
usr/src/uts/common/fs/zfs/zfeature.c
381
spa_feature_is_enabled(spa, SPA_FEATURE_ENCRYPTION) &&
usr/src/uts/common/fs/zfs/zfeature.c
382
!spa_feature_is_active(spa, SPA_FEATURE_ENCRYPTION) &&
usr/src/uts/common/fs/zfs/zfeature.c
384
spa->spa_errata = 0;
usr/src/uts/common/fs/zfs/zfeature.c
388
feature_do_action(spa_t *spa, spa_feature_t fid, feature_action_t action,
usr/src/uts/common/fs/zfs/zfeature.c
394
spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj;
usr/src/uts/common/fs/zfs/zfeature.c
401
ASSERT3U(spa_version(spa), >=, SPA_VERSION_FEATURES);
usr/src/uts/common/fs/zfs/zfeature.c
403
VERIFY3U(feature_get_refcount(spa, feature, &refcount), !=, ENOTSUP);
usr/src/uts/common/fs/zfs/zfeature.c
419
feature_sync(spa, feature, refcount, tx);
usr/src/uts/common/fs/zfs/zfeature.c
423
spa_feature_create_zap_objects(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/zfeature.c
429
ASSERT((!spa->spa_sync_on && tx->tx_txg == TXG_INITIAL) ||
usr/src/uts/common/fs/zfs/zfeature.c
430
dsl_pool_sync_context(spa_get_dsl(spa)));
usr/src/uts/common/fs/zfs/zfeature.c
432
spa->spa_feat_for_read_obj = zap_create_link(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/zfeature.c
435
spa->spa_feat_for_write_obj = zap_create_link(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/zfeature.c
438
spa->spa_feat_desc_obj = zap_create_link(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/zfeature.c
447
spa_feature_enable(spa_t *spa, spa_feature_t fid, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/zfeature.c
449
ASSERT3U(spa_version(spa), >=, SPA_VERSION_FEATURES);
usr/src/uts/common/fs/zfs/zfeature.c
451
feature_enable_sync(spa, &spa_feature_table[fid], tx);
usr/src/uts/common/fs/zfs/zfeature.c
455
spa_feature_incr(spa_t *spa, spa_feature_t fid, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/zfeature.c
457
feature_do_action(spa, fid, FEATURE_ACTION_INCR, tx);
usr/src/uts/common/fs/zfs/zfeature.c
461
spa_feature_decr(spa_t *spa, spa_feature_t fid, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/zfeature.c
463
feature_do_action(spa, fid, FEATURE_ACTION_DECR, tx);
usr/src/uts/common/fs/zfs/zfeature.c
467
spa_feature_is_enabled(spa_t *spa, spa_feature_t fid)
usr/src/uts/common/fs/zfs/zfeature.c
473
if (spa_version(spa) < SPA_VERSION_FEATURES)
usr/src/uts/common/fs/zfs/zfeature.c
476
err = feature_get_refcount(spa, &spa_feature_table[fid], &refcount);
usr/src/uts/common/fs/zfs/zfeature.c
482
spa_feature_is_active(spa_t *spa, spa_feature_t fid)
usr/src/uts/common/fs/zfs/zfeature.c
488
if (spa_version(spa) < SPA_VERSION_FEATURES)
usr/src/uts/common/fs/zfs/zfeature.c
491
err = feature_get_refcount(spa, &spa_feature_table[fid], &refcount);
usr/src/uts/common/fs/zfs/zfeature.c
506
spa_feature_enabled_txg(spa_t *spa, spa_feature_t fid, uint64_t *txg)
usr/src/uts/common/fs/zfs/zfeature.c
511
if (spa_version(spa) < SPA_VERSION_FEATURES)
usr/src/uts/common/fs/zfs/zfeature.c
514
err = feature_get_enabled_txg(spa, &spa_feature_table[fid], txg);
usr/src/uts/common/fs/zfs/zfs_fm.c
111
const char *subclass, spa_t *spa, vdev_t *vd, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/zfs_fm.c
119
if (!zfs_ereport_is_valid(subclass, spa, vd, zio))
usr/src/uts/common/fs/zfs/zfs_fm.c
133
mutex_enter(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/zfs_fm.c
140
if (spa_load_state(spa) != SPA_LOAD_NONE) {
usr/src/uts/common/fs/zfs/zfs_fm.c
141
if (spa->spa_ena == 0)
usr/src/uts/common/fs/zfs/zfs_fm.c
142
spa->spa_ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/fs/zfs/zfs_fm.c
143
ena = spa->spa_ena;
usr/src/uts/common/fs/zfs/zfs_fm.c
159
fm_fmri_zfs_set(detector, FM_ZFS_SCHEME_VERSION, spa_guid(spa),
usr/src/uts/common/fs/zfs/zfs_fm.c
173
DATA_TYPE_STRING, spa_name(spa), FM_EREPORT_PAYLOAD_ZFS_POOL_GUID,
usr/src/uts/common/fs/zfs/zfs_fm.c
174
DATA_TYPE_UINT64, spa_guid(spa),
usr/src/uts/common/fs/zfs/zfs_fm.c
176
spa_load_state(spa), NULL);
usr/src/uts/common/fs/zfs/zfs_fm.c
178
if (spa != NULL) {
usr/src/uts/common/fs/zfs/zfs_fm.c
181
spa_get_failmode(spa) == ZIO_FAILURE_MODE_WAIT ?
usr/src/uts/common/fs/zfs/zfs_fm.c
183
spa_get_failmode(spa) == ZIO_FAILURE_MODE_CONTINUE ?
usr/src/uts/common/fs/zfs/zfs_fm.c
282
mutex_exit(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/zfs_fm.c
615
zfs_ereport_is_valid(const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio)
usr/src/uts/common/fs/zfs/zfs_fm.c
622
if (spa_load_state(spa) == SPA_LOAD_TRYIMPORT ||
usr/src/uts/common/fs/zfs/zfs_fm.c
623
spa_load_state(spa) == SPA_LOAD_RECOVER)
usr/src/uts/common/fs/zfs/zfs_fm.c
631
if (spa_load_state(spa) != SPA_LOAD_NONE &&
usr/src/uts/common/fs/zfs/zfs_fm.c
632
spa->spa_last_open_failed)
usr/src/uts/common/fs/zfs/zfs_fm.c
692
zfs_ereport_post(const char *subclass, spa_t *spa, vdev_t *vd,
usr/src/uts/common/fs/zfs/zfs_fm.c
701
if (!zfs_ereport_start(&ereport, &detector, subclass, spa, vd,
usr/src/uts/common/fs/zfs/zfs_fm.c
717
zfs_ereport_start_checksum(spa_t *spa, vdev_t *vd, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/zfs_fm.c
739
FM_EREPORT_ZFS_CHECKSUM, spa, vd, zb, zio, offset, length);
usr/src/uts/common/fs/zfs/zfs_fm.c
752
mutex_enter(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/zfs_fm.c
755
mutex_exit(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/zfs_fm.c
807
zfs_ereport_post_checksum(spa_t *spa, vdev_t *vd, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/zfs_fm.c
818
spa, vd, zb, zio, offset, length) || (ereport == NULL)) {
usr/src/uts/common/fs/zfs/zfs_fm.c
838
zfs_post_common(spa_t *spa, vdev_t *vd, const char *name)
usr/src/uts/common/fs/zfs/zfs_fm.c
844
if (spa_load_state(spa) == SPA_LOAD_TRYIMPORT)
usr/src/uts/common/fs/zfs/zfs_fm.c
855
FM_EREPORT_PAYLOAD_ZFS_POOL_GUID, spa_guid(spa)) == 0);
usr/src/uts/common/fs/zfs/zfs_fm.c
873
zfs_post_remove(spa_t *spa, vdev_t *vd)
usr/src/uts/common/fs/zfs/zfs_fm.c
875
zfs_post_common(spa, vd, FM_RESOURCE_REMOVED);
usr/src/uts/common/fs/zfs/zfs_fm.c
884
zfs_post_autoreplace(spa_t *spa, vdev_t *vd)
usr/src/uts/common/fs/zfs/zfs_fm.c
886
zfs_post_common(spa, vd, FM_RESOURCE_AUTOREPLACE);
usr/src/uts/common/fs/zfs/zfs_fm.c
896
zfs_post_state_change(spa_t *spa, vdev_t *vd)
usr/src/uts/common/fs/zfs/zfs_fm.c
898
zfs_post_common(spa, vd, FM_RESOURCE_STATECHANGE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1804
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1807
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1814
error = spa_scrub_pause_resume(spa, POOL_SCRUB_PAUSE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1816
error = spa_scan_stop(spa);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1818
error = spa_scan(spa, zc->zc_cookie);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1820
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1828
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1831
error = spa_open(zc->zc_name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1833
spa_freeze(spa);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1834
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1842
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1845
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1848
if (zc->zc_cookie < spa_version(spa) ||
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1850
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1854
spa_upgrade(spa, zc->zc_cookie);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1855
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1863
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1871
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1874
if (spa_version(spa) < SPA_VERSION_ZPOOL_HISTORY) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1875
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1880
if ((error = spa_history_get(spa, &zc->zc_history_offset,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1887
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1895
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1898
error = spa_open(zc->zc_name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1900
error = spa_change_guid(spa);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1901
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1974
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1978
error = spa_open(zc->zc_name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1986
error = spa_vdev_add(spa, config);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
1989
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2002
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2005
error = spa_open(zc->zc_name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2009
error = spa_vdev_remove_cancel(spa);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2011
error = spa_vdev_remove(spa, zc->zc_guid, B_FALSE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2013
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2020
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2024
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2028
error = vdev_online(spa, zc->zc_guid, zc->zc_obj, &newstate);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2032
error = vdev_offline(spa, zc->zc_guid, zc->zc_obj);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2040
error = vdev_fault(spa, zc->zc_guid, zc->zc_obj);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2048
error = vdev_degrade(spa, zc->zc_guid, zc->zc_obj);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2055
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2062
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2067
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2072
error = spa_vdev_attach(spa, zc->zc_guid, config, replacing);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2076
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2083
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2086
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2089
error = spa_vdev_detach(spa, zc->zc_guid, 0, B_FALSE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2091
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2098
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2103
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2108
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2115
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2120
error = spa_vdev_split_mirror(spa, zc->zc_string, config, props, exp);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2122
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2133
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2138
error = spa_open(zc->zc_name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2142
error = spa_vdev_setpath(spa, guid, path);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2143
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2150
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2155
error = spa_open(zc->zc_name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2159
error = spa_vdev_setfru(spa, guid, fru);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2160
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2969
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2986
if ((spa = spa_lookup(zc->zc_name)) != NULL) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2987
spa_configfile_set(spa, props, B_FALSE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2988
spa_write_cachefile(spa, B_FALSE, B_TRUE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2991
if (spa != NULL) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
2997
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3002
error = spa_prop_set(spa, props);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3005
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3013
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3017
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3024
if ((spa = spa_lookup(zc->zc_name)) != NULL)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3025
error = spa_prop_get(spa, &nvp);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3028
error = spa_prop_get(spa, &nvp);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3029
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
323
static int zfs_prop_activate_feature(spa_t *spa, spa_feature_t feature);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3232
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3241
if ((error = spa_open(dataset, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3244
spa_vers = spa_version(spa);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3245
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3543
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3556
error = spa_open(poolname, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3563
if (spa_version(spa) < SPA_VERSION_ZPOOL_HISTORY) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3564
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3568
error = spa_history_log(spa, message);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3569
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3594
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3596
if ((error = spa_open(name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3598
spa_vdev_state_enter(spa, SCL_ALL);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3599
error = vdev_label_write_bootenv(spa->spa_root_vdev, innvl);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3600
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3601
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3613
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3616
if ((error = spa_open(name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3618
spa_vdev_state_enter(spa, SCL_ALL);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3619
error = vdev_label_read_bootenv(spa->spa_root_vdev, outnvl);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3620
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
3621
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4035
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4036
int error = spa_open(poolname, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4041
int total_errors = spa_vdev_initialize(spa, vdev_guids, cmd_type,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4050
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
410
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
412
if (spa_open(name, &spa, FTAG) == 0) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4121
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4122
int error = spa_open(poolname, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4127
int total_errors = spa_vdev_trim(spa, vdev_guids, cmd_type,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
413
if (spa_version(spa) < version) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4135
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
414
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
417
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4365
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4367
if ((err = spa_open(dsname, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4370
if (!spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4372
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4375
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4401
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4411
if ((err = spa_open(dsname, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4414
if (!spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4416
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4419
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4427
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4429
if ((err = spa_open(dsname, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4432
if (!spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4434
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4437
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4469
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4484
if ((err = spa_open(dsname, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4487
if (!spa_feature_is_enabled(spa, feature)) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4488
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
449
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4491
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4506
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4509
if (!spa_feature_is_active(spa, *featurep))
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4522
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4525
spa_feature_incr(spa, *featurep, tx);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4534
zfs_prop_activate_feature(spa_t *spa, spa_feature_t feature)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4539
err = dsl_sync_task(spa_name(spa),
usr/src/uts/common/fs/zfs/zfs_ioctl.c
455
if (spa_open(zc->zc_name, &spa, FTAG) == 0) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
456
if (spa_version(spa) >= SPA_VERSION_ZPOOL_HISTORY)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
457
(void) spa_history_log(spa, buf);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
458
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5321
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5325
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5328
error = spa_get_errlog(spa, (void *)(uintptr_t)zc->zc_nvlist_dst,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5333
zc->zc_nvlist_dst_size = spa_get_errlog_size(spa);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5335
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5343
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5351
spa = spa_lookup(zc->zc_name);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5352
if (spa == NULL) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5356
if (spa_get_log_state(spa) == SPA_LOG_MISSING) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5358
spa_set_log_state(spa, SPA_LOG_CLEAR);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5360
spa->spa_last_open_failed = 0;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5364
error = spa_open(zc->zc_name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5374
error = spa_open_rewind(zc->zc_name, &spa, FTAG,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5394
if (spa_multihost(spa) && spa_suspended(spa))
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5397
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5402
vd = spa_lookup_by_guid(spa, zc->zc_guid, B_TRUE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5404
(void) spa_vdev_state_exit(spa, NULL, ENODEV);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5405
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5410
vdev_clear(spa, vd);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5412
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5417
if (zio_resume(spa) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5420
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5428
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5431
error = spa_open(zc->zc_name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5435
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5443
spa->spa_scrub_reopen = dsl_scan_resilvering(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5444
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5445
spa->spa_scrub_reopen = B_FALSE;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5447
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5448
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6448
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6450
if ((err = spa_open(pool, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6457
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6458
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6459
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6461
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6463
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7063
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7071
error = spa_open(name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7073
if ((check & POOL_CHECK_SUSPENDED) && spa_suspended(spa))
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7075
else if ((check & POOL_CHECK_READONLY) && !spa_writeable(spa))
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7077
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7289
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7319
spa_open(zc->zc_name, &spa, FTAG) == 0) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7328
(void) spa_history_log_nvl(spa, lognv);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7329
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zil.c
1167
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zil.c
1174
ASSERT3S(spa_config_held(spa, SCL_STATE, RW_READER), !=, 0);
usr/src/uts/common/fs/zfs/zil.c
1231
vdev_t *vd = vdev_lookup_top(spa, zv->zv_vdev);
usr/src/uts/common/fs/zfs/zil.c
1382
spa_t *spa = zilog->zl_spa;
usr/src/uts/common/fs/zfs/zil.c
1460
error = zio_alloc_zil(spa, zilog->zl_os, txg, bp, &lwb->lwb_blk,
usr/src/uts/common/fs/zfs/zil.c
2099
spa_t *spa = zilog->zl_spa;
usr/src/uts/common/fs/zfs/zil.c
2139
boolean_t synced = txg <= spa_last_synced_txg(spa);
usr/src/uts/common/fs/zfs/zil.c
2140
boolean_t frozen = txg > spa_freeze_txg(spa);
usr/src/uts/common/fs/zfs/zil.c
2851
spa_t *spa = zilog->zl_spa;
usr/src/uts/common/fs/zfs/zil.c
2859
if (spa_sync_pass(spa) != 1)
usr/src/uts/common/fs/zfs/zil.c
2899
zio_free(spa, txg, &lwb->lwb_blk);
usr/src/uts/common/fs/zfs/zio.c
1026
zio_free(spa_t *spa, uint64_t txg, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/zio.c
1029
zfs_blkptr_verify(spa, bp);
usr/src/uts/common/fs/zfs/zio.c
1038
metaslab_check_free(spa, bp);
usr/src/uts/common/fs/zfs/zio.c
1052
txg != spa->spa_syncing_txg ||
usr/src/uts/common/fs/zfs/zio.c
1053
(spa_sync_pass(spa) >= zfs_sync_pass_deferred_free &&
usr/src/uts/common/fs/zfs/zio.c
1054
!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))) {
usr/src/uts/common/fs/zfs/zio.c
1055
bplist_append(&spa->spa_free_bplist[txg & TXG_MASK], bp);
usr/src/uts/common/fs/zfs/zio.c
1057
VERIFY0(zio_wait(zio_free_sync(NULL, spa, txg, bp, 0)));
usr/src/uts/common/fs/zfs/zio.c
1062
zio_free_sync(zio_t *pio, spa_t *spa, uint64_t txg, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/zio.c
1069
ASSERT(spa_syncing_txg(spa) == txg);
usr/src/uts/common/fs/zfs/zio.c
1072
return (zio_null(pio, spa, NULL, NULL, NULL, 0));
usr/src/uts/common/fs/zfs/zio.c
1074
metaslab_check_free(spa, bp);
usr/src/uts/common/fs/zfs/zio.c
1075
arc_freed(spa, bp);
usr/src/uts/common/fs/zfs/zio.c
1076
dsl_scan_freed(spa, bp);
usr/src/uts/common/fs/zfs/zio.c
1086
zio = zio_create(pio, spa, txg, bp, NULL, BP_GET_PSIZE(bp),
usr/src/uts/common/fs/zfs/zio.c
1094
zio_claim(zio_t *pio, spa_t *spa, uint64_t txg, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/zio.c
1099
zfs_blkptr_verify(spa, bp);
usr/src/uts/common/fs/zfs/zio.c
1102
return (zio_null(pio, spa, NULL, NULL, NULL, 0));
usr/src/uts/common/fs/zfs/zio.c
1116
ASSERT3U(spa->spa_uberblock.ub_rootbp.blk_birth, <,
usr/src/uts/common/fs/zfs/zio.c
1117
spa_min_claim_txg(spa));
usr/src/uts/common/fs/zfs/zio.c
1118
ASSERT(txg == spa_min_claim_txg(spa) || txg == 0);
usr/src/uts/common/fs/zfs/zio.c
1119
ASSERT(!BP_GET_DEDUP(bp) || !spa_writeable(spa)); /* zdb(8) */
usr/src/uts/common/fs/zfs/zio.c
1121
zio = zio_create(pio, spa, txg, bp, NULL, BP_GET_PSIZE(bp),
usr/src/uts/common/fs/zfs/zio.c
1130
zio_ioctl(zio_t *pio, spa_t *spa, vdev_t *vd, int cmd,
usr/src/uts/common/fs/zfs/zio.c
1137
zio = zio_create(pio, spa, 0, NULL, NULL, 0, 0, done, private,
usr/src/uts/common/fs/zfs/zio.c
1143
zio = zio_null(pio, spa, NULL, NULL, NULL, flags);
usr/src/uts/common/fs/zfs/zio.c
1146
zio_nowait(zio_ioctl(zio, spa, vd->vdev_child[c], cmd,
usr/src/uts/common/fs/zfs/zio.c
1467
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
1510
pass = spa_sync_pass(spa);
usr/src/uts/common/fs/zfs/zio.c
1512
ASSERT(zio->io_txg == spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/zio.c
1521
spa_max_replication(spa)) == BP_GET_NDVAS(bp));
usr/src/uts/common/fs/zfs/zio.c
1535
spa_feature_is_enabled(spa, SPA_FEATURE_EMBEDDED_DATA)) {
usr/src/uts/common/fs/zfs/zio.c
1544
ASSERT(spa_feature_is_active(spa,
usr/src/uts/common/fs/zfs/zio.c
1556
ASSERT3U(spa->spa_min_ashift, >=, SPA_MINBLOCKSHIFT);
usr/src/uts/common/fs/zfs/zio.c
1558
1ULL << spa->spa_min_ashift);
usr/src/uts/common/fs/zfs/zio.c
1620
spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) {
usr/src/uts/common/fs/zfs/zio.c
1677
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
1701
spa->spa_zio_taskq[t][q + 1].stqs_count != 0)
usr/src/uts/common/fs/zfs/zio.c
1712
spa_taskq_dispatch_ent(spa, t, q, (task_func_t *)zio_execute, zio,
usr/src/uts/common/fs/zfs/zio.c
1720
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
1723
spa_taskqs_t *tqs = &spa->spa_zio_taskq[t][q];
usr/src/uts/common/fs/zfs/zio.c
1936
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
1938
zio_add_child(spa->spa_async_zio_root[CPU_SEQID], zio);
usr/src/uts/common/fs/zfs/zio.c
2008
zio_suspend(spa_t *spa, zio_t *zio, zio_suspend_reason_t reason)
usr/src/uts/common/fs/zfs/zio.c
2010
if (spa_get_failmode(spa) == ZIO_FAILURE_MODE_PANIC)
usr/src/uts/common/fs/zfs/zio.c
2013
"is set to panic.", spa_name(spa));
usr/src/uts/common/fs/zfs/zio.c
2017
"before the pool can be written to.", spa_name(spa));
usr/src/uts/common/fs/zfs/zio.c
2019
(void) zfs_ereport_post(FM_EREPORT_ZFS_IO_FAILURE, spa, NULL,
usr/src/uts/common/fs/zfs/zio.c
2022
mutex_enter(&spa->spa_suspend_lock);
usr/src/uts/common/fs/zfs/zio.c
2024
if (spa->spa_suspend_zio_root == NULL)
usr/src/uts/common/fs/zfs/zio.c
2025
spa->spa_suspend_zio_root = zio_root(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/zio.c
2029
spa->spa_suspended = reason;
usr/src/uts/common/fs/zfs/zio.c
2033
ASSERT(zio != spa->spa_suspend_zio_root);
usr/src/uts/common/fs/zfs/zio.c
2037
zio_add_child(spa->spa_suspend_zio_root, zio);
usr/src/uts/common/fs/zfs/zio.c
2040
mutex_exit(&spa->spa_suspend_lock);
usr/src/uts/common/fs/zfs/zio.c
2044
zio_resume(spa_t *spa)
usr/src/uts/common/fs/zfs/zio.c
2051
mutex_enter(&spa->spa_suspend_lock);
usr/src/uts/common/fs/zfs/zio.c
2052
spa->spa_suspended = ZIO_SUSPEND_NONE;
usr/src/uts/common/fs/zfs/zio.c
2053
cv_broadcast(&spa->spa_suspend_cv);
usr/src/uts/common/fs/zfs/zio.c
2054
pio = spa->spa_suspend_zio_root;
usr/src/uts/common/fs/zfs/zio.c
2055
spa->spa_suspend_zio_root = NULL;
usr/src/uts/common/fs/zfs/zio.c
2056
mutex_exit(&spa->spa_suspend_lock);
usr/src/uts/common/fs/zfs/zio.c
2066
zio_resume_wait(spa_t *spa)
usr/src/uts/common/fs/zfs/zio.c
2068
mutex_enter(&spa->spa_suspend_lock);
usr/src/uts/common/fs/zfs/zio.c
2069
while (spa_suspended(spa))
usr/src/uts/common/fs/zfs/zio.c
2070
cv_wait(&spa->spa_suspend_cv, &spa->spa_suspend_lock);
usr/src/uts/common/fs/zfs/zio.c
2071
mutex_exit(&spa->spa_suspend_lock);
usr/src/uts/common/fs/zfs/zio.c
2440
spa_t *spa = pio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
2441
metaslab_class_t *mc = spa_normal_class(spa);
usr/src/uts/common/fs/zfs/zio.c
2452
int gbh_copies = MIN(copies + 1, spa_max_replication(spa));
usr/src/uts/common/fs/zfs/zio.c
2485
error = metaslab_alloc(spa, mc, SPA_GANGBLOCKSIZE,
usr/src/uts/common/fs/zfs/zio.c
2522
zio = zio_rewrite(pio, spa, txg, bp, gbh_abd, SPA_GANGBLOCKSIZE,
usr/src/uts/common/fs/zfs/zio.c
2548
zio_t *cio = zio_write(zio, spa, txg, &gbh->zg_blkptr[g],
usr/src/uts/common/fs/zfs/zio.c
2759
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
2810
error = zio_wait(zio_read(NULL, spa, &blk, tmpabd,
usr/src/uts/common/fs/zfs/zio.c
2854
error = arc_read(NULL, spa, &blk,
usr/src/uts/common/fs/zfs/zio.c
2955
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
2963
ddt_t *ddt = ddt_select(spa, bp);
usr/src/uts/common/fs/zfs/zio.c
2985
zp->zp_checksum = spa_dedup_checksum(spa);
usr/src/uts/common/fs/zfs/zio.c
3025
dio = zio_write(zio, spa, txg, bp, zio->io_orig_abd,
usr/src/uts/common/fs/zfs/zio.c
3047
cio = zio_write(zio, spa, txg, bp, zio->io_orig_abd,
usr/src/uts/common/fs/zfs/zio.c
3072
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3074
ddt_t *ddt = ddt_select(spa, bp);
usr/src/uts/common/fs/zfs/zio.c
3097
zio_io_to_allocate(spa_t *spa, int allocator)
usr/src/uts/common/fs/zfs/zio.c
3101
ASSERT(MUTEX_HELD(&spa->spa_alloc_locks[allocator]));
usr/src/uts/common/fs/zfs/zio.c
3103
zio = avl_first(&spa->spa_alloc_trees[allocator]);
usr/src/uts/common/fs/zfs/zio.c
3119
avl_remove(&spa->spa_alloc_trees[allocator], zio);
usr/src/uts/common/fs/zfs/zio.c
3128
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3133
mc = spa_preferred_class(spa, zio->io_size, zio->io_prop.zp_type,
usr/src/uts/common/fs/zfs/zio.c
3157
bm->zb_level, bm->zb_blkid >> 20) % spa->spa_alloc_count;
usr/src/uts/common/fs/zfs/zio.c
3158
mutex_enter(&spa->spa_alloc_locks[zio->io_allocator]);
usr/src/uts/common/fs/zfs/zio.c
3161
avl_add(&spa->spa_alloc_trees[zio->io_allocator], zio);
usr/src/uts/common/fs/zfs/zio.c
3162
nio = zio_io_to_allocate(spa, zio->io_allocator);
usr/src/uts/common/fs/zfs/zio.c
3163
mutex_exit(&spa->spa_alloc_locks[zio->io_allocator]);
usr/src/uts/common/fs/zfs/zio.c
3184
zio_allocate_dispatch(spa_t *spa, int allocator)
usr/src/uts/common/fs/zfs/zio.c
3188
mutex_enter(&spa->spa_alloc_locks[allocator]);
usr/src/uts/common/fs/zfs/zio.c
3189
zio = zio_io_to_allocate(spa, allocator);
usr/src/uts/common/fs/zfs/zio.c
3190
mutex_exit(&spa->spa_alloc_locks[allocator]);
usr/src/uts/common/fs/zfs/zio.c
3202
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3216
ASSERT3U(zio->io_prop.zp_copies, <=, spa_max_replication(spa));
usr/src/uts/common/fs/zfs/zio.c
3231
mc = spa_preferred_class(spa, zio->io_size,
usr/src/uts/common/fs/zfs/zio.c
3237
error = metaslab_alloc(spa, mc, zio->io_size, bp,
usr/src/uts/common/fs/zfs/zio.c
3244
if (error == ENOSPC && mc != spa_normal_class(spa)) {
usr/src/uts/common/fs/zfs/zio.c
3256
mc = spa_normal_class(spa);
usr/src/uts/common/fs/zfs/zio.c
3261
mc = spa_normal_class(spa);
usr/src/uts/common/fs/zfs/zio.c
3265
error = metaslab_alloc(spa, mc, zio->io_size, bp,
usr/src/uts/common/fs/zfs/zio.c
3272
"size %llu, error %d", spa_name(spa), zio, zio->io_size,
usr/src/uts/common/fs/zfs/zio.c
3328
zio_alloc_zil(spa_t *spa, objset_t *os, uint64_t txg, blkptr_t *new_bp,
usr/src/uts/common/fs/zfs/zio.c
3334
ASSERT(txg > spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/zio.c
3352
error = metaslab_alloc(spa, spa_log_class(spa), size, new_bp, 1,
usr/src/uts/common/fs/zfs/zio.c
3355
os->os_dsl_dataset->ds_object) % spa->spa_alloc_count);
usr/src/uts/common/fs/zfs/zio.c
3359
error = metaslab_alloc(spa, spa_normal_class(spa), size,
usr/src/uts/common/fs/zfs/zio.c
3362
os->os_dsl_dataset->ds_object) % spa->spa_alloc_count);
usr/src/uts/common/fs/zfs/zio.c
3373
spa_version(spa) >= SPA_VERSION_SLIM_ZIL
usr/src/uts/common/fs/zfs/zio.c
3390
VERIFY0(spa_crypt_get_salt(spa,
usr/src/uts/common/fs/zfs/zio.c
3398
"size %llu, error %d", spa_name(spa), size, error);
usr/src/uts/common/fs/zfs/zio.c
3425
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3434
spa_config_enter(spa, SCL_ZIO, zio, RW_READER);
usr/src/uts/common/fs/zfs/zio.c
3445
ASSERT(spa->spa_trust_config);
usr/src/uts/common/fs/zfs/zio.c
3489
VERIFY(zio->io_type != ZIO_TYPE_WRITE || spa_writeable(spa));
usr/src/uts/common/fs/zfs/zio.c
372
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3778
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
3849
VERIFY0(spa_do_crypt_objset_mac_abd(B_TRUE, spa, dsobj,
usr/src/uts/common/fs/zfs/zio.c
3857
VERIFY0(spa_do_crypt_mac_abd(B_TRUE, spa, dsobj,
usr/src/uts/common/fs/zfs/zio.c
3874
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_ENCRYPTION));
usr/src/uts/common/fs/zfs/zio.c
3892
VERIFY0(spa_do_crypt_abd(B_TRUE, spa, &zio->io_bookmark,
usr/src/uts/common/fs/zfs/zio.c
4170
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio.c
4208
metaslab_group_alloc_verify(spa, zio->io_bp, zio,
usr/src/uts/common/fs/zfs/zio.c
4304
(void) zfs_ereport_post(FM_EREPORT_ZFS_IO, spa, vd,
usr/src/uts/common/fs/zfs/zio.c
4314
spa_log_error(spa, &zio->io_bookmark);
usr/src/uts/common/fs/zfs/zio.c
4315
(void) zfs_ereport_post(FM_EREPORT_ZFS_DATA, spa, NULL,
usr/src/uts/common/fs/zfs/zio.c
432
ret = spa_do_crypt_objset_mac_abd(B_FALSE, spa,
usr/src/uts/common/fs/zfs/zio.c
4340
spa_load_state(spa) == SPA_LOAD_NONE &&
usr/src/uts/common/fs/zfs/zio.c
4341
spa_get_failmode(spa) != ZIO_FAILURE_MODE_CONTINUE)
usr/src/uts/common/fs/zfs/zio.c
436
ret = spa_do_crypt_mac_abd(B_FALSE, spa, dsobj,
usr/src/uts/common/fs/zfs/zio.c
442
ret = zio_handle_decrypt_injection(spa,
usr/src/uts/common/fs/zfs/zio.c
4441
spa_taskq_dispatch_ent(spa, ZIO_TYPE_CLAIM,
usr/src/uts/common/fs/zfs/zio.c
461
ret = spa_do_crypt_abd(B_FALSE, spa, &zio->io_bookmark, BP_GET_TYPE(bp),
usr/src/uts/common/fs/zfs/zio.c
483
spa_log_error(spa, &zio->io_bookmark);
usr/src/uts/common/fs/zfs/zio.c
485
spa, NULL, &zio->io_bookmark, zio, 0, 0);
usr/src/uts/common/fs/zfs/zio.c
693
zio_create(zio_t *pio, spa_t *spa, uint64_t txg, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/zio.c
705
ASSERT(!vd || spa_config_held(spa, SCL_STATE_ALL, RW_READER));
usr/src/uts/common/fs/zfs/zio.c
745
zio->io_spa = spa;
usr/src/uts/common/fs/zfs/zio.c
792
zio_null(zio_t *pio, spa_t *spa, vdev_t *vd, zio_done_func_t *done,
usr/src/uts/common/fs/zfs/zio.c
797
zio = zio_create(pio, spa, 0, NULL, NULL, 0, 0, done, private,
usr/src/uts/common/fs/zfs/zio.c
805
zio_root(spa_t *spa, zio_done_func_t *done, void *private, enum zio_flag flags)
usr/src/uts/common/fs/zfs/zio.c
807
return (zio_null(NULL, spa, NULL, done, private, flags));
usr/src/uts/common/fs/zfs/zio.c
811
zfs_blkptr_verify(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/zio.c
847
if (!spa->spa_trust_config)
usr/src/uts/common/fs/zfs/zio.c
860
if (vdevid >= spa->spa_root_vdev->vdev_children) {
usr/src/uts/common/fs/zfs/zio.c
866
vdev_t *vd = spa->spa_root_vdev->vdev_child[vdevid];
usr/src/uts/common/fs/zfs/zio.c
900
zfs_dva_valid(spa_t *spa, const dva_t *dva, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/zio.c
904
if (vdevid >= spa->spa_root_vdev->vdev_children)
usr/src/uts/common/fs/zfs/zio.c
907
vdev_t *vd = spa->spa_root_vdev->vdev_child[vdevid];
usr/src/uts/common/fs/zfs/zio.c
930
zio_read(zio_t *pio, spa_t *spa, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/zio.c
936
zfs_blkptr_verify(spa, bp);
usr/src/uts/common/fs/zfs/zio.c
938
zio = zio_create(pio, spa, BP_PHYSICAL_BIRTH(bp), bp,
usr/src/uts/common/fs/zfs/zio.c
948
zio_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp,
usr/src/uts/common/fs/zfs/zio.c
964
zp->zp_copies <= spa_max_replication(spa));
usr/src/uts/common/fs/zfs/zio.c
966
zio = zio_create(pio, spa, txg, bp, data, lsize, psize, done, private,
usr/src/uts/common/fs/zfs/zio.c
993
zio_rewrite(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, abd_t *data,
usr/src/uts/common/fs/zfs/zio.c
999
zio = zio_create(pio, spa, txg, bp, data, size, size, done, private,
usr/src/uts/common/fs/zfs/zio_checksum.c
238
zio_checksum_dedup_select(spa_t *spa, enum zio_checksum child,
usr/src/uts/common/fs/zfs/zio_checksum.c
249
return (spa_dedup_checksum(spa));
usr/src/uts/common/fs/zfs/zio_checksum.c
252
return (spa_dedup_checksum(spa) | ZIO_CHECKSUM_VERIFY);
usr/src/uts/common/fs/zfs/zio_checksum.c
292
zio_checksum_template_init(enum zio_checksum checksum, spa_t *spa)
usr/src/uts/common/fs/zfs/zio_checksum.c
298
if (spa->spa_cksum_tmpls[checksum] != NULL)
usr/src/uts/common/fs/zfs/zio_checksum.c
302
mutex_enter(&spa->spa_cksum_tmpls_lock);
usr/src/uts/common/fs/zfs/zio_checksum.c
303
if (spa->spa_cksum_tmpls[checksum] == NULL) {
usr/src/uts/common/fs/zfs/zio_checksum.c
304
spa->spa_cksum_tmpls[checksum] =
usr/src/uts/common/fs/zfs/zio_checksum.c
305
ci->ci_tmpl_init(&spa->spa_cksum_salt);
usr/src/uts/common/fs/zfs/zio_checksum.c
306
VERIFY(spa->spa_cksum_tmpls[checksum] != NULL);
usr/src/uts/common/fs/zfs/zio_checksum.c
308
mutex_exit(&spa->spa_cksum_tmpls_lock);
usr/src/uts/common/fs/zfs/zio_checksum.c
342
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio_checksum.c
350
zio_checksum_template_init(checksum, spa);
usr/src/uts/common/fs/zfs/zio_checksum.c
388
ci->ci_func[0](abd, size, spa->spa_cksum_tmpls[checksum],
usr/src/uts/common/fs/zfs/zio_checksum.c
399
ci->ci_func[0](abd, size, spa->spa_cksum_tmpls[checksum],
usr/src/uts/common/fs/zfs/zio_checksum.c
408
zio_checksum_error_impl(spa_t *spa, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/zio_checksum.c
425
zio_checksum_template_init(checksum, spa);
usr/src/uts/common/fs/zfs/zio_checksum.c
479
spa->spa_cksum_tmpls[checksum], &actual_cksum);
usr/src/uts/common/fs/zfs/zio_checksum.c
492
spa->spa_cksum_tmpls[checksum], &actual_cksum);
usr/src/uts/common/fs/zfs/zio_checksum.c
540
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zio_checksum.c
542
error = zio_checksum_error_impl(spa, bp, checksum, data, size,
usr/src/uts/common/fs/zfs/zio_checksum.c
560
zio_checksum_templates_free(spa_t *spa)
usr/src/uts/common/fs/zfs/zio_checksum.c
564
if (spa->spa_cksum_tmpls[checksum] != NULL) {
usr/src/uts/common/fs/zfs/zio_checksum.c
568
ci->ci_tmpl_free(spa->spa_cksum_tmpls[checksum]);
usr/src/uts/common/fs/zfs/zio_checksum.c
569
spa->spa_cksum_tmpls[checksum] = NULL;
usr/src/uts/common/fs/zfs/zio_compress.c
67
zio_compress_select(spa_t *spa, enum zio_compress child,
usr/src/uts/common/fs/zfs/zio_compress.c
81
if (spa_feature_is_active(spa, SPA_FEATURE_LZ4_COMPRESS))
usr/src/uts/common/fs/zfs/zio_inject.c
164
zio_handle_panic_injection(spa_t *spa, char *tag, uint64_t type)
usr/src/uts/common/fs/zfs/zio_inject.c
173
if (spa != handler->zi_spa)
usr/src/uts/common/fs/zfs/zio_inject.c
221
zio_handle_decrypt_injection(spa_t *spa, const zbookmark_phys_t *zb,
usr/src/uts/common/fs/zfs/zio_inject.c
232
if (spa != handler->zi_spa ||
usr/src/uts/common/fs/zfs/zio_inject.c
459
spa_handle_ignored_writes(spa_t *spa)
usr/src/uts/common/fs/zfs/zio_inject.c
471
if (spa != handler->zi_spa ||
usr/src/uts/common/fs/zfs/zio_inject.c
485
spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/zio_inject.c
722
spa_t *spa;
usr/src/uts/common/fs/zfs/zio_inject.c
766
if ((spa = spa_inject_addref(name)) == NULL)
usr/src/uts/common/fs/zfs/zio_inject.c
771
handler->zi_spa = spa;
usr/src/uts/common/fs/zfs/zvol.c
1140
spa_t *spa = dmu_objset_spa(zv->zv_objset);
usr/src/uts/common/fs/zfs/zvol.c
1160
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/zvol.c
1162
vd = vdev_lookup_top(spa, DVA_GET_VDEV(&ze->ze_dva));
usr/src/uts/common/fs/zfs/zvol.c
1168
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/zvol.c
1891
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/zvol.c
1893
if (spa_feature_is_active(spa, SPA_FEATURE_MULTI_VDEV_CRASH_DUMP))
usr/src/uts/common/fs/zfs/zvol.c
1902
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/zvol.c
1904
spa_feature_incr(spa, SPA_FEATURE_MULTI_VDEV_CRASH_DUMP, tx);
usr/src/uts/common/fs/zfs/zvol.c
1913
spa_t *spa = dmu_objset_spa(os);
usr/src/uts/common/fs/zfs/zvol.c
1914
vdev_t *vd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/zvol.c
1916
uint64_t version = spa_version(spa);
usr/src/uts/common/fs/zfs/zvol.c
1940
if (!spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/zvol.c
1943
(void) dsl_sync_task(spa_name(spa),
usr/src/uts/common/fs/zfs/zvol.c
2036
checksum = spa_feature_is_active(spa,
usr/src/uts/common/fs/zfs/zvol.c
261
zvol_map_block(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,