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
1012
dump_metaslab_groups(spa_t *spa)
usr/src/cmd/zdb/zdb.c
1014
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
1015
metaslab_class_t *mc = spa_normal_class(spa);
usr/src/cmd/zdb/zdb.c
1043
(void) printf("\tpool %s\tfragmentation", spa_name(spa));
usr/src/cmd/zdb/zdb.c
1125
dump_metaslabs(spa_t *spa)
usr/src/cmd/zdb/zdb.c
1127
vdev_t *vd, *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
1169
dump_log_spacemaps(spa_t *spa)
usr/src/cmd/zdb/zdb.c
1171
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/cmd/zdb/zdb.c
1175
for (spa_log_sm_t *sls = avl_first(&spa->spa_sm_logs_by_txg);
usr/src/cmd/zdb/zdb.c
1176
sls; sls = AVL_NEXT(&spa->spa_sm_logs_by_txg, sls)) {
usr/src/cmd/zdb/zdb.c
1178
VERIFY0(space_map_open(&sm, spa_meta_objset(spa),
usr/src/cmd/zdb/zdb.c
1183
dump_spacemap(spa->spa_meta_objset, sm);
usr/src/cmd/zdb/zdb.c
1283
dump_all_ddts(spa_t *spa)
usr/src/cmd/zdb/zdb.c
1292
ddt_t *ddt = spa->spa_ddt[c];
usr/src/cmd/zdb/zdb.c
1301
ddt_get_dedup_stats(spa, &dds_total);
usr/src/cmd/zdb/zdb.c
1312
ddt_get_dedup_histogram(spa, &ddh_total);
usr/src/cmd/zdb/zdb.c
1334
spa_t *spa = vd->vdev_spa;
usr/src/cmd/zdb/zdb.c
1340
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/cmd/zdb/zdb.c
1342
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/cmd/zdb/zdb.c
1349
vd->vdev_parent ? vd->vdev_ops->vdev_op_type : spa_name(spa),
usr/src/cmd/zdb/zdb.c
1360
dump_spacemap(spa->spa_meta_objset, vd->vdev_dtl_sm);
usr/src/cmd/zdb/zdb.c
1368
dump_history(spa_t *spa)
usr/src/cmd/zdb/zdb.c
1380
if ((error = spa_history_get(spa, &off, &len, buf)) != 0) {
usr/src/cmd/zdb/zdb.c
1580
visit_indirect(spa_t *spa, const dnode_phys_t *dnp,
usr/src/cmd/zdb/zdb.c
1598
err = arc_read(NULL, spa, bp, arc_getbuf_func, &buf,
usr/src/cmd/zdb/zdb.c
1612
err = visit_indirect(spa, dnp, cbp, &czb);
usr/src/cmd/zdb/zdb.c
2621
dump_config(spa_t *spa)
usr/src/cmd/zdb/zdb.c
2628
error = dmu_bonus_hold(spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
2629
spa->spa_config_object, FTAG, &db);
usr/src/cmd/zdb/zdb.c
2636
dump_packed_nvlist(spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
2637
spa->spa_config_object, (void *)&nvsize, 1);
usr/src/cmd/zdb/zdb.c
2640
(u_longlong_t)spa->spa_config_object, error);
usr/src/cmd/zdb/zdb.c
3478
same_metaslab(spa_t *spa, uint64_t vdev, uint64_t off1, uint64_t off2)
usr/src/cmd/zdb/zdb.c
3480
vdev_t *vd = vdev_lookup_top(spa, vdev);
usr/src/cmd/zdb/zdb.c
3610
spa_t *spa = zio->io_spa;
usr/src/cmd/zdb/zdb.c
3618
mutex_enter(&spa->spa_scrub_lock);
usr/src/cmd/zdb/zdb.c
3619
spa->spa_load_verify_ios--;
usr/src/cmd/zdb/zdb.c
3620
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/cmd/zdb/zdb.c
3643
mutex_exit(&spa->spa_scrub_lock);
usr/src/cmd/zdb/zdb.c
3647
zdb_blkptr_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/cmd/zdb/zdb.c
3689
mutex_enter(&spa->spa_scrub_lock);
usr/src/cmd/zdb/zdb.c
3690
while (spa->spa_load_verify_ios > max_inflight)
usr/src/cmd/zdb/zdb.c
3691
cv_wait(&spa->spa_scrub_io_cv, &spa->spa_scrub_lock);
usr/src/cmd/zdb/zdb.c
3692
spa->spa_load_verify_ios++;
usr/src/cmd/zdb/zdb.c
3693
mutex_exit(&spa->spa_scrub_lock);
usr/src/cmd/zdb/zdb.c
3695
zio_nowait(zio_read(NULL, spa, bp, abd, size,
usr/src/cmd/zdb/zdb.c
3748
typedef int (*zdb_log_sm_cb_t)(spa_t *spa, space_map_entry_t *sme,
usr/src/cmd/zdb/zdb.c
3767
iterate_through_spacemap_logs(spa_t *spa, zdb_log_sm_cb_t cb, void *arg)
usr/src/cmd/zdb/zdb.c
3769
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/cmd/zdb/zdb.c
3772
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
3773
for (spa_log_sm_t *sls = avl_first(&spa->spa_sm_logs_by_txg);
usr/src/cmd/zdb/zdb.c
3774
sls; sls = AVL_NEXT(&spa->spa_sm_logs_by_txg, sls)) {
usr/src/cmd/zdb/zdb.c
3776
VERIFY0(space_map_open(&sm, spa_meta_objset(spa),
usr/src/cmd/zdb/zdb.c
3780
.uic_spa = spa,
usr/src/cmd/zdb/zdb.c
3790
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/cmd/zdb/zdb.c
3795
load_unflushed_svr_segs_cb(spa_t *spa, space_map_entry_t *sme,
usr/src/cmd/zdb/zdb.c
3807
vdev_t *vd = vdev_lookup_top(spa, sme->sme_vdev);
usr/src/cmd/zdb/zdb.c
3828
zdb_ddt_leak_init(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
3837
while ((error = ddt_walk(spa, &ddb, &dde)) == 0) {
usr/src/cmd/zdb/zdb.c
3859
ddt_t *ddt = spa->spa_ddt[ddb.ddb_checksum];
usr/src/cmd/zdb/zdb.c
3902
zdb_claim_removing(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
3907
if (spa->spa_vdev_removal == NULL)
usr/src/cmd/zdb/zdb.c
3910
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
3912
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/cmd/zdb/zdb.c
3913
vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/cmd/zdb/zdb.c
3932
iterate_through_spacemap_logs(spa, load_unflushed_svr_segs_cb, svr);
usr/src/cmd/zdb/zdb.c
3946
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/cmd/zdb/zdb.c
3954
spa_t *spa = zcb->zcb_spa;
usr/src/cmd/zdb/zdb.c
3961
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
3964
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/cmd/zdb/zdb.c
3981
spa_t *spa = vd->vdev_spa;
usr/src/cmd/zdb/zdb.c
3983
&spa->spa_condensing_indirect_phys;
usr/src/cmd/zdb/zdb.c
3995
VERIFY0(space_map_open(&prev_obsolete_sm, spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
4053
spa_t *spa = vd->vdev_spa;
usr/src/cmd/zdb/zdb.c
4076
if (zap_contains(spa_meta_objset(spa), vd->vdev_top_zap,
usr/src/cmd/zdb/zdb.c
4080
VERIFY0(zap_lookup(spa_meta_objset(spa), vd->vdev_top_zap,
usr/src/cmd/zdb/zdb.c
4088
VERIFY0(space_map_open(&checkpoint_sm, spa_meta_objset(spa),
usr/src/cmd/zdb/zdb.c
4100
zdb_leak_init_exclude_checkpoint(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
4104
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
4112
count_unflushed_space_cb(spa_t *spa, space_map_entry_t *sme,
usr/src/cmd/zdb/zdb.c
4119
vdev_t *vd = vdev_lookup_top(spa, vdev_id);
usr/src/cmd/zdb/zdb.c
4138
get_unflushed_alloc_space(spa_t *spa)
usr/src/cmd/zdb/zdb.c
4144
iterate_through_spacemap_logs(spa, count_unflushed_space_cb,
usr/src/cmd/zdb/zdb.c
4150
load_unflushed_cb(spa_t *spa, space_map_entry_t *sme, uint64_t txg, void *arg)
usr/src/cmd/zdb/zdb.c
4156
vdev_t *vd = vdev_lookup_top(spa, vdev_id);
usr/src/cmd/zdb/zdb.c
4179
load_unflushed_to_ms_allocatables(spa_t *spa, maptype_t maptype)
usr/src/cmd/zdb/zdb.c
4181
iterate_through_spacemap_logs(spa, load_unflushed_cb, &maptype);
usr/src/cmd/zdb/zdb.c
4185
load_concrete_ms_allocatable_trees(spa_t *spa, maptype_t maptype)
usr/src/cmd/zdb/zdb.c
4187
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
4225
load_unflushed_to_ms_allocatables(spa, maptype);
usr/src/cmd/zdb/zdb.c
4273
zdb_leak_init_prepare_indirect_vdevs(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
4277
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
4321
zdb_leak_init(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
4323
zcb->zcb_spa = spa;
usr/src/cmd/zdb/zdb.c
4328
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/cmd/zdb/zdb.c
4329
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
4336
spa->spa_normal_class->mc_ops = &zdb_metaslab_ops;
usr/src/cmd/zdb/zdb.c
4337
spa->spa_log_class->mc_ops = &zdb_metaslab_ops;
usr/src/cmd/zdb/zdb.c
4349
zdb_leak_init_prepare_indirect_vdevs(spa, zcb);
usr/src/cmd/zdb/zdb.c
4350
load_concrete_ms_allocatable_trees(spa, SM_ALLOC);
usr/src/cmd/zdb/zdb.c
4371
zdb_leak_init_exclude_checkpoint(spa, zcb);
usr/src/cmd/zdb/zdb.c
4372
ASSERT3U(zcb->zcb_checkpoint_size, ==, spa_get_checkpoint_space(spa));
usr/src/cmd/zdb/zdb.c
4378
ASSERT(spa_feature_is_enabled(spa,
usr/src/cmd/zdb/zdb.c
4384
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
4385
zdb_ddt_leak_init(spa, zcb);
usr/src/cmd/zdb/zdb.c
4386
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/cmd/zdb/zdb.c
4460
zdb_leak_fini(spa_t *spa, zdb_cb_t *zcb)
usr/src/cmd/zdb/zdb.c
4467
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
4533
dump_block_stats(spa_t *spa)
usr/src/cmd/zdb/zdb.c
4564
zdb_leak_init(spa, &zcb);
usr/src/cmd/zdb/zdb.c
4569
(void) bpobj_iterate_nofree(&spa->spa_deferred_bpobj,
usr/src/cmd/zdb/zdb.c
4572
if (spa_version(spa) >= SPA_VERSION_DEADLISTS) {
usr/src/cmd/zdb/zdb.c
4573
(void) bpobj_iterate_nofree(&spa->spa_dsl_pool->dp_free_bpobj,
usr/src/cmd/zdb/zdb.c
4577
zdb_claim_removing(spa, &zcb);
usr/src/cmd/zdb/zdb.c
4579
if (spa_feature_is_active(spa, SPA_FEATURE_ASYNC_DESTROY)) {
usr/src/cmd/zdb/zdb.c
4580
VERIFY3U(0, ==, bptree_iterate(spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
4581
spa->spa_dsl_pool->dp_bptree_obj, B_FALSE, count_block_cb,
usr/src/cmd/zdb/zdb.c
4588
zcb.zcb_totalasize = metaslab_class_get_alloc(spa_normal_class(spa));
usr/src/cmd/zdb/zdb.c
4589
zcb.zcb_totalasize += metaslab_class_get_alloc(spa_special_class(spa));
usr/src/cmd/zdb/zdb.c
4590
zcb.zcb_totalasize += metaslab_class_get_alloc(spa_dedup_class(spa));
usr/src/cmd/zdb/zdb.c
4592
err = traverse_pool(spa, 0, flags, zdb_blkptr_cb, &zcb);
usr/src/cmd/zdb/zdb.c
4601
(void) zio_wait(spa->spa_async_zio_root[i]);
usr/src/cmd/zdb/zdb.c
4602
spa->spa_async_zio_root[i] = zio_root(spa, NULL, NULL,
usr/src/cmd/zdb/zdb.c
4628
leaks |= zdb_leak_fini(spa, &zcb);
usr/src/cmd/zdb/zdb.c
4632
norm_alloc = metaslab_class_get_alloc(spa_normal_class(spa));
usr/src/cmd/zdb/zdb.c
4633
norm_space = metaslab_class_get_space(spa_normal_class(spa));
usr/src/cmd/zdb/zdb.c
4636
metaslab_class_get_alloc(spa_log_class(spa)) +
usr/src/cmd/zdb/zdb.c
4637
metaslab_class_get_alloc(spa_special_class(spa)) +
usr/src/cmd/zdb/zdb.c
4638
metaslab_class_get_alloc(spa_dedup_class(spa)) +
usr/src/cmd/zdb/zdb.c
4639
get_unflushed_alloc_space(spa);
usr/src/cmd/zdb/zdb.c
4682
if (spa_special_class(spa)->mc_rotor != NULL) {
usr/src/cmd/zdb/zdb.c
4684
spa_special_class(spa));
usr/src/cmd/zdb/zdb.c
4686
spa_special_class(spa));
usr/src/cmd/zdb/zdb.c
4693
if (spa_dedup_class(spa)->mc_rotor != NULL) {
usr/src/cmd/zdb/zdb.c
4695
spa_dedup_class(spa));
usr/src/cmd/zdb/zdb.c
4697
spa_dedup_class(spa));
usr/src/cmd/zdb/zdb.c
4730
for (uint64_t v = 0; v < spa->spa_root_vdev->vdev_children; v++) {
usr/src/cmd/zdb/zdb.c
4731
vdev_t *vd = spa->spa_root_vdev->vdev_child[v];
usr/src/cmd/zdb/zdb.c
4861
zdb_ddt_add_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/cmd/zdb/zdb.c
4896
zdde->zdde_ref_dsize += bp_get_dsize_sync(spa, bp);
usr/src/cmd/zdb/zdb.c
4902
dump_simulated_ddt(spa_t *spa)
usr/src/cmd/zdb/zdb.c
4915
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
4917
(void) traverse_pool(spa, 0, TRAVERSE_PRE | TRAVERSE_PREFETCH_METADATA |
usr/src/cmd/zdb/zdb.c
4920
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/cmd/zdb/zdb.c
4955
verify_device_removal_feature_counts(spa_t *spa)
usr/src/cmd/zdb/zdb.c
4969
&spa->spa_condensing_indirect_phys;
usr/src/cmd/zdb/zdb.c
4971
vdev_t *vd = spa->spa_root_vdev->vdev_child[scip->scip_vdev];
usr/src/cmd/zdb/zdb.c
4983
spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
4986
dump_spacemap(spa->spa_meta_objset, prev_obsolete_sm);
usr/src/cmd/zdb/zdb.c
4994
for (uint64_t i = 0; i < spa->spa_root_vdev->vdev_children; i++) {
usr/src/cmd/zdb/zdb.c
4995
vdev_t *vd = spa->spa_root_vdev->vdev_child[i];
usr/src/cmd/zdb/zdb.c
5017
(void) feature_get_refcount(spa,
usr/src/cmd/zdb/zdb.c
5020
(void) feature_get_refcount(spa,
usr/src/cmd/zdb/zdb.c
5036
if (zap_contains(spa_meta_objset(spa), DMU_POOL_DIRECTORY_OBJECT,
usr/src/cmd/zdb/zdb.c
5074
spa_t *spa;
usr/src/cmd/zdb/zdb.c
5081
if ((spa = spa_lookup(target)) != NULL) {
usr/src/cmd/zdb/zdb.c
5082
spa->spa_import_flags |= ZFS_IMPORT_SKIP_MMP;
usr/src/cmd/zdb/zdb.c
5352
verify_checkpoint_blocks(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5366
checkpoint_pool = import_checkpointed_state(spa->spa_name, config,
usr/src/cmd/zdb/zdb.c
5368
ASSERT(strcmp(spa->spa_name, checkpoint_pool) != 0);
usr/src/cmd/zdb/zdb.c
5381
verify_checkpoint_vdev_spacemaps(checkpoint_spa, spa);
usr/src/cmd/zdb/zdb.c
5388
verify_checkpoint_ms_spacemaps(checkpoint_spa, spa);
usr/src/cmd/zdb/zdb.c
5398
dump_leftover_checkpoint_blocks(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5400
vdev_t *rvd = spa->spa_root_vdev;
usr/src/cmd/zdb/zdb.c
5411
if (zap_contains(spa_meta_objset(spa), vd->vdev_top_zap,
usr/src/cmd/zdb/zdb.c
5415
VERIFY0(zap_lookup(spa_meta_objset(spa), vd->vdev_top_zap,
usr/src/cmd/zdb/zdb.c
5419
VERIFY0(space_map_open(&checkpoint_sm, spa_meta_objset(spa),
usr/src/cmd/zdb/zdb.c
5421
dump_spacemap(spa->spa_meta_objset, checkpoint_sm);
usr/src/cmd/zdb/zdb.c
5427
verify_checkpoint(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5432
if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/cmd/zdb/zdb.c
5435
error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/cmd/zdb/zdb.c
5447
dump_leftover_checkpoint_blocks(spa);
usr/src/cmd/zdb/zdb.c
5463
verify_checkpoint_blocks(spa);
usr/src/cmd/zdb/zdb.c
5535
mos_leak_log_spacemaps(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5539
int error = zap_lookup(spa_meta_objset(spa),
usr/src/cmd/zdb/zdb.c
5547
for (spa_log_sm_t *sls = avl_first(&spa->spa_sm_logs_by_txg);
usr/src/cmd/zdb/zdb.c
5548
sls; sls = AVL_NEXT(&spa->spa_sm_logs_by_txg, sls))
usr/src/cmd/zdb/zdb.c
5553
dump_mos_leaks(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5556
objset_t *mos = spa->spa_meta_objset;
usr/src/cmd/zdb/zdb.c
5557
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/cmd/zdb/zdb.c
5562
mos_obj_refd(spa->spa_pool_props_object);
usr/src/cmd/zdb/zdb.c
5563
mos_obj_refd(spa->spa_config_object);
usr/src/cmd/zdb/zdb.c
5564
mos_obj_refd(spa->spa_ddt_stat_object);
usr/src/cmd/zdb/zdb.c
5565
mos_obj_refd(spa->spa_feat_desc_obj);
usr/src/cmd/zdb/zdb.c
5566
mos_obj_refd(spa->spa_feat_enabled_txg_obj);
usr/src/cmd/zdb/zdb.c
5567
mos_obj_refd(spa->spa_feat_for_read_obj);
usr/src/cmd/zdb/zdb.c
5568
mos_obj_refd(spa->spa_feat_for_write_obj);
usr/src/cmd/zdb/zdb.c
5569
mos_obj_refd(spa->spa_history);
usr/src/cmd/zdb/zdb.c
5570
mos_obj_refd(spa->spa_errlog_last);
usr/src/cmd/zdb/zdb.c
5571
mos_obj_refd(spa->spa_errlog_scrub);
usr/src/cmd/zdb/zdb.c
5572
mos_obj_refd(spa->spa_all_vdev_zaps);
usr/src/cmd/zdb/zdb.c
5573
mos_obj_refd(spa->spa_dsl_pool->dp_bptree_obj);
usr/src/cmd/zdb/zdb.c
5574
mos_obj_refd(spa->spa_dsl_pool->dp_tmp_userrefs_obj);
usr/src/cmd/zdb/zdb.c
5575
mos_obj_refd(spa->spa_dsl_pool->dp_scan->scn_phys.scn_queue_obj);
usr/src/cmd/zdb/zdb.c
5576
bpobj_count_refd(&spa->spa_deferred_bpobj);
usr/src/cmd/zdb/zdb.c
5580
mos_obj_refd(spa->spa_l2cache.sav_object);
usr/src/cmd/zdb/zdb.c
5581
mos_obj_refd(spa->spa_spares.sav_object);
usr/src/cmd/zdb/zdb.c
5583
if (spa->spa_syncing_log_sm != NULL)
usr/src/cmd/zdb/zdb.c
5584
mos_obj_refd(spa->spa_syncing_log_sm->sm_object);
usr/src/cmd/zdb/zdb.c
5585
mos_leak_log_spacemaps(spa);
usr/src/cmd/zdb/zdb.c
5587
mos_obj_refd(spa->spa_condensing_indirect_phys.
usr/src/cmd/zdb/zdb.c
5589
mos_obj_refd(spa->spa_condensing_indirect_phys.
usr/src/cmd/zdb/zdb.c
5591
if (spa->spa_condensing_indirect_phys.scip_next_mapping_object != 0) {
usr/src/cmd/zdb/zdb.c
5594
spa->spa_condensing_indirect_phys.scip_next_mapping_object);
usr/src/cmd/zdb/zdb.c
5620
mos_leak_vdev(spa->spa_root_vdev);
usr/src/cmd/zdb/zdb.c
5626
ddt_t *ddt = spa->spa_ddt[cksum];
usr/src/cmd/zdb/zdb.c
5675
log_spacemap_obsolete_stats_cb(spa_t *spa, space_map_entry_t *sme,
usr/src/cmd/zdb/zdb.c
5700
vdev_t *vd = vdev_lookup_top(spa, vdev_id);
usr/src/cmd/zdb/zdb.c
5715
dump_log_spacemap_obsolete_stats(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5717
if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
usr/src/cmd/zdb/zdb.c
5725
iterate_through_spacemap_logs(spa,
usr/src/cmd/zdb/zdb.c
5740
dump_zpool(spa_t *spa)
usr/src/cmd/zdb/zdb.c
5742
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/cmd/zdb/zdb.c
5746
dump_simulated_ddt(spa);
usr/src/cmd/zdb/zdb.c
5752
dump_nvlist(spa->spa_config, 8);
usr/src/cmd/zdb/zdb.c
5756
dump_config(spa);
usr/src/cmd/zdb/zdb.c
5759
dump_uberblock(&spa->spa_uberblock, "\nUberblock:\n", "\n");
usr/src/cmd/zdb/zdb.c
5762
dump_all_ddts(spa);
usr/src/cmd/zdb/zdb.c
5765
dump_metaslabs(spa);
usr/src/cmd/zdb/zdb.c
5767
dump_metaslab_groups(spa);
usr/src/cmd/zdb/zdb.c
5769
dump_log_spacemaps(spa);
usr/src/cmd/zdb/zdb.c
5770
dump_log_spacemap_obsolete_stats(spa);
usr/src/cmd/zdb/zdb.c
5779
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/cmd/zdb/zdb.c
5780
dump_full_bpobj(&spa->spa_deferred_bpobj,
usr/src/cmd/zdb/zdb.c
5782
if (spa_version(spa) >= SPA_VERSION_DEADLISTS) {
usr/src/cmd/zdb/zdb.c
5787
ASSERT(spa_feature_is_enabled(spa,
usr/src/cmd/zdb/zdb.c
5793
if (spa_feature_is_active(spa,
usr/src/cmd/zdb/zdb.c
5795
dump_bptree(spa->spa_meta_objset,
usr/src/cmd/zdb/zdb.c
5799
dump_dtl(spa->spa_root_vdev, 0);
usr/src/cmd/zdb/zdb.c
5801
(void) dmu_objset_find(spa_name(spa), dump_one_dir,
usr/src/cmd/zdb/zdb.c
5805
rc = dump_mos_leaks(spa);
usr/src/cmd/zdb/zdb.c
5812
!spa_feature_is_enabled(spa, f)) {
usr/src/cmd/zdb/zdb.c
5816
(void) feature_get_refcount(spa,
usr/src/cmd/zdb/zdb.c
5834
rc = verify_device_removal_feature_counts(spa);
usr/src/cmd/zdb/zdb.c
5838
rc = dump_block_stats(spa);
usr/src/cmd/zdb/zdb.c
5841
rc = verify_spacemap_refcounts(spa);
usr/src/cmd/zdb/zdb.c
5844
show_pool_stats(spa);
usr/src/cmd/zdb/zdb.c
5847
dump_history(spa);
usr/src/cmd/zdb/zdb.c
5850
rc = verify_checkpoint(spa);
usr/src/cmd/zdb/zdb.c
6022
zdb_read_block(char *thing, spa_t *spa)
usr/src/cmd/zdb/zdb.c
6090
vd = zdb_vdev_lookup(spa->spa_root_vdev, vdev);
usr/src/cmd/zdb/zdb.c
6128
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/cmd/zdb/zdb.c
6129
zio = zio_root(spa, NULL, NULL, 0);
usr/src/cmd/zdb/zdb.c
6135
zio_nowait(zio_read(zio, spa, bp, pabd, psize, NULL, NULL,
usr/src/cmd/zdb/zdb.c
6151
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/cmd/zdb/zdb.c
6262
spa_t *spa = NULL;
usr/src/cmd/zdb/zdb.c
6543
error = spa_open(checkpoint_pool, &spa, FTAG);
usr/src/cmd/zdb/zdb.c
6552
error = spa_open_rewind(target, &spa, FTAG, policy,
usr/src/cmd/zdb/zdb.c
6561
if ((spa = spa_lookup(target)) != NULL &&
usr/src/cmd/zdb/zdb.c
6562
spa->spa_log_state == SPA_LOG_MISSING) {
usr/src/cmd/zdb/zdb.c
6563
spa->spa_log_state = SPA_LOG_CLEAR;
usr/src/cmd/zdb/zdb.c
6569
error = spa_open_rewind(target, &spa,
usr/src/cmd/zdb/zdb.c
6600
dump_dir(spa->spa_meta_objset);
usr/src/cmd/zdb/zdb.c
6602
dump_zpool(spa);
usr/src/cmd/zdb/zdb.c
6615
zdb_read_block(argv[i], spa);
usr/src/cmd/zdb/zdb.c
6627
spa_close(spa, FTAG);
usr/src/cmd/zdb/zdb.c
735
get_prev_obsolete_spacemap_refcount(spa_t *spa)
usr/src/cmd/zdb/zdb.c
738
spa->spa_condensing_indirect_phys.scip_prev_obsolete_sm_object;
usr/src/cmd/zdb/zdb.c
741
VERIFY0(dmu_object_info(spa->spa_meta_objset, prev_obj, &doi));
usr/src/cmd/zdb/zdb.c
766
get_log_spacemap_refcount(spa_t *spa)
usr/src/cmd/zdb/zdb.c
768
return (avl_numnodes(&spa->spa_sm_logs_by_txg));
usr/src/cmd/zdb/zdb.c
772
verify_spacemap_refcounts(spa_t *spa)
usr/src/cmd/zdb/zdb.c
779
(void) feature_get_refcount(spa,
usr/src/cmd/zdb/zdb.c
782
dtl_refcount = get_dtl_refcount(spa->spa_root_vdev);
usr/src/cmd/zdb/zdb.c
783
metaslab_refcount = get_metaslab_refcount(spa->spa_root_vdev);
usr/src/cmd/zdb/zdb.c
784
obsolete_refcount = get_obsolete_refcount(spa->spa_root_vdev);
usr/src/cmd/zdb/zdb.c
785
prev_obsolete_refcount = get_prev_obsolete_spacemap_refcount(spa);
usr/src/cmd/zdb/zdb.c
786
checkpoint_refcount = get_checkpoint_refcount(spa->spa_root_vdev);
usr/src/cmd/zdb/zdb.c
787
log_spacemap_refcount = get_log_spacemap_refcount(spa);
usr/src/cmd/zdb/zdb.c
929
spa_t *spa = vd->vdev_spa;
usr/src/cmd/zdb/zdb.c
951
spa_feature_is_active(spa, SPA_FEATURE_SPACEMAP_HISTOGRAM)) {
usr/src/cmd/zdb/zdb.c
963
dump_spacemap(spa->spa_meta_objset, msp->ms_sm);
usr/src/cmd/zdb/zdb.c
965
if (spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP)) {
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/test/os-tests/tests/spawn/spawn-syscall.c
313
spawn_attr_t *spa;
usr/src/test/os-tests/tests/spawn/spawn-syscall.c
321
spa = (spawn_attr_t *)&sp->sp_data[0];
usr/src/test/os-tests/tests/spawn/spawn-syscall.c
322
spa->sa_psflags = POSIX_SPAWN_SETSCHEDPARAM;
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
54
spa_feature_incr(spa, SPA_FEATURE_EMPTY_BPOBJ, tx);
usr/src/uts/common/fs/zfs/bpobj.c
544
spa_t *spa;
usr/src/uts/common/fs/zfs/bpobj.c
559
if (dsl_pool_sync_context(spa_get_dsl(sra->spa)))
usr/src/uts/common/fs/zfs/bpobj.c
560
sra->used += bp_get_dsize_sync(sra->spa, bp);
usr/src/uts/common/fs/zfs/bpobj.c
562
sra->used += bp_get_dsize(sra->spa, bp);
usr/src/uts/common/fs/zfs/bpobj.c
608
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
1024
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1029
spa->spa_scan_pass_scrub_pause = gethrestime_sec();
usr/src/uts/common/fs/zfs/dsl_scan.c
1033
spa_event_notify(spa, NULL, NULL, ESC_ZFS_SCRUB_PAUSED);
usr/src/uts/common/fs/zfs/dsl_scan.c
1034
spa_notify_waiters(spa);
usr/src/uts/common/fs/zfs/dsl_scan.c
1043
spa->spa_scan_pass_scrub_spent_paused +=
usr/src/uts/common/fs/zfs/dsl_scan.c
1044
gethrestime_sec() - spa->spa_scan_pass_scrub_pause;
usr/src/uts/common/fs/zfs/dsl_scan.c
1045
spa->spa_scan_pass_scrub_pause = 0;
usr/src/uts/common/fs/zfs/dsl_scan.c
1161
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1162
dmu_object_type_t ot = (spa_version(spa) >= SPA_VERSION_DSL_SCRUB) ?
usr/src/uts/common/fs/zfs/dsl_scan.c
1215
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1227
alloc = metaslab_class_get_alloc(spa_normal_class(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
1228
alloc += metaslab_class_get_alloc(spa_special_class(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
1229
alloc += metaslab_class_get_alloc(spa_dedup_class(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
1514
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1539
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1544
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1549
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/dsl_scan.c
1550
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1589
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1592
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1593
ASSERT3U(spa->spa_scrub_inflight, >=, BP_GET_PSIZE(bp));
usr/src/uts/common/fs/zfs/dsl_scan.c
1594
spa->spa_scrub_inflight -= BP_GET_PSIZE(bp);
usr/src/uts/common/fs/zfs/dsl_scan.c
1595
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/dsl_scan.c
1596
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1651
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
1652
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/dsl_scan.c
1662
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1670
spa->spa_scrub_inflight >= scn->scn_maxinflight_bytes)) {
usr/src/uts/common/fs/zfs/dsl_scan.c
1671
cv_wait(&spa->spa_scrub_io_cv, &spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1676
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1682
spa->spa_scrub_inflight += BP_GET_PSIZE(&spic->spic_bp);
usr/src/uts/common/fs/zfs/dsl_scan.c
1685
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1705
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
1712
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3011
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3014
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
usr/src/uts/common/fs/zfs/dsl_scan.c
3022
int nthreads = spa->spa_root_vdev->vdev_children;
usr/src/uts/common/fs/zfs/dsl_scan.c
3032
"dsl_scan_tq_%s", spa->spa_name);
usr/src/uts/common/fs/zfs/dsl_scan.c
3038
for (uint64_t i = 0; i < spa->spa_root_vdev->vdev_children; i++) {
usr/src/uts/common/fs/zfs/dsl_scan.c
3039
vdev_t *vd = spa->spa_root_vdev->vdev_child[i];
usr/src/uts/common/fs/zfs/dsl_scan.c
3099
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3104
for (i = 0; i < spa->spa_root_vdev->vdev_children; i++) {
usr/src/uts/common/fs/zfs/dsl_scan.c
3105
vdev_t *vd = spa->spa_root_vdev->vdev_child[i];
usr/src/uts/common/fs/zfs/dsl_scan.c
3150
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3153
if (spa->spa_load_state != SPA_LOAD_NONE)
usr/src/uts/common/fs/zfs/dsl_scan.c
3155
if (spa_shutting_down(spa))
usr/src/uts/common/fs/zfs/dsl_scan.c
3189
dsl_scan_need_resilver(spa_t *spa, const dva_t *dva, size_t psize,
usr/src/uts/common/fs/zfs/dsl_scan.c
3194
vd = vdev_lookup_top(spa, DVA_GET_VDEV(dva));
usr/src/uts/common/fs/zfs/dsl_scan.c
3250
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3252
if (spa_suspend_async_destroy(spa))
usr/src/uts/common/fs/zfs/dsl_scan.c
3256
spa_version(spa) >= SPA_VERSION_DEADLISTS) {
usr/src/uts/common/fs/zfs/dsl_scan.c
3259
scn->scn_zio_root = zio_root(spa, NULL,
usr/src/uts/common/fs/zfs/dsl_scan.c
3270
if (err == 0 && spa_feature_is_active(spa, SPA_FEATURE_ASYNC_DESTROY)) {
usr/src/uts/common/fs/zfs/dsl_scan.c
3273
scn->scn_zio_root = zio_root(spa, NULL,
usr/src/uts/common/fs/zfs/dsl_scan.c
3289
spa_feature_decr(spa, SPA_FEATURE_ASYNC_DESTROY, tx);
usr/src/uts/common/fs/zfs/dsl_scan.c
3290
ASSERT(!spa_feature_is_active(spa,
usr/src/uts/common/fs/zfs/dsl_scan.c
3327
ddt_sync(spa, tx->tx_txg);
usr/src/uts/common/fs/zfs/dsl_scan.c
3366
spa_notify_waiters(spa);
usr/src/uts/common/fs/zfs/dsl_scan.c
3401
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3405
if (spa->spa_resilver_deferred &&
usr/src/uts/common/fs/zfs/dsl_scan.c
3407
spa_feature_incr(spa, SPA_FEATURE_RESILVER_DEFER, tx);
usr/src/uts/common/fs/zfs/dsl_scan.c
3417
(spa->spa_resilver_deferred && zfs_resilver_disable_defer)) {
usr/src/uts/common/fs/zfs/dsl_scan.c
3420
if (vdev_resilver_needed(spa->spa_root_vdev, NULL, NULL))
usr/src/uts/common/fs/zfs/dsl_scan.c
3438
if (spa_shutting_down(spa))
usr/src/uts/common/fs/zfs/dsl_scan.c
3460
spa->spa_scrub_active = B_TRUE;
usr/src/uts/common/fs/zfs/dsl_scan.c
3480
if (spa->spa_syncing_txg < spa->spa_first_txg + SCAN_IMPORT_WAIT_TXGS)
usr/src/uts/common/fs/zfs/dsl_scan.c
3559
uint64_t nr_leaves = dsl_scan_count_leaves(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/dsl_scan.c
3603
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/dsl_scan.c
3659
ASSERT0(spa->spa_scrub_inflight);
usr/src/uts/common/fs/zfs/dsl_scan.c
3691
spa_t *spa = scn->scn_dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3694
atomic_add_64(&spa->spa_scan_pass_issued,
usr/src/uts/common/fs/zfs/dsl_scan.c
3805
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3822
vdev = vdev_lookup_top(spa, DVA_GET_VDEV(&dva));
usr/src/uts/common/fs/zfs/dsl_scan.c
3840
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3878
spa->spa_scan_pass_exam += DVA_GET_ASIZE(dva);
usr/src/uts/common/fs/zfs/dsl_scan.c
3882
needs_io = dsl_scan_need_resilver(spa, dva, psize,
usr/src/uts/common/fs/zfs/dsl_scan.c
3899
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3906
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3907
ASSERT3U(spa->spa_scrub_inflight, >=, BP_GET_PSIZE(bp));
usr/src/uts/common/fs/zfs/dsl_scan.c
3908
spa->spa_scrub_inflight -= BP_GET_PSIZE(bp);
usr/src/uts/common/fs/zfs/dsl_scan.c
3909
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/dsl_scan.c
3910
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3921
atomic_inc_64(&spa->spa_dsl_pool->dp_scan->scn_phys.scn_errors);
usr/src/uts/common/fs/zfs/dsl_scan.c
3936
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/dsl_scan.c
3942
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3943
while (spa->spa_scrub_inflight >= scn->scn_maxinflight_bytes)
usr/src/uts/common/fs/zfs/dsl_scan.c
3944
cv_wait(&spa->spa_scrub_io_cv, &spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3945
spa->spa_scrub_inflight += BP_GET_PSIZE(bp);
usr/src/uts/common/fs/zfs/dsl_scan.c
3946
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/dsl_scan.c
3958
zio_nowait(zio_read(dp->dp_scan->scn_zio_root, spa, bp, data, size,
usr/src/uts/common/fs/zfs/dsl_scan.c
4123
dsl_scan_freed_dva(spa_t *spa, const blkptr_t *bp, int dva_i)
usr/src/uts/common/fs/zfs/dsl_scan.c
4125
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/dsl_scan.c
4134
vdev = vdev_lookup_top(spa, DVA_GET_VDEV(&bp->blk_dva[dva_i]));
usr/src/uts/common/fs/zfs/dsl_scan.c
4207
dsl_scan_freed(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/dsl_scan.c
4209
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/dsl_scan.c
4218
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
893
spa_notify_waiters(spa);
usr/src/uts/common/fs/zfs/dsl_scan.c
896
spa_history_log_internal(spa, "scan aborted, restarting", tx,
usr/src/uts/common/fs/zfs/dsl_scan.c
897
"errors=%llu", spa_get_errlog_size(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
899
spa_history_log_internal(spa, "scan cancelled", tx,
usr/src/uts/common/fs/zfs/dsl_scan.c
900
"errors=%llu", spa_get_errlog_size(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
902
spa_history_log_internal(spa, "scan done", tx,
usr/src/uts/common/fs/zfs/dsl_scan.c
903
"errors=%llu", spa_get_errlog_size(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
906
spa->spa_scrub_active = B_FALSE;
usr/src/uts/common/fs/zfs/dsl_scan.c
919
!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/dsl_scan.c
920
vdev_dtl_reassess(spa->spa_root_vdev, tx->tx_txg,
usr/src/uts/common/fs/zfs/dsl_scan.c
923
spa_event_notify(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/dsl_scan.c
927
vdev_dtl_reassess(spa->spa_root_vdev, tx->tx_txg,
usr/src/uts/common/fs/zfs/dsl_scan.c
930
spa_errlog_rotate(spa);
usr/src/uts/common/fs/zfs/dsl_scan.c
936
spa->spa_scrub_started = B_FALSE;
usr/src/uts/common/fs/zfs/dsl_scan.c
942
spa_async_request(spa, SPA_ASYNC_RESILVER_DONE);
usr/src/uts/common/fs/zfs/dsl_scan.c
954
if (spa_feature_is_enabled(spa, SPA_FEATURE_RESILVER_DEFER) &&
usr/src/uts/common/fs/zfs/dsl_scan.c
955
vdev_clear_resilver_deferred(spa->spa_root_vdev, tx)) {
usr/src/uts/common/fs/zfs/dsl_scan.c
956
spa_history_log_internal(spa,
usr/src/uts/common/fs/zfs/dsl_scan.c
958
(u_longlong_t)spa_get_errlog_size(spa));
usr/src/uts/common/fs/zfs/dsl_scan.c
959
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
1439
spa_wake_waiters(spa);
usr/src/uts/common/fs/zfs/spa.c
1447
if (spa_should_flush_logs_on_unload(spa))
usr/src/uts/common/fs/zfs/spa.c
1448
spa_unload_log_sm_flush_all(spa);
usr/src/uts/common/fs/zfs/spa.c
1453
spa_async_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
1455
if (spa->spa_root_vdev) {
usr/src/uts/common/fs/zfs/spa.c
1456
vdev_t *root_vdev = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
1459
vdev_autotrim_stop_all(spa);
usr/src/uts/common/fs/zfs/spa.c
1465
if (spa->spa_sync_on) {
usr/src/uts/common/fs/zfs/spa.c
1466
txg_sync_stop(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
1467
spa->spa_sync_on = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
1474
if (spa->spa_root_vdev != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1475
for (int c = 0; c < spa->spa_root_vdev->vdev_children; c++) {
usr/src/uts/common/fs/zfs/spa.c
1476
vdev_t *vc = spa->spa_root_vdev->vdev_child[c];
usr/src/uts/common/fs/zfs/spa.c
1482
if (spa->spa_mmp.mmp_thread)
usr/src/uts/common/fs/zfs/spa.c
1483
mmp_thread_stop(spa);
usr/src/uts/common/fs/zfs/spa.c
1488
if (spa->spa_async_zio_root != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1490
(void) zio_wait(spa->spa_async_zio_root[i]);
usr/src/uts/common/fs/zfs/spa.c
1491
kmem_free(spa->spa_async_zio_root, max_ncpus * sizeof (void *));
usr/src/uts/common/fs/zfs/spa.c
1492
spa->spa_async_zio_root = NULL;
usr/src/uts/common/fs/zfs/spa.c
1495
if (spa->spa_vdev_removal != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1496
spa_vdev_removal_destroy(spa->spa_vdev_removal);
usr/src/uts/common/fs/zfs/spa.c
1497
spa->spa_vdev_removal = NULL;
usr/src/uts/common/fs/zfs/spa.c
1500
if (spa->spa_condense_zthr != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1501
zthr_destroy(spa->spa_condense_zthr);
usr/src/uts/common/fs/zfs/spa.c
1502
spa->spa_condense_zthr = NULL;
usr/src/uts/common/fs/zfs/spa.c
1505
if (spa->spa_checkpoint_discard_zthr != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1506
zthr_destroy(spa->spa_checkpoint_discard_zthr);
usr/src/uts/common/fs/zfs/spa.c
1507
spa->spa_checkpoint_discard_zthr = NULL;
usr/src/uts/common/fs/zfs/spa.c
1510
spa_condense_fini(spa);
usr/src/uts/common/fs/zfs/spa.c
1512
bpobj_close(&spa->spa_deferred_bpobj);
usr/src/uts/common/fs/zfs/spa.c
1514
spa_config_enter(spa, SCL_ALL, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
1519
if (spa->spa_root_vdev)
usr/src/uts/common/fs/zfs/spa.c
1520
vdev_free(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
1521
ASSERT(spa->spa_root_vdev == NULL);
usr/src/uts/common/fs/zfs/spa.c
1526
if (spa->spa_dsl_pool) {
usr/src/uts/common/fs/zfs/spa.c
1527
dsl_pool_close(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
1528
spa->spa_dsl_pool = NULL;
usr/src/uts/common/fs/zfs/spa.c
1529
spa->spa_meta_objset = NULL;
usr/src/uts/common/fs/zfs/spa.c
1532
ddt_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
1533
spa_unload_log_sm_metadata(spa);
usr/src/uts/common/fs/zfs/spa.c
1538
spa_l2cache_drop(spa);
usr/src/uts/common/fs/zfs/spa.c
1540
for (int i = 0; i < spa->spa_spares.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
1541
vdev_free(spa->spa_spares.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
1542
if (spa->spa_spares.sav_vdevs) {
usr/src/uts/common/fs/zfs/spa.c
1543
kmem_free(spa->spa_spares.sav_vdevs,
usr/src/uts/common/fs/zfs/spa.c
1544
spa->spa_spares.sav_count * sizeof (void *));
usr/src/uts/common/fs/zfs/spa.c
1545
spa->spa_spares.sav_vdevs = NULL;
usr/src/uts/common/fs/zfs/spa.c
1547
if (spa->spa_spares.sav_config) {
usr/src/uts/common/fs/zfs/spa.c
1548
nvlist_free(spa->spa_spares.sav_config);
usr/src/uts/common/fs/zfs/spa.c
1549
spa->spa_spares.sav_config = NULL;
usr/src/uts/common/fs/zfs/spa.c
1551
spa->spa_spares.sav_count = 0;
usr/src/uts/common/fs/zfs/spa.c
1553
for (int i = 0; i < spa->spa_l2cache.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
1554
vdev_clear_stats(spa->spa_l2cache.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
1555
vdev_free(spa->spa_l2cache.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
1557
if (spa->spa_l2cache.sav_vdevs) {
usr/src/uts/common/fs/zfs/spa.c
1558
kmem_free(spa->spa_l2cache.sav_vdevs,
usr/src/uts/common/fs/zfs/spa.c
1559
spa->spa_l2cache.sav_count * sizeof (void *));
usr/src/uts/common/fs/zfs/spa.c
1560
spa->spa_l2cache.sav_vdevs = NULL;
usr/src/uts/common/fs/zfs/spa.c
1562
if (spa->spa_l2cache.sav_config) {
usr/src/uts/common/fs/zfs/spa.c
1563
nvlist_free(spa->spa_l2cache.sav_config);
usr/src/uts/common/fs/zfs/spa.c
1564
spa->spa_l2cache.sav_config = NULL;
usr/src/uts/common/fs/zfs/spa.c
1566
spa->spa_l2cache.sav_count = 0;
usr/src/uts/common/fs/zfs/spa.c
1568
spa->spa_async_suspended = 0;
usr/src/uts/common/fs/zfs/spa.c
1570
spa->spa_indirect_vdevs_loaded = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
1572
if (spa->spa_comment != NULL) {
usr/src/uts/common/fs/zfs/spa.c
1573
spa_strfree(spa->spa_comment);
usr/src/uts/common/fs/zfs/spa.c
1574
spa->spa_comment = NULL;
usr/src/uts/common/fs/zfs/spa.c
1577
spa_config_exit(spa, SCL_ALL, spa);
usr/src/uts/common/fs/zfs/spa.c
1587
spa_load_spares(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1602
if (!spa_writeable(spa))
usr/src/uts/common/fs/zfs/spa.c
1606
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
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
1611
for (i = 0; i < spa->spa_spares.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
1612
vd = spa->spa_spares.sav_vdevs[i];
usr/src/uts/common/fs/zfs/spa.c
1615
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
1622
if (spa->spa_spares.sav_vdevs)
usr/src/uts/common/fs/zfs/spa.c
1623
kmem_free(spa->spa_spares.sav_vdevs,
usr/src/uts/common/fs/zfs/spa.c
1624
spa->spa_spares.sav_count * sizeof (void *));
usr/src/uts/common/fs/zfs/spa.c
1626
if (spa->spa_spares.sav_config == NULL)
usr/src/uts/common/fs/zfs/spa.c
1629
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
1632
spa->spa_spares.sav_count = (int)nspares;
usr/src/uts/common/fs/zfs/spa.c
1633
spa->spa_spares.sav_vdevs = NULL;
usr/src/uts/common/fs/zfs/spa.c
1647
spa->spa_spares.sav_vdevs = kmem_alloc(nspares * sizeof (void *),
usr/src/uts/common/fs/zfs/spa.c
1649
for (i = 0; i < spa->spa_spares.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
1650
VERIFY(spa_config_parse(spa, &vd, spares[i], NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
1654
spa->spa_spares.sav_vdevs[i] = vd;
usr/src/uts/common/fs/zfs/spa.c
1656
if ((tvd = spa_lookup_by_guid(spa, vd->vdev_guid,
usr/src/uts/common/fs/zfs/spa.c
1679
vd->vdev_aux = &spa->spa_spares;
usr/src/uts/common/fs/zfs/spa.c
1692
VERIFY(nvlist_remove(spa->spa_spares.sav_config, ZPOOL_CONFIG_SPARES,
usr/src/uts/common/fs/zfs/spa.c
1695
spares = kmem_alloc(spa->spa_spares.sav_count * sizeof (void *),
usr/src/uts/common/fs/zfs/spa.c
1697
for (i = 0; i < spa->spa_spares.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
1698
spares[i] = vdev_config_generate(spa,
usr/src/uts/common/fs/zfs/spa.c
1699
spa->spa_spares.sav_vdevs[i], B_TRUE, VDEV_CONFIG_SPARE);
usr/src/uts/common/fs/zfs/spa.c
1700
VERIFY(nvlist_add_nvlist_array(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
1701
ZPOOL_CONFIG_SPARES, spares, spa->spa_spares.sav_count) == 0);
usr/src/uts/common/fs/zfs/spa.c
1702
for (i = 0; i < spa->spa_spares.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
1704
kmem_free(spares, spa->spa_spares.sav_count * sizeof (void *));
usr/src/uts/common/fs/zfs/spa.c
1716
spa_load_l2cache(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1723
spa_aux_vdev_t *sav = &spa->spa_l2cache;
usr/src/uts/common/fs/zfs/spa.c
1734
if (!spa_writeable(spa))
usr/src/uts/common/fs/zfs/spa.c
1738
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/spa.c
1780
VERIFY(spa_config_parse(spa, &vd, l2cache[i], NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
1802
l2arc_add_vdev(spa, vd);
usr/src/uts/common/fs/zfs/spa.c
1846
l2cache[i] = vdev_config_generate(spa,
usr/src/uts/common/fs/zfs/spa.c
1858
load_nvlist(spa_t *spa, uint64_t obj, nvlist_t **value)
usr/src/uts/common/fs/zfs/spa.c
1866
error = dmu_bonus_hold(spa->spa_meta_objset, obj, FTAG, &db);
usr/src/uts/common/fs/zfs/spa.c
1874
error = dmu_read(spa->spa_meta_objset, obj, 0, nvsize, packed,
usr/src/uts/common/fs/zfs/spa.c
1888
spa_healthy_core_tvds(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1890
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
1922
spa_check_for_missing_logs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1924
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
1931
if (!(spa->spa_import_flags & ZFS_IMPORT_MISSING_LOG)) {
usr/src/uts/common/fs/zfs/spa.c
1949
child[idx++] = vdev_config_generate(spa, tvd,
usr/src/uts/common/fs/zfs/spa.c
1957
fnvlist_add_nvlist(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
1967
spa_load_failed(spa, "some log devices are missing");
usr/src/uts/common/fs/zfs/spa.c
1977
spa_set_log_state(spa, SPA_LOG_CLEAR);
usr/src/uts/common/fs/zfs/spa.c
1978
spa_load_note(spa, "some log devices are "
usr/src/uts/common/fs/zfs/spa.c
1993
spa_check_logs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
1996
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/spa.c
1998
switch (spa->spa_log_state) {
usr/src/uts/common/fs/zfs/spa.c
2005
spa_set_log_state(spa, SPA_LOG_MISSING);
usr/src/uts/common/fs/zfs/spa.c
2012
spa_passivate_log(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2014
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2017
ASSERT(spa_config_held(spa, SCL_ALLOC, RW_WRITER));
usr/src/uts/common/fs/zfs/spa.c
2019
if (!spa_has_slogs(spa))
usr/src/uts/common/fs/zfs/spa.c
2036
spa_activate_log(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2038
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2040
ASSERT(spa_config_held(spa, SCL_ALLOC, RW_WRITER));
usr/src/uts/common/fs/zfs/spa.c
2052
spa_reset_logs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2056
error = dmu_objset_find(spa_name(spa), zil_reset,
usr/src/uts/common/fs/zfs/spa.c
2064
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/spa.c
2079
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/spa.c
2084
mutex_enter(&spa->spa_props_lock); /* any mutex will do */
usr/src/uts/common/fs/zfs/spa.c
2085
if (spa->spa_claim_max_txg < zio->io_bp->blk_birth)
usr/src/uts/common/fs/zfs/spa.c
2086
spa->spa_claim_max_txg = zio->io_bp->blk_birth;
usr/src/uts/common/fs/zfs/spa.c
2087
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
2102
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/spa.c
2113
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa.c
2114
spa->spa_load_verify_ios--;
usr/src/uts/common/fs/zfs/spa.c
2115
cv_broadcast(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/spa.c
2116
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa.c
2129
spa_load_verify_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
usr/src/uts/common/fs/zfs/spa.c
2147
mutex_enter(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa.c
2148
while (spa->spa_load_verify_ios >= spa_load_verify_maxinflight)
usr/src/uts/common/fs/zfs/spa.c
2149
cv_wait(&spa->spa_scrub_io_cv, &spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa.c
2150
spa->spa_load_verify_ios++;
usr/src/uts/common/fs/zfs/spa.c
2151
mutex_exit(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa.c
2153
zio_nowait(zio_read(rio, spa, bp, abd_alloc_for_io(size, B_FALSE), size,
usr/src/uts/common/fs/zfs/spa.c
2171
spa_load_verify(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2179
zpool_get_load_policy(spa->spa_config, &policy);
usr/src/uts/common/fs/zfs/spa.c
2184
dsl_pool_config_enter(spa->spa_dsl_pool, FTAG);
usr/src/uts/common/fs/zfs/spa.c
2185
error = dmu_objset_find_dp(spa->spa_dsl_pool,
usr/src/uts/common/fs/zfs/spa.c
2186
spa->spa_dsl_pool->dp_root_dir_obj, verify_dataset_name_len, NULL,
usr/src/uts/common/fs/zfs/spa.c
2188
dsl_pool_config_exit(spa->spa_dsl_pool, FTAG);
usr/src/uts/common/fs/zfs/spa.c
2192
rio = zio_root(spa, NULL, &sle,
usr/src/uts/common/fs/zfs/spa.c
2196
if (spa->spa_extreme_rewind) {
usr/src/uts/common/fs/zfs/spa.c
2197
spa_load_note(spa, "performing a complete scan of the "
usr/src/uts/common/fs/zfs/spa.c
2203
error = traverse_pool(spa, spa->spa_verify_min_txg,
usr/src/uts/common/fs/zfs/spa.c
2210
spa->spa_load_meta_errors = sle.sle_meta_count;
usr/src/uts/common/fs/zfs/spa.c
2211
spa->spa_load_data_errors = sle.sle_data_count;
usr/src/uts/common/fs/zfs/spa.c
2214
spa_load_note(spa, "spa_load_verify found %llu metadata errors "
usr/src/uts/common/fs/zfs/spa.c
2225
spa->spa_load_txg = spa->spa_uberblock.ub_txg;
usr/src/uts/common/fs/zfs/spa.c
2226
spa->spa_load_txg_ts = spa->spa_uberblock.ub_timestamp;
usr/src/uts/common/fs/zfs/spa.c
2228
loss = spa->spa_last_ubsync_txg_ts - spa->spa_load_txg_ts;
usr/src/uts/common/fs/zfs/spa.c
2229
VERIFY(nvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2230
ZPOOL_CONFIG_LOAD_TIME, spa->spa_load_txg_ts) == 0);
usr/src/uts/common/fs/zfs/spa.c
2231
VERIFY(nvlist_add_int64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2233
VERIFY(nvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2236
spa->spa_load_max_txg = spa->spa_uberblock.ub_txg;
usr/src/uts/common/fs/zfs/spa.c
2255
spa_prop_find(spa_t *spa, zpool_prop_t prop, uint64_t *val)
usr/src/uts/common/fs/zfs/spa.c
2257
(void) zap_lookup(spa->spa_meta_objset, spa->spa_pool_props_object,
usr/src/uts/common/fs/zfs/spa.c
2265
spa_dir_prop(spa_t *spa, const char *name, uint64_t *val, boolean_t log_enoent)
usr/src/uts/common/fs/zfs/spa.c
2267
int error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa.c
2271
spa_load_failed(spa, "couldn't get '%s' value in MOS directory "
usr/src/uts/common/fs/zfs/spa.c
2286
spa_spawn_aux_threads(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2288
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
2292
spa_start_indirect_condensing_thread(spa);
usr/src/uts/common/fs/zfs/spa.c
2294
ASSERT3P(spa->spa_checkpoint_discard_zthr, ==, NULL);
usr/src/uts/common/fs/zfs/spa.c
2295
spa->spa_checkpoint_discard_zthr =
usr/src/uts/common/fs/zfs/spa.c
2297
spa_checkpoint_discard_thread, spa);
usr/src/uts/common/fs/zfs/spa.c
2317
spa_try_repair(spa_t *spa, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa.c
2342
vd[i] = spa_lookup_by_guid(spa, glist[i], B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
2356
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
2376
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
2383
spa_load(spa_t *spa, spa_load_state_t state, spa_import_type_t type)
usr/src/uts/common/fs/zfs/spa.c
2388
spa->spa_load_state = state;
usr/src/uts/common/fs/zfs/spa.c
2389
(void) spa_import_progress_set_state(spa, spa_load_state(spa));
usr/src/uts/common/fs/zfs/spa.c
2391
gethrestime(&spa->spa_loaded_ts);
usr/src/uts/common/fs/zfs/spa.c
2392
error = spa_load_impl(spa, type, &ereport);
usr/src/uts/common/fs/zfs/spa.c
2398
spa_evicting_os_wait(spa);
usr/src/uts/common/fs/zfs/spa.c
2399
spa->spa_minref = zfs_refcount_count(&spa->spa_refcount);
usr/src/uts/common/fs/zfs/spa.c
2402
spa->spa_loaded_ts.tv_sec = 0;
usr/src/uts/common/fs/zfs/spa.c
2403
spa->spa_loaded_ts.tv_nsec = 0;
usr/src/uts/common/fs/zfs/spa.c
2406
(void) zfs_ereport_post(ereport, spa,
usr/src/uts/common/fs/zfs/spa.c
2410
spa->spa_load_state = error ? SPA_LOAD_ERROR : SPA_LOAD_NONE;
usr/src/uts/common/fs/zfs/spa.c
2411
spa->spa_ena = 0;
usr/src/uts/common/fs/zfs/spa.c
2413
(void) spa_import_progress_set_state(spa, spa_load_state(spa));
usr/src/uts/common/fs/zfs/spa.c
2426
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/spa.c
2430
ASSERT0(zap_lookup_int(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
2431
spa->spa_all_vdev_zaps, vd->vdev_top_zap));
usr/src/uts/common/fs/zfs/spa.c
2435
ASSERT0(zap_lookup_int(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
2436
spa->spa_all_vdev_zaps, vd->vdev_leaf_zap));
usr/src/uts/common/fs/zfs/spa.c
2450
spa_activity_check_required(spa_t *spa, uberblock_t *ub, nvlist_t *label,
usr/src/uts/common/fs/zfs/spa.c
2476
if (spa->spa_import_flags & ZFS_IMPORT_SKIP_MMP)
usr/src/uts/common/fs/zfs/spa.c
2521
spa_activity_check_duration(spa_t *spa, uberblock_t *ub)
usr/src/uts/common/fs/zfs/spa.c
2575
vdev_count_leaves(spa));
usr/src/uts/common/fs/zfs/spa.c
2592
spa_activity_check(spa_t *spa, uberblock_t *ub, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa.c
2601
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2630
import_delay = spa_activity_check_duration(spa, ub);
usr/src/uts/common/fs/zfs/spa.c
2638
(void) spa_import_progress_set_mmp_check(spa,
usr/src/uts/common/fs/zfs/spa.c
2692
fnvlist_add_string(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2699
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
2706
fnvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
2719
spa_verify_host(spa_t *spa, nvlist_t *mos_config)
usr/src/uts/common/fs/zfs/spa.c
2725
if (!spa_is_root(spa) && nvlist_lookup_uint64(mos_config,
usr/src/uts/common/fs/zfs/spa.c
2737
spa_name(spa), hostname, (u_longlong_t)hostid);
usr/src/uts/common/fs/zfs/spa.c
2738
spa_load_failed(spa, "hostid verification failed: pool "
usr/src/uts/common/fs/zfs/spa.c
2749
spa_ld_parse_config(spa_t *spa, spa_import_type_t type)
usr/src/uts/common/fs/zfs/spa.c
2752
nvlist_t *nvtree, *nvl, *config = spa->spa_config;
usr/src/uts/common/fs/zfs/spa.c
2763
&spa->spa_ubsync.ub_version) != 0)
usr/src/uts/common/fs/zfs/spa.c
2764
spa->spa_ubsync.ub_version = SPA_VERSION_INITIAL;
usr/src/uts/common/fs/zfs/spa.c
2767
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
2782
if ((spa->spa_load_state == SPA_LOAD_IMPORT ||
usr/src/uts/common/fs/zfs/spa.c
2783
spa->spa_load_state == SPA_LOAD_TRYIMPORT) &&
usr/src/uts/common/fs/zfs/spa.c
2786
if ((spa->spa_load_state == SPA_LOAD_IMPORT ||
usr/src/uts/common/fs/zfs/spa.c
2787
spa->spa_load_state == SPA_LOAD_TRYIMPORT) &&
usr/src/uts/common/fs/zfs/spa.c
2789
!spa_importing_readonly_checkpoint(spa)) {
usr/src/uts/common/fs/zfs/spa.c
2791
spa_load_failed(spa, "a pool with guid %llu is already open",
usr/src/uts/common/fs/zfs/spa.c
2796
spa->spa_config_guid = pool_guid;
usr/src/uts/common/fs/zfs/spa.c
2798
nvlist_free(spa->spa_load_info);
usr/src/uts/common/fs/zfs/spa.c
2799
spa->spa_load_info = fnvlist_alloc();
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
ASSERT(spa->spa_comment == NULL);
usr/src/uts/common/fs/zfs/spa.c
2803
spa->spa_comment = spa_strdup(comment);
usr/src/uts/common/fs/zfs/spa.c
2806
&spa->spa_config_txg);
usr/src/uts/common/fs/zfs/spa.c
2809
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
2812
spa_load_failed(spa, "invalid config provided: '%s' missing",
usr/src/uts/common/fs/zfs/spa.c
2820
spa->spa_async_zio_root = kmem_alloc(max_ncpus * sizeof (void *),
usr/src/uts/common/fs/zfs/spa.c
2823
spa->spa_async_zio_root[i] = zio_root(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/spa.c
2833
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
2836
error = spa_config_parse(spa, &rvd, nvtree, NULL, 0, parse);
usr/src/uts/common/fs/zfs/spa.c
2837
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
2840
spa_load_failed(spa, "unable to parse config [error=%d]",
usr/src/uts/common/fs/zfs/spa.c
2845
ASSERT(spa->spa_root_vdev == rvd);
usr/src/uts/common/fs/zfs/spa.c
2846
ASSERT3U(spa->spa_min_ashift, >=, SPA_MINBLOCKSHIFT);
usr/src/uts/common/fs/zfs/spa.c
2847
ASSERT3U(spa->spa_max_ashift, <=, SPA_MAXBLOCKSHIFT);
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
2850
ASSERT(spa_guid(spa) == pool_guid);
usr/src/uts/common/fs/zfs/spa.c
2861
spa_ld_open_vdevs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2869
if (spa->spa_trust_config) {
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;
usr/src/uts/common/fs/zfs/spa.c
2871
} else if (spa->spa_config_source == SPA_CONFIG_SRC_CACHEFILE) {
usr/src/uts/common/fs/zfs/spa.c
2872
spa->spa_missing_tvds_allowed = zfs_max_missing_tvds_cachefile;
usr/src/uts/common/fs/zfs/spa.c
2873
} else if (spa->spa_config_source == SPA_CONFIG_SRC_SCAN) {
usr/src/uts/common/fs/zfs/spa.c
2874
spa->spa_missing_tvds_allowed = zfs_max_missing_tvds_scan;
usr/src/uts/common/fs/zfs/spa.c
2876
spa->spa_missing_tvds_allowed = 0;
usr/src/uts/common/fs/zfs/spa.c
2879
spa->spa_missing_tvds_allowed =
usr/src/uts/common/fs/zfs/spa.c
2880
MAX(zfs_max_missing_tvds, spa->spa_missing_tvds_allowed);
usr/src/uts/common/fs/zfs/spa.c
2882
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
2883
error = vdev_open(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
2884
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
2886
if (spa->spa_missing_tvds != 0) {
usr/src/uts/common/fs/zfs/spa.c
2887
spa_load_note(spa, "vdev tree has %lld missing top-level "
usr/src/uts/common/fs/zfs/spa.c
2888
"vdevs.", (u_longlong_t)spa->spa_missing_tvds);
usr/src/uts/common/fs/zfs/spa.c
2889
if (spa->spa_trust_config && (spa->spa_mode & FWRITE)) {
usr/src/uts/common/fs/zfs/spa.c
2899
spa_load_note(spa, "pools with missing top-level "
usr/src/uts/common/fs/zfs/spa.c
2903
spa_load_note(spa, "current settings allow for maximum "
usr/src/uts/common/fs/zfs/spa.c
2905
(u_longlong_t)spa->spa_missing_tvds_allowed);
usr/src/uts/common/fs/zfs/spa.c
2909
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
2912
if (spa->spa_missing_tvds != 0 || error != 0)
usr/src/uts/common/fs/zfs/spa.c
2913
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
2925
spa_ld_validate_vdevs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
2928
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2930
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
2932
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
2935
spa_load_failed(spa, "vdev_validate failed [error=%d]", error);
usr/src/uts/common/fs/zfs/spa.c
2940
spa_load_failed(spa, "cannot open vdev tree after invalidating "
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_ld_select_uberblock_done(spa_t *spa, uberblock_t *ub)
usr/src/uts/common/fs/zfs/spa.c
2952
spa->spa_state = POOL_STATE_ACTIVE;
usr/src/uts/common/fs/zfs/spa.c
2953
spa->spa_ubsync = spa->spa_uberblock;
usr/src/uts/common/fs/zfs/spa.c
2954
spa->spa_verify_min_txg = spa->spa_extreme_rewind ?
usr/src/uts/common/fs/zfs/spa.c
2955
TXG_INITIAL - 1 : spa_last_synced_txg(spa) - TXG_DEFER_SIZE - 1;
usr/src/uts/common/fs/zfs/spa.c
2956
spa->spa_first_txg = spa->spa_last_ubsync_txg ?
usr/src/uts/common/fs/zfs/spa.c
2957
spa->spa_last_ubsync_txg : spa_last_synced_txg(spa) + 1;
usr/src/uts/common/fs/zfs/spa.c
2958
spa->spa_claim_max_txg = spa->spa_first_txg;
usr/src/uts/common/fs/zfs/spa.c
2959
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
2963
spa_ld_select_uberblock(spa_t *spa, spa_import_type_t type)
usr/src/uts/common/fs/zfs/spa.c
2965
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
2967
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
2988
spa_importing_readonly_checkpoint(spa)) {
usr/src/uts/common/fs/zfs/spa.c
2989
spa_ld_select_uberblock_done(spa, ub);
usr/src/uts/common/fs/zfs/spa.c
3003
spa_load_failed(spa, "no valid uberblock found");
usr/src/uts/common/fs/zfs/spa.c
3007
if (spa->spa_load_max_txg != UINT64_MAX) {
usr/src/uts/common/fs/zfs/spa.c
3008
(void) spa_import_progress_set_max_txg(spa,
usr/src/uts/common/fs/zfs/spa.c
3009
(u_longlong_t)spa->spa_load_max_txg);
usr/src/uts/common/fs/zfs/spa.c
3011
spa_load_note(spa, "using uberblock with txg=%llu",
usr/src/uts/common/fs/zfs/spa.c
3019
activity_check = spa_activity_check_required(spa, ub, label,
usr/src/uts/common/fs/zfs/spa.c
3020
spa->spa_config);
usr/src/uts/common/fs/zfs/spa.c
3025
fnvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3030
int error = spa_activity_check(spa, ub, spa->spa_config);
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_uint64(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
3040
fnvlist_add_uint16(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3050
spa_load_failed(spa, "version %llu is not supported",
usr/src/uts/common/fs/zfs/spa.c
3063
spa_load_failed(spa, "label config unavailable");
usr/src/uts/common/fs/zfs/spa.c
3071
spa_load_failed(spa, "invalid label: '%s' missing",
usr/src/uts/common/fs/zfs/spa.c
3081
nvlist_free(spa->spa_label_features);
usr/src/uts/common/fs/zfs/spa.c
3082
VERIFY(nvlist_dup(features, &spa->spa_label_features, 0) == 0);
usr/src/uts/common/fs/zfs/spa.c
3098
for (nvpair_t *nvp = nvlist_next_nvpair(spa->spa_label_features,
usr/src/uts/common/fs/zfs/spa.c
3100
nvp = nvlist_next_nvpair(spa->spa_label_features, nvp)) {
usr/src/uts/common/fs/zfs/spa.c
3108
VERIFY(nvlist_add_nvlist(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
311
(spa_mode(spa) == FREAD), src);
usr/src/uts/common/fs/zfs/spa.c
3111
spa_load_failed(spa, "some features are unsupported");
usr/src/uts/common/fs/zfs/spa.c
3119
if (type != SPA_IMPORT_ASSEMBLE && spa->spa_config_splitting) {
usr/src/uts/common/fs/zfs/spa.c
3120
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
3121
spa_try_repair(spa, spa->spa_config);
usr/src/uts/common/fs/zfs/spa.c
3122
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
3123
nvlist_free(spa->spa_config_splitting);
usr/src/uts/common/fs/zfs/spa.c
3124
spa->spa_config_splitting = NULL;
usr/src/uts/common/fs/zfs/spa.c
3130
spa_ld_select_uberblock_done(spa, ub);
usr/src/uts/common/fs/zfs/spa.c
3136
spa_ld_open_rootbp(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3139
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3141
error = dsl_pool_init(spa, spa->spa_first_txg, &spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
3143
spa_load_failed(spa, "unable to open rootbp in dsl_pool_init "
usr/src/uts/common/fs/zfs/spa.c
3147
spa->spa_meta_objset = spa->spa_dsl_pool->dp_meta_objset;
usr/src/uts/common/fs/zfs/spa.c
3153
spa_ld_trusted_config(spa_t *spa, spa_import_type_t type,
usr/src/uts/common/fs/zfs/spa.c
3156
vdev_t *mrvd, *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3162
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
3173
healthy_tvds = spa_healthy_core_tvds(spa);
usr/src/uts/common/fs/zfs/spa.c
3175
if (load_nvlist(spa, spa->spa_config_object, &mos_config)
usr/src/uts/common/fs/zfs/spa.c
3177
spa_load_failed(spa, "unable to retrieve MOS config");
usr/src/uts/common/fs/zfs/spa.c
3185
if (spa->spa_load_state == SPA_LOAD_OPEN) {
usr/src/uts/common/fs/zfs/spa.c
3186
error = spa_verify_host(spa, mos_config);
usr/src/uts/common/fs/zfs/spa.c
3195
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
3200
VERIFY(spa_config_parse(spa, &mrvd, nv, NULL, 0, VDEV_ALLOC_LOAD) == 0);
usr/src/uts/common/fs/zfs/spa.c
3213
spa_load_note(spa, "provided vdev tree:");
usr/src/uts/common/fs/zfs/spa.c
3215
spa_load_note(spa, "MOS vdev tree:");
usr/src/uts/common/fs/zfs/spa.c
3219
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
3226
spa->spa_root_vdev = mrvd;
usr/src/uts/common/fs/zfs/spa.c
3228
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
3240
mos_config = spa_config_generate(spa, NULL, mos_config_txg, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3241
if (nvlist_lookup_nvlist(spa->spa_config, ZPOOL_LOAD_POLICY,
usr/src/uts/common/fs/zfs/spa.c
3244
spa_config_set(spa, mos_config);
usr/src/uts/common/fs/zfs/spa.c
3245
spa->spa_config_source = SPA_CONFIG_SRC_MOS;
usr/src/uts/common/fs/zfs/spa.c
3253
spa->spa_trust_config = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
3258
error = spa_ld_open_vdevs(spa);
usr/src/uts/common/fs/zfs/spa.c
3262
error = spa_ld_validate_vdevs(spa);
usr/src/uts/common/fs/zfs/spa.c
3267
spa_load_note(spa, "final vdev tree:");
usr/src/uts/common/fs/zfs/spa.c
3271
if (spa->spa_load_state != SPA_LOAD_TRYIMPORT &&
usr/src/uts/common/fs/zfs/spa.c
3272
!spa->spa_extreme_rewind && zfs_max_missing_tvds == 0) {
usr/src/uts/common/fs/zfs/spa.c
3280
healthy_tvds_mos = spa_healthy_core_tvds(spa);
usr/src/uts/common/fs/zfs/spa.c
3283
spa_load_note(spa, "config provided misses too many "
usr/src/uts/common/fs/zfs/spa.c
3287
spa_load_note(spa, "vdev tree:");
usr/src/uts/common/fs/zfs/spa.c
3290
spa_load_failed(spa, "config was already "
usr/src/uts/common/fs/zfs/spa.c
3295
spa_load_note(spa, "spa must be reloaded using MOS "
usr/src/uts/common/fs/zfs/spa.c
3301
error = spa_check_for_missing_logs(spa);
usr/src/uts/common/fs/zfs/spa.c
3305
if (rvd->vdev_guid_sum != spa->spa_uberblock.ub_guid_sum) {
usr/src/uts/common/fs/zfs/spa.c
3306
spa_load_failed(spa, "uberblock guid sum doesn't match MOS "
usr/src/uts/common/fs/zfs/spa.c
3308
(u_longlong_t)spa->spa_uberblock.ub_guid_sum,
usr/src/uts/common/fs/zfs/spa.c
3318
spa_ld_open_indirect_vdev_metadata(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3321
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3327
error = spa_remove_init(spa);
usr/src/uts/common/fs/zfs/spa.c
3329
spa_load_failed(spa, "spa_remove_init failed [error=%d]",
usr/src/uts/common/fs/zfs/spa.c
3337
error = spa_condense_init(spa);
usr/src/uts/common/fs/zfs/spa.c
3339
spa_load_failed(spa, "spa_condense_init failed [error=%d]",
usr/src/uts/common/fs/zfs/spa.c
3348
spa_ld_check_features(spa_t *spa, boolean_t *missing_feat_writep)
usr/src/uts/common/fs/zfs/spa.c
3351
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3353
if (spa_version(spa) >= SPA_VERSION_FEATURES) {
usr/src/uts/common/fs/zfs/spa.c
3357
if (spa_dir_prop(spa, DMU_POOL_FEATURES_FOR_READ,
usr/src/uts/common/fs/zfs/spa.c
3358
&spa->spa_feat_for_read_obj, B_TRUE) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3362
if (spa_dir_prop(spa, DMU_POOL_FEATURES_FOR_WRITE,
usr/src/uts/common/fs/zfs/spa.c
3363
&spa->spa_feat_for_write_obj, B_TRUE) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3367
if (spa_dir_prop(spa, DMU_POOL_FEATURE_DESCRIPTIONS,
usr/src/uts/common/fs/zfs/spa.c
3368
&spa->spa_feat_desc_obj, B_TRUE) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3375
if (!spa_features_check(spa, B_FALSE,
usr/src/uts/common/fs/zfs/spa.c
3379
if (spa_writeable(spa) ||
usr/src/uts/common/fs/zfs/spa.c
3380
spa->spa_load_state == SPA_LOAD_TRYIMPORT) {
usr/src/uts/common/fs/zfs/spa.c
3381
if (!spa_features_check(spa, B_TRUE,
usr/src/uts/common/fs/zfs/spa.c
3387
fnvlist_add_nvlist(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3391
fnvlist_add_nvlist(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3399
fnvlist_add_boolean(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3423
spa_writeable(spa))) {
usr/src/uts/common/fs/zfs/spa.c
3424
spa_load_failed(spa, "pool uses unsupported features");
usr/src/uts/common/fs/zfs/spa.c
3436
error = feature_get_refcount_from_disk(spa,
usr/src/uts/common/fs/zfs/spa.c
3439
spa->spa_feat_refcount_cache[i] = refcount;
usr/src/uts/common/fs/zfs/spa.c
3441
spa->spa_feat_refcount_cache[i] =
usr/src/uts/common/fs/zfs/spa.c
3444
spa_load_failed(spa, "error getting refcount "
usr/src/uts/common/fs/zfs/spa.c
3453
if (spa_feature_is_active(spa, SPA_FEATURE_ENABLED_TXG)) {
usr/src/uts/common/fs/zfs/spa.c
3454
if (spa_dir_prop(spa, DMU_POOL_FEATURE_ENABLED_TXG,
usr/src/uts/common/fs/zfs/spa.c
3455
&spa->spa_feat_enabled_txg_obj, B_TRUE) != 0)
usr/src/uts/common/fs/zfs/spa.c
3464
if (spa_feature_is_enabled(spa, SPA_FEATURE_ENCRYPTION) &&
usr/src/uts/common/fs/zfs/spa.c
3465
!spa_feature_is_enabled(spa, SPA_FEATURE_BOOKMARK_V2)) {
usr/src/uts/common/fs/zfs/spa.c
3466
spa->spa_errata = ZPOOL_ERRATA_ZOL_8308_ENCRYPTION;
usr/src/uts/common/fs/zfs/spa.c
3473
spa_ld_load_special_directories(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3476
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3478
spa->spa_is_initializing = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
3479
error = dsl_pool_open(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
3480
spa->spa_is_initializing = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
3482
spa_load_failed(spa, "dsl_pool_open failed [error=%d]", error);
usr/src/uts/common/fs/zfs/spa.c
3490
spa_ld_get_props(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3494
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3497
error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa.c
3499
sizeof (spa->spa_cksum_salt.zcs_bytes),
usr/src/uts/common/fs/zfs/spa.c
3500
spa->spa_cksum_salt.zcs_bytes);
usr/src/uts/common/fs/zfs/spa.c
3503
(void) random_get_pseudo_bytes(spa->spa_cksum_salt.zcs_bytes,
usr/src/uts/common/fs/zfs/spa.c
3504
sizeof (spa->spa_cksum_salt.zcs_bytes));
usr/src/uts/common/fs/zfs/spa.c
3506
spa_load_failed(spa, "unable to retrieve checksum salt from "
usr/src/uts/common/fs/zfs/spa.c
3511
if (spa_dir_prop(spa, DMU_POOL_SYNC_BPOBJ, &obj, B_TRUE) != 0)
usr/src/uts/common/fs/zfs/spa.c
3513
error = bpobj_open(&spa->spa_deferred_bpobj, spa->spa_meta_objset, obj);
usr/src/uts/common/fs/zfs/spa.c
3515
spa_load_failed(spa, "error opening deferred-frees bpobj "
usr/src/uts/common/fs/zfs/spa.c
3525
error = spa_dir_prop(spa, DMU_POOL_DEFLATE, &spa->spa_deflate, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3529
error = spa_dir_prop(spa, DMU_POOL_CREATION_VERSION,
usr/src/uts/common/fs/zfs/spa.c
3530
&spa->spa_creation_version, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3538
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
3543
error = spa_dir_prop(spa, DMU_POOL_ERRLOG_SCRUB,
usr/src/uts/common/fs/zfs/spa.c
3544
&spa->spa_errlog_scrub, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3552
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
3565
if (load_nvlist(spa, spa->spa_config_object, &mos_config) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3566
spa_load_failed(spa, "unable to retrieve MOS config");
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
3570
error = spa_dir_prop(spa, DMU_POOL_VDEV_ZAP_MAP,
usr/src/uts/common/fs/zfs/spa.c
3571
&spa->spa_all_vdev_zaps, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3576
spa->spa_avz_action = AVZ_ACTION_INITIALIZE;
usr/src/uts/common/fs/zfs/spa.c
3577
ASSERT0(vdev_count_verify_zaps(spa->spa_root_vdev));
usr/src/uts/common/fs/zfs/spa.c
3586
spa->spa_avz_action = AVZ_ACTION_DESTROY;
usr/src/uts/common/fs/zfs/spa.c
3591
ASSERT0(vdev_count_verify_zaps(spa->spa_root_vdev));
usr/src/uts/common/fs/zfs/spa.c
3595
spa->spa_delegation = zpool_prop_default_numeric(ZPOOL_PROP_DELEGATION);
usr/src/uts/common/fs/zfs/spa.c
3597
error = spa_dir_prop(spa, DMU_POOL_PROPS, &spa->spa_pool_props_object,
usr/src/uts/common/fs/zfs/spa.c
3605
spa_prop_find(spa, ZPOOL_PROP_BOOTFS, &spa->spa_bootfs);
usr/src/uts/common/fs/zfs/spa.c
3606
spa_prop_find(spa, ZPOOL_PROP_AUTOREPLACE, &autoreplace);
usr/src/uts/common/fs/zfs/spa.c
3607
spa_prop_find(spa, ZPOOL_PROP_DELEGATION, &spa->spa_delegation);
usr/src/uts/common/fs/zfs/spa.c
3608
spa_prop_find(spa, ZPOOL_PROP_FAILUREMODE, &spa->spa_failmode);
usr/src/uts/common/fs/zfs/spa.c
3609
spa_prop_find(spa, ZPOOL_PROP_AUTOEXPAND, &spa->spa_autoexpand);
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_BOOTSIZE, &spa->spa_bootsize);
usr/src/uts/common/fs/zfs/spa.c
3611
spa_prop_find(spa, ZPOOL_PROP_MULTIHOST, &spa->spa_multihost);
usr/src/uts/common/fs/zfs/spa.c
3612
spa_prop_find(spa, ZPOOL_PROP_DEDUPDITTO,
usr/src/uts/common/fs/zfs/spa.c
3613
&spa->spa_dedup_ditto);
usr/src/uts/common/fs/zfs/spa.c
3614
spa_prop_find(spa, ZPOOL_PROP_AUTOTRIM, &spa->spa_autotrim);
usr/src/uts/common/fs/zfs/spa.c
3615
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
3623
if (spa->spa_missing_tvds > 0 &&
usr/src/uts/common/fs/zfs/spa.c
3624
spa->spa_failmode != ZIO_FAILURE_MODE_CONTINUE &&
usr/src/uts/common/fs/zfs/spa.c
3625
spa->spa_load_state != SPA_LOAD_TRYIMPORT) {
usr/src/uts/common/fs/zfs/spa.c
3626
spa_load_note(spa, "forcing failmode to 'continue' "
usr/src/uts/common/fs/zfs/spa.c
3628
spa->spa_failmode = ZIO_FAILURE_MODE_CONTINUE;
usr/src/uts/common/fs/zfs/spa.c
3635
spa_ld_open_aux_vdevs(spa_t *spa, spa_import_type_t type)
usr/src/uts/common/fs/zfs/spa.c
3638
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3649
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
3654
ASSERT(spa_version(spa) >= SPA_VERSION_SPARES);
usr/src/uts/common/fs/zfs/spa.c
3655
if (load_nvlist(spa, spa->spa_spares.sav_object,
usr/src/uts/common/fs/zfs/spa.c
3656
&spa->spa_spares.sav_config) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3657
spa_load_failed(spa, "error loading spares nvlist");
usr/src/uts/common/fs/zfs/spa.c
3661
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
3662
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/spa.c
3663
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
3665
spa->spa_spares.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
3671
error = spa_dir_prop(spa, DMU_POOL_L2CACHE,
usr/src/uts/common/fs/zfs/spa.c
3672
&spa->spa_l2cache.sav_object, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
3676
ASSERT(spa_version(spa) >= SPA_VERSION_L2CACHE);
usr/src/uts/common/fs/zfs/spa.c
3677
if (load_nvlist(spa, spa->spa_l2cache.sav_object,
usr/src/uts/common/fs/zfs/spa.c
3678
&spa->spa_l2cache.sav_config) != 0) {
usr/src/uts/common/fs/zfs/spa.c
3679
spa_load_failed(spa, "error loading l2cache nvlist");
usr/src/uts/common/fs/zfs/spa.c
3683
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
3684
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/spa.c
3685
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
3687
spa->spa_l2cache.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
3694
spa_ld_load_vdev_metadata(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3697
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3704
if (spa_multihost(spa) && spa_get_hostid() == 0 &&
usr/src/uts/common/fs/zfs/spa.c
3705
(spa->spa_import_flags & ZFS_IMPORT_SKIP_MMP) == 0) {
usr/src/uts/common/fs/zfs/spa.c
3706
fnvlist_add_uint64(spa->spa_load_info,
usr/src/uts/common/fs/zfs/spa.c
3718
if (spa->spa_autoreplace && spa->spa_load_state != SPA_LOAD_TRYIMPORT) {
usr/src/uts/common/fs/zfs/spa.c
3719
spa_check_removed(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
3725
if (spa->spa_load_state != SPA_LOAD_IMPORT) {
usr/src/uts/common/fs/zfs/spa.c
3726
spa_aux_check_removed(&spa->spa_spares);
usr/src/uts/common/fs/zfs/spa.c
3727
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
3736
spa_load_failed(spa, "vdev_load failed [error=%d]", error);
usr/src/uts/common/fs/zfs/spa.c
3740
error = spa_ld_log_spacemaps(spa);
usr/src/uts/common/fs/zfs/spa.c
3742
spa_load_failed(spa, "spa_ld_log_sm_data failed [error=%d]",
usr/src/uts/common/fs/zfs/spa.c
3750
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
3752
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
3758
spa_ld_load_dedup_tables(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3761
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3763
error = ddt_load(spa);
usr/src/uts/common/fs/zfs/spa.c
3765
spa_load_failed(spa, "ddt_load failed [error=%d]", error);
usr/src/uts/common/fs/zfs/spa.c
3773
spa_ld_verify_logs(spa_t *spa, spa_import_type_t type, char **ereport)
usr/src/uts/common/fs/zfs/spa.c
3775
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3777
if (type != SPA_IMPORT_ASSEMBLE && spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/spa.c
3778
boolean_t missing = spa_check_logs(spa);
usr/src/uts/common/fs/zfs/spa.c
3780
if (spa->spa_missing_tvds != 0) {
usr/src/uts/common/fs/zfs/spa.c
3781
spa_load_note(spa, "spa_check_logs failed "
usr/src/uts/common/fs/zfs/spa.c
3785
spa_load_failed(spa, "spa_check_logs failed");
usr/src/uts/common/fs/zfs/spa.c
3796
spa_ld_verify_pool_data(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3799
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3805
if (spa->spa_load_state != SPA_LOAD_TRYIMPORT) {
usr/src/uts/common/fs/zfs/spa.c
3806
error = spa_load_verify(spa);
usr/src/uts/common/fs/zfs/spa.c
3808
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
3819
spa_ld_claim_log_blocks(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3822
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/spa.c
3831
spa->spa_claiming = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
3833
tx = dmu_tx_create_assigned(dp, spa_first_txg(spa));
usr/src/uts/common/fs/zfs/spa.c
3838
spa->spa_claiming = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
3840
spa_set_log_state(spa, SPA_LOG_GOOD);
usr/src/uts/common/fs/zfs/spa.c
3844
spa_ld_check_for_config_update(spa_t *spa, uint64_t config_cache_txg,
usr/src/uts/common/fs/zfs/spa.c
3847
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
3857
if (update_config_cache || config_cache_txg != spa->spa_config_txg ||
usr/src/uts/common/fs/zfs/spa.c
3858
spa->spa_load_state == SPA_LOAD_IMPORT ||
usr/src/uts/common/fs/zfs/spa.c
3859
spa->spa_load_state == SPA_LOAD_RECOVER ||
usr/src/uts/common/fs/zfs/spa.c
3860
(spa->spa_import_flags & ZFS_IMPORT_VERBATIM))
usr/src/uts/common/fs/zfs/spa.c
3872
spa_async_request(spa, SPA_ASYNC_CONFIG_UPDATE);
usr/src/uts/common/fs/zfs/spa.c
3876
spa_ld_prepare_for_reload(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3878
int mode = spa->spa_mode;
usr/src/uts/common/fs/zfs/spa.c
3879
int async_suspended = spa->spa_async_suspended;
usr/src/uts/common/fs/zfs/spa.c
3881
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
3882
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
3883
spa_activate(spa, mode);
usr/src/uts/common/fs/zfs/spa.c
3890
spa->spa_async_suspended = async_suspended;
usr/src/uts/common/fs/zfs/spa.c
3894
spa_ld_read_checkpoint_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
3899
ASSERT0(spa->spa_checkpoint_txg);
usr/src/uts/common/fs/zfs/spa.c
3902
error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa.c
3915
spa->spa_checkpoint_txg = checkpoint.ub_txg;
usr/src/uts/common/fs/zfs/spa.c
3916
spa->spa_checkpoint_info.sci_timestamp = checkpoint.ub_timestamp;
usr/src/uts/common/fs/zfs/spa.c
3922
spa_ld_mos_init(spa_t *spa, spa_import_type_t type)
usr/src/uts/common/fs/zfs/spa.c
3927
ASSERT(spa->spa_config_source != SPA_CONFIG_SRC_NONE);
usr/src/uts/common/fs/zfs/spa.c
3938
spa->spa_trust_config = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
3943
error = spa_ld_parse_config(spa, type);
usr/src/uts/common/fs/zfs/spa.c
3947
spa_import_progress_add(spa);
usr/src/uts/common/fs/zfs/spa.c
3956
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
3968
error = spa_ld_validate_vdevs(spa);
usr/src/uts/common/fs/zfs/spa.c
398
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa.c
3980
error = spa_ld_select_uberblock(spa, type);
usr/src/uts/common/fs/zfs/spa.c
3989
error = spa_ld_open_rootbp(spa);
usr/src/uts/common/fs/zfs/spa.c
3997
spa_ld_checkpoint_rewind(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
4003
ASSERT(spa->spa_import_flags & ZFS_IMPORT_CHECKPOINT);
usr/src/uts/common/fs/zfs/spa.c
4005
error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa.c
4010
spa_load_failed(spa, "unable to retrieve checkpointed "
usr/src/uts/common/fs/zfs/spa.c
4019
ASSERT3U(checkpoint.ub_txg, <, spa->spa_uberblock.ub_txg);
usr/src/uts/common/fs/zfs/spa.c
4029
checkpoint.ub_txg = spa->spa_uberblock.ub_txg + 1;
usr/src/uts/common/fs/zfs/spa.c
4035
spa->spa_uberblock = checkpoint;
usr/src/uts/common/fs/zfs/spa.c
4049
if (spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/spa.c
405
mutex_enter(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
4050
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
4052
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
4073
error = vdev_config_sync(svd, svdcount, spa->spa_first_txg);
usr/src/uts/common/fs/zfs/spa.c
4075
spa->spa_last_synced_guid = rvd->vdev_guid;
usr/src/uts/common/fs/zfs/spa.c
4076
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
4079
spa_load_failed(spa, "failed to write checkpointed "
usr/src/uts/common/fs/zfs/spa.c
4089
spa_ld_mos_with_trusted_config(spa_t *spa, spa_import_type_t type,
usr/src/uts/common/fs/zfs/spa.c
4099
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
4107
error = spa_ld_trusted_config(spa, type, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
4116
spa_ld_prepare_for_reload(spa);
usr/src/uts/common/fs/zfs/spa.c
4117
spa_load_note(spa, "RELOADING");
usr/src/uts/common/fs/zfs/spa.c
4118
error = spa_ld_mos_init(spa, type);
usr/src/uts/common/fs/zfs/spa.c
4122
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
414
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
4140
spa_load_impl(spa_t *spa, spa_import_type_t type, char **ereport)
usr/src/uts/common/fs/zfs/spa.c
4145
(spa->spa_import_flags & ZFS_IMPORT_CHECKPOINT);
usr/src/uts/common/fs/zfs/spa.c
4149
ASSERT(spa->spa_config_source != SPA_CONFIG_SRC_NONE);
usr/src/uts/common/fs/zfs/spa.c
4151
spa_load_note(spa, "LOADING");
usr/src/uts/common/fs/zfs/spa.c
4153
error = spa_ld_mos_with_trusted_config(spa, type, &update_config_cache);
usr/src/uts/common/fs/zfs/spa.c
4176
error = spa_ld_checkpoint_rewind(spa);
usr/src/uts/common/fs/zfs/spa.c
4184
spa_ld_prepare_for_reload(spa);
usr/src/uts/common/fs/zfs/spa.c
4185
spa_load_note(spa, "LOADING checkpointed uberblock");
usr/src/uts/common/fs/zfs/spa.c
4186
error = spa_ld_mos_with_trusted_config(spa, type, NULL);
usr/src/uts/common/fs/zfs/spa.c
4194
error = spa_ld_read_checkpoint_txg(spa);
usr/src/uts/common/fs/zfs/spa.c
4206
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
4214
error = spa_ld_check_features(spa, &missing_feat_write);
usr/src/uts/common/fs/zfs/spa.c
4222
error = spa_ld_load_special_directories(spa);
usr/src/uts/common/fs/zfs/spa.c
4229
error = spa_ld_get_props(spa);
usr/src/uts/common/fs/zfs/spa.c
4237
error = spa_ld_open_aux_vdevs(spa, type);
usr/src/uts/common/fs/zfs/spa.c
4245
error = spa_ld_load_vdev_metadata(spa);
usr/src/uts/common/fs/zfs/spa.c
4249
error = spa_ld_load_dedup_tables(spa);
usr/src/uts/common/fs/zfs/spa.c
4257
error = spa_ld_verify_logs(spa, type, ereport);
usr/src/uts/common/fs/zfs/spa.c
4262
ASSERT(spa->spa_load_state == SPA_LOAD_TRYIMPORT);
usr/src/uts/common/fs/zfs/spa.c
4269
return (spa_vdev_err(spa->spa_root_vdev, VDEV_AUX_UNSUP_FEAT,
usr/src/uts/common/fs/zfs/spa.c
4278
error = spa_ld_verify_pool_data(spa);
usr/src/uts/common/fs/zfs/spa.c
4287
spa_update_dspace(spa);
usr/src/uts/common/fs/zfs/spa.c
4294
if (spa_writeable(spa) && (spa->spa_load_state == SPA_LOAD_RECOVER ||
usr/src/uts/common/fs/zfs/spa.c
4295
spa->spa_load_max_txg == UINT64_MAX)) {
usr/src/uts/common/fs/zfs/spa.c
4296
uint64_t config_cache_txg = spa->spa_config_txg;
usr/src/uts/common/fs/zfs/spa.c
4298
ASSERT(spa->spa_load_state != SPA_LOAD_TRYIMPORT);
usr/src/uts/common/fs/zfs/spa.c
4305
spa_history_log_internal(spa, "checkpoint rewind",
usr/src/uts/common/fs/zfs/spa.c
4307
(u_longlong_t)spa->spa_uberblock.ub_checkpoint_txg);
usr/src/uts/common/fs/zfs/spa.c
4313
spa_ld_claim_log_blocks(spa);
usr/src/uts/common/fs/zfs/spa.c
4318
spa->spa_sync_on = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
4319
txg_sync_start(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
4320
mmp_thread_start(spa);
usr/src/uts/common/fs/zfs/spa.c
4329
txg_wait_synced(spa->spa_dsl_pool, spa->spa_claim_max_txg);
usr/src/uts/common/fs/zfs/spa.c
4336
spa_ld_check_for_config_update(spa, config_cache_txg,
usr/src/uts/common/fs/zfs/spa.c
4342
if (!dsl_scan_resilvering(spa->spa_dsl_pool) &&
usr/src/uts/common/fs/zfs/spa.c
4343
vdev_resilver_needed(spa->spa_root_vdev, NULL, NULL))
usr/src/uts/common/fs/zfs/spa.c
4344
spa_async_request(spa, SPA_ASYNC_RESILVER);
usr/src/uts/common/fs/zfs/spa.c
4350
spa_history_log_version(spa, "open");
usr/src/uts/common/fs/zfs/spa.c
4352
spa_restart_removal(spa);
usr/src/uts/common/fs/zfs/spa.c
4353
spa_spawn_aux_threads(spa);
usr/src/uts/common/fs/zfs/spa.c
4364
(void) dmu_objset_find(spa_name(spa),
usr/src/uts/common/fs/zfs/spa.c
4370
dsl_pool_clean_tmp_userrefs(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
4372
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
4373
vdev_initialize_restart(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
4374
vdev_trim_restart(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
4375
vdev_autotrim_restart(spa);
usr/src/uts/common/fs/zfs/spa.c
4376
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
4379
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4380
spa_async_request(spa, SPA_ASYNC_L2CACHE_REBUILD);
usr/src/uts/common/fs/zfs/spa.c
4382
spa_load_note(spa, "LOADED");
usr/src/uts/common/fs/zfs/spa.c
4388
spa_load_retry(spa_t *spa, spa_load_state_t state)
usr/src/uts/common/fs/zfs/spa.c
4390
int mode = spa->spa_mode;
usr/src/uts/common/fs/zfs/spa.c
4392
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
4393
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
4395
spa->spa_load_max_txg = spa->spa_uberblock.ub_txg - 1;
usr/src/uts/common/fs/zfs/spa.c
4397
spa_activate(spa, mode);
usr/src/uts/common/fs/zfs/spa.c
4398
spa_async_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
4400
spa_load_note(spa, "spa_load_retry: rewind, max txg: %llu",
usr/src/uts/common/fs/zfs/spa.c
4401
(u_longlong_t)spa->spa_load_max_txg);
usr/src/uts/common/fs/zfs/spa.c
4403
return (spa_load(spa, state, SPA_IMPORT_EXISTING));
usr/src/uts/common/fs/zfs/spa.c
4414
spa_load_best(spa_t *spa, spa_load_state_t state, uint64_t max_request,
usr/src/uts/common/fs/zfs/spa.c
4423
if (spa->spa_load_txg && state == SPA_LOAD_RECOVER) {
usr/src/uts/common/fs/zfs/spa.c
4424
spa->spa_load_max_txg = spa->spa_load_txg;
usr/src/uts/common/fs/zfs/spa.c
4425
spa_set_log_state(spa, SPA_LOG_CLEAR);
usr/src/uts/common/fs/zfs/spa.c
4427
spa->spa_load_max_txg = max_request;
usr/src/uts/common/fs/zfs/spa.c
4429
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
4432
load_error = rewind_error = spa_load(spa, state, SPA_IMPORT_EXISTING);
usr/src/uts/common/fs/zfs/spa.c
4441
ASSERT(spa->spa_import_flags & ZFS_IMPORT_CHECKPOINT);
usr/src/uts/common/fs/zfs/spa.c
4442
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4446
if (spa->spa_root_vdev != NULL)
usr/src/uts/common/fs/zfs/spa.c
4447
config = spa_config_generate(spa, NULL, -1ULL, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
4449
spa->spa_last_ubsync_txg = spa->spa_uberblock.ub_txg;
usr/src/uts/common/fs/zfs/spa.c
4450
spa->spa_last_ubsync_txg_ts = spa->spa_uberblock.ub_timestamp;
usr/src/uts/common/fs/zfs/spa.c
4454
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4460
spa_set_log_state(spa, SPA_LOG_CLEAR);
usr/src/uts/common/fs/zfs/spa.c
4467
loadinfo = spa->spa_load_info;
usr/src/uts/common/fs/zfs/spa.c
4468
spa->spa_load_info = fnvlist_alloc();
usr/src/uts/common/fs/zfs/spa.c
4471
spa->spa_load_max_txg = spa->spa_last_ubsync_txg;
usr/src/uts/common/fs/zfs/spa.c
4472
safe_rewind_txg = spa->spa_last_ubsync_txg - TXG_DEFER_SIZE;
usr/src/uts/common/fs/zfs/spa.c
4480
while (rewind_error && spa->spa_uberblock.ub_txg >= min_txg &&
usr/src/uts/common/fs/zfs/spa.c
4481
spa->spa_uberblock.ub_txg <= spa->spa_load_max_txg) {
usr/src/uts/common/fs/zfs/spa.c
4482
if (spa->spa_load_max_txg < safe_rewind_txg)
usr/src/uts/common/fs/zfs/spa.c
4483
spa->spa_extreme_rewind = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
4484
rewind_error = spa_load_retry(spa, state);
usr/src/uts/common/fs/zfs/spa.c
4487
spa->spa_extreme_rewind = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
4488
spa->spa_load_max_txg = UINT64_MAX;
usr/src/uts/common/fs/zfs/spa.c
4491
spa_config_set(spa, config);
usr/src/uts/common/fs/zfs/spa.c
4497
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4502
spa->spa_load_info);
usr/src/uts/common/fs/zfs/spa.c
4505
fnvlist_free(spa->spa_load_info);
usr/src/uts/common/fs/zfs/spa.c
4506
spa->spa_load_info = loadinfo;
usr/src/uts/common/fs/zfs/spa.c
4508
spa_import_progress_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4529
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
4547
if ((spa = spa_lookup(pool)) == NULL) {
usr/src/uts/common/fs/zfs/spa.c
4553
if (spa->spa_state == POOL_STATE_UNINITIALIZED) {
usr/src/uts/common/fs/zfs/spa.c
4556
zpool_get_load_policy(nvpolicy ? nvpolicy : spa->spa_config,
usr/src/uts/common/fs/zfs/spa.c
4561
spa_activate(spa, spa_mode_global);
usr/src/uts/common/fs/zfs/spa.c
4564
spa->spa_last_ubsync_txg = spa->spa_load_txg = 0;
usr/src/uts/common/fs/zfs/spa.c
4565
spa->spa_config_source = SPA_CONFIG_SRC_CACHEFILE;
usr/src/uts/common/fs/zfs/spa.c
4568
error = spa_load_best(spa, state, policy.zlp_txg,
usr/src/uts/common/fs/zfs/spa.c
4579
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
4580
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
4581
spa_write_cachefile(spa, B_TRUE, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
4582
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
4594
if (config != NULL && spa->spa_config) {
usr/src/uts/common/fs/zfs/spa.c
4595
VERIFY(nvlist_dup(spa->spa_config, config,
usr/src/uts/common/fs/zfs/spa.c
4599
spa->spa_load_info) == 0);
usr/src/uts/common/fs/zfs/spa.c
4601
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
4602
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
4603
spa->spa_last_open_failed = error;
usr/src/uts/common/fs/zfs/spa.c
4611
spa_open_ref(spa, tag);
usr/src/uts/common/fs/zfs/spa.c
4614
*config = spa_config_generate(spa, NULL, -1ULL, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
4622
spa->spa_load_info) == 0);
usr/src/uts/common/fs/zfs/spa.c
4626
spa->spa_last_open_failed = 0;
usr/src/uts/common/fs/zfs/spa.c
4627
spa->spa_last_ubsync_txg = 0;
usr/src/uts/common/fs/zfs/spa.c
4628
spa->spa_load_txg = 0;
usr/src/uts/common/fs/zfs/spa.c
4632
*spapp = spa;
usr/src/uts/common/fs/zfs/spa.c
4657
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
4660
if ((spa = spa_lookup(name)) == NULL) {
usr/src/uts/common/fs/zfs/spa.c
4664
spa->spa_inject_ref++;
usr/src/uts/common/fs/zfs/spa.c
4667
return (spa);
usr/src/uts/common/fs/zfs/spa.c
4671
spa_inject_delref(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
4674
spa->spa_inject_ref--;
usr/src/uts/common/fs/zfs/spa.c
4682
spa_add_spares(spa_t *spa, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa.c
4692
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
usr/src/uts/common/fs/zfs/spa.c
4694
if (spa->spa_spares.sav_count == 0)
usr/src/uts/common/fs/zfs/spa.c
4699
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
4731
spa_add_l2cache(spa_t *spa, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa.c
4741
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
usr/src/uts/common/fs/zfs/spa.c
4743
if (spa->spa_l2cache.sav_count == 0)
usr/src/uts/common/fs/zfs/spa.c
4748
VERIFY(nvlist_lookup_nvlist_array(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
4765
for (j = 0; j < spa->spa_l2cache.sav_count; j++) {
usr/src/uts/common/fs/zfs/spa.c
4767
spa->spa_l2cache.sav_vdevs[j]->vdev_guid) {
usr/src/uts/common/fs/zfs/spa.c
4768
vd = spa->spa_l2cache.sav_vdevs[j];
usr/src/uts/common/fs/zfs/spa.c
4785
spa_add_feature_stats(spa_t *spa, nvlist_t *config)
usr/src/uts/common/fs/zfs/spa.c
4791
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
usr/src/uts/common/fs/zfs/spa.c
4794
if (spa->spa_feat_for_read_obj != 0) {
usr/src/uts/common/fs/zfs/spa.c
4795
for (zap_cursor_init(&zc, spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
4796
spa->spa_feat_for_read_obj);
usr/src/uts/common/fs/zfs/spa.c
4807
if (spa->spa_feat_for_write_obj != 0) {
usr/src/uts/common/fs/zfs/spa.c
4808
for (zap_cursor_init(&zc, spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
4809
spa->spa_feat_for_write_obj);
usr/src/uts/common/fs/zfs/spa.c
4830
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
4833
error = spa_open_common(name, &spa, FTAG, NULL, config);
usr/src/uts/common/fs/zfs/spa.c
4835
if (spa != NULL) {
usr/src/uts/common/fs/zfs/spa.c
4841
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
4846
loadtimes[0] = spa->spa_loaded_ts.tv_sec;
usr/src/uts/common/fs/zfs/spa.c
4847
loadtimes[1] = spa->spa_loaded_ts.tv_nsec;
usr/src/uts/common/fs/zfs/spa.c
4853
spa_get_errlog_size(spa)) == 0);
usr/src/uts/common/fs/zfs/spa.c
4855
if (spa_suspended(spa)) {
usr/src/uts/common/fs/zfs/spa.c
4858
spa->spa_failmode) == 0);
usr/src/uts/common/fs/zfs/spa.c
4861
spa->spa_suspended) == 0);
usr/src/uts/common/fs/zfs/spa.c
4864
spa_add_spares(spa, *config);
usr/src/uts/common/fs/zfs/spa.c
4865
spa_add_l2cache(spa, *config);
usr/src/uts/common/fs/zfs/spa.c
4866
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
4875
if (spa == NULL) {
usr/src/uts/common/fs/zfs/spa.c
4877
spa = spa_lookup(name);
usr/src/uts/common/fs/zfs/spa.c
4878
if (spa)
usr/src/uts/common/fs/zfs/spa.c
4879
spa_altroot(spa, altroot, buflen);
usr/src/uts/common/fs/zfs/spa.c
4882
spa = NULL;
usr/src/uts/common/fs/zfs/spa.c
4885
spa_altroot(spa, altroot, buflen);
usr/src/uts/common/fs/zfs/spa.c
4889
if (spa != NULL) {
usr/src/uts/common/fs/zfs/spa.c
4890
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
4891
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
4904
spa_validate_aux_devs(spa_t *spa, nvlist_t *nvroot, uint64_t crtxg, int mode,
usr/src/uts/common/fs/zfs/spa.c
4913
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/spa.c
4928
if (spa_version(spa) < version)
usr/src/uts/common/fs/zfs/spa.c
4939
if ((error = spa_config_parse(spa, &vd, dev[i], NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
4973
spa_validate_aux(spa_t *spa, nvlist_t *nvroot, uint64_t crtxg, int mode)
usr/src/uts/common/fs/zfs/spa.c
4977
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/spa.c
4979
if ((error = spa_validate_aux_devs(spa, nvroot, crtxg, mode,
usr/src/uts/common/fs/zfs/spa.c
4980
&spa->spa_spares, ZPOOL_CONFIG_SPARES, SPA_VERSION_SPARES,
usr/src/uts/common/fs/zfs/spa.c
4985
return (spa_validate_aux_devs(spa, nvroot, crtxg, mode,
usr/src/uts/common/fs/zfs/spa.c
4986
&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
5040
spa_l2cache_drop(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
5044
spa_aux_vdev_t *sav = &spa->spa_l2cache;
usr/src/uts/common/fs/zfs/spa.c
5081
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
5119
spa = spa_add(poolname, nvl, altroot);
usr/src/uts/common/fs/zfs/spa.c
5121
spa_activate(spa, spa_mode_global);
usr/src/uts/common/fs/zfs/spa.c
5123
if (props && (error = spa_prop_validate(spa, props))) {
usr/src/uts/common/fs/zfs/spa.c
5124
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
5125
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
5134
spa->spa_import_flags |= ZFS_IMPORT_TEMP_NAME;
usr/src/uts/common/fs/zfs/spa.c
5153
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
5154
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
5166
spa->spa_first_txg = txg;
usr/src/uts/common/fs/zfs/spa.c
5167
spa->spa_uberblock.ub_txg = txg - 1;
usr/src/uts/common/fs/zfs/spa.c
5168
spa->spa_uberblock.ub_version = version;
usr/src/uts/common/fs/zfs/spa.c
5169
spa->spa_ubsync = spa->spa_uberblock;
usr/src/uts/common/fs/zfs/spa.c
5170
spa->spa_load_state = SPA_LOAD_CREATE;
usr/src/uts/common/fs/zfs/spa.c
5171
spa->spa_removing_phys.sr_state = DSS_NONE;
usr/src/uts/common/fs/zfs/spa.c
5172
spa->spa_removing_phys.sr_removing_vdev = -1;
usr/src/uts/common/fs/zfs/spa.c
5173
spa->spa_removing_phys.sr_prev_indirect_vdev = -1;
usr/src/uts/common/fs/zfs/spa.c
5174
spa->spa_indirect_vdevs_loaded = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5179
spa->spa_async_zio_root = kmem_alloc(max_ncpus * sizeof (void *),
usr/src/uts/common/fs/zfs/spa.c
5182
spa->spa_async_zio_root[i] = zio_root(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/spa.c
5190
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5192
error = spa_config_parse(spa, &rvd, nvroot, NULL, 0, VDEV_ALLOC_ADD);
usr/src/uts/common/fs/zfs/spa.c
5195
ASSERT(error != 0 || spa->spa_root_vdev == rvd);
usr/src/uts/common/fs/zfs/spa.c
5202
(error = spa_validate_aux(spa, nvroot, txg,
usr/src/uts/common/fs/zfs/spa.c
5216
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5219
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
5220
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
5221
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
5231
VERIFY(nvlist_alloc(&spa->spa_spares.sav_config, NV_UNIQUE_NAME,
usr/src/uts/common/fs/zfs/spa.c
5233
VERIFY(nvlist_add_nvlist_array(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5235
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5236
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/spa.c
5237
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5238
spa->spa_spares.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5246
VERIFY(nvlist_alloc(&spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5248
VERIFY(nvlist_add_nvlist_array(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5250
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5251
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/spa.c
5252
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5253
spa->spa_l2cache.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5256
spa->spa_is_initializing = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5257
spa->spa_dsl_pool = dp = dsl_pool_create(spa, zplprops, dcp, txg);
usr/src/uts/common/fs/zfs/spa.c
5258
spa->spa_is_initializing = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
5263
ddt_create(spa);
usr/src/uts/common/fs/zfs/spa.c
5265
spa_update_dspace(spa);
usr/src/uts/common/fs/zfs/spa.c
5272
spa->spa_config_object = dmu_object_alloc(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
5276
if (zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
5278
sizeof (uint64_t), 1, &spa->spa_config_object, tx) != 0) {
usr/src/uts/common/fs/zfs/spa.c
5282
if (zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
5290
spa->spa_deflate = TRUE;
usr/src/uts/common/fs/zfs/spa.c
5291
if (zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
5293
sizeof (uint64_t), 1, &spa->spa_deflate, tx) != 0) {
usr/src/uts/common/fs/zfs/spa.c
5303
obj = bpobj_alloc(spa->spa_meta_objset, 1 << 14, tx);
usr/src/uts/common/fs/zfs/spa.c
5304
dmu_object_set_compress(spa->spa_meta_objset, obj,
usr/src/uts/common/fs/zfs/spa.c
5306
if (zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
5311
VERIFY3U(0, ==, bpobj_open(&spa->spa_deferred_bpobj,
usr/src/uts/common/fs/zfs/spa.c
5312
spa->spa_meta_objset, obj));
usr/src/uts/common/fs/zfs/spa.c
5318
spa_history_create_obj(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
5323
(void) random_get_pseudo_bytes(spa->spa_cksum_salt.zcs_bytes,
usr/src/uts/common/fs/zfs/spa.c
5324
sizeof (spa->spa_cksum_salt.zcs_bytes));
usr/src/uts/common/fs/zfs/spa.c
5329
spa->spa_bootfs = zpool_prop_default_numeric(ZPOOL_PROP_BOOTFS);
usr/src/uts/common/fs/zfs/spa.c
5330
spa->spa_delegation = zpool_prop_default_numeric(ZPOOL_PROP_DELEGATION);
usr/src/uts/common/fs/zfs/spa.c
5331
spa->spa_failmode = zpool_prop_default_numeric(ZPOOL_PROP_FAILUREMODE);
usr/src/uts/common/fs/zfs/spa.c
5332
spa->spa_autoexpand = zpool_prop_default_numeric(ZPOOL_PROP_AUTOEXPAND);
usr/src/uts/common/fs/zfs/spa.c
5333
spa->spa_multihost = zpool_prop_default_numeric(ZPOOL_PROP_MULTIHOST);
usr/src/uts/common/fs/zfs/spa.c
5334
spa->spa_autotrim = zpool_prop_default_numeric(ZPOOL_PROP_AUTOTRIM);
usr/src/uts/common/fs/zfs/spa.c
5337
spa_configfile_set(spa, props, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
5343
spa->spa_sync_on = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5344
txg_sync_start(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa.c
5345
mmp_thread_start(spa);
usr/src/uts/common/fs/zfs/spa.c
5351
txg_wait_synced(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/spa.c
5353
spa_spawn_aux_threads(spa);
usr/src/uts/common/fs/zfs/spa.c
5355
spa_write_cachefile(spa, B_FALSE, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
5356
spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_CREATE);
usr/src/uts/common/fs/zfs/spa.c
5358
spa_history_log_version(spa, "create");
usr/src/uts/common/fs/zfs/spa.c
5364
spa_evicting_os_wait(spa);
usr/src/uts/common/fs/zfs/spa.c
5365
spa->spa_minref = zfs_refcount_count(&spa->spa_refcount);
usr/src/uts/common/fs/zfs/spa.c
5366
spa->spa_load_state = SPA_LOAD_NONE;
usr/src/uts/common/fs/zfs/spa.c
5480
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
553
(intval < spa_version(spa) ||
usr/src/uts/common/fs/zfs/spa.c
5550
if ((spa = spa_lookup(pname)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
5555
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
5558
spa = spa_add(pname, config, NULL);
usr/src/uts/common/fs/zfs/spa.c
5559
spa->spa_is_root = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5560
spa->spa_import_flags = ZFS_IMPORT_VERBATIM;
usr/src/uts/common/fs/zfs/spa.c
5562
&spa->spa_ubsync.ub_version) != 0)
usr/src/uts/common/fs/zfs/spa.c
5563
spa->spa_ubsync.ub_version = SPA_VERSION_INITIAL;
usr/src/uts/common/fs/zfs/spa.c
5570
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5571
error = spa_config_parse(spa, &rvd, nvtop, NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
5573
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5622
spa_async_request(spa, SPA_ASYNC_AUTOEXPAND);
usr/src/uts/common/fs/zfs/spa.c
5626
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5628
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5643
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
5672
spa = spa_add(pool, config, altroot);
usr/src/uts/common/fs/zfs/spa.c
5673
spa->spa_import_flags = flags;
usr/src/uts/common/fs/zfs/spa.c
5679
if (spa->spa_import_flags & ZFS_IMPORT_VERBATIM) {
usr/src/uts/common/fs/zfs/spa.c
5681
spa_configfile_set(spa, props, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
5683
spa_write_cachefile(spa, B_FALSE, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
5684
spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_IMPORT);
usr/src/uts/common/fs/zfs/spa.c
5690
spa_activate(spa, mode);
usr/src/uts/common/fs/zfs/spa.c
5695
spa_async_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
5701
spa->spa_config_source = SPA_CONFIG_SRC_TRYIMPORT;
usr/src/uts/common/fs/zfs/spa.c
5704
spa->spa_last_ubsync_txg = spa->spa_load_txg = 0;
usr/src/uts/common/fs/zfs/spa.c
5710
error = spa_load_best(spa, state, policy.zlp_txg, policy.zlp_rewind);
usr/src/uts/common/fs/zfs/spa.c
5717
spa->spa_load_info) == 0);
usr/src/uts/common/fs/zfs/spa.c
5719
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5724
if (spa->spa_spares.sav_config) {
usr/src/uts/common/fs/zfs/spa.c
5725
nvlist_free(spa->spa_spares.sav_config);
usr/src/uts/common/fs/zfs/spa.c
5726
spa->spa_spares.sav_config = NULL;
usr/src/uts/common/fs/zfs/spa.c
5727
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/spa.c
5729
if (spa->spa_l2cache.sav_config) {
usr/src/uts/common/fs/zfs/spa.c
5730
nvlist_free(spa->spa_l2cache.sav_config);
usr/src/uts/common/fs/zfs/spa.c
5731
spa->spa_l2cache.sav_config = NULL;
usr/src/uts/common/fs/zfs/spa.c
5732
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/spa.c
5738
error = spa_validate_aux(spa, nvroot, -1ULL,
usr/src/uts/common/fs/zfs/spa.c
5741
error = spa_validate_aux(spa, nvroot, -1ULL,
usr/src/uts/common/fs/zfs/spa.c
5743
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5746
spa_configfile_set(spa, props, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
5748
if (error != 0 || (props && spa_writeable(spa) &&
usr/src/uts/common/fs/zfs/spa.c
5749
(error = spa_prop_set(spa, props)))) {
usr/src/uts/common/fs/zfs/spa.c
5750
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
5751
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
5752
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
5757
spa_async_resume(spa);
usr/src/uts/common/fs/zfs/spa.c
5765
if (spa->spa_spares.sav_config)
usr/src/uts/common/fs/zfs/spa.c
5766
VERIFY(nvlist_remove(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5769
VERIFY(nvlist_alloc(&spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5771
VERIFY(nvlist_add_nvlist_array(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5773
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5774
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/spa.c
5775
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5776
spa->spa_spares.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5780
if (spa->spa_l2cache.sav_config)
usr/src/uts/common/fs/zfs/spa.c
5781
VERIFY(nvlist_remove(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5784
VERIFY(nvlist_alloc(&spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5786
VERIFY(nvlist_add_nvlist_array(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/spa.c
5788
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
5789
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/spa.c
5790
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5791
spa->spa_l2cache.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5797
if (spa->spa_autoreplace) {
usr/src/uts/common/fs/zfs/spa.c
5798
spa_aux_check_removed(&spa->spa_spares);
usr/src/uts/common/fs/zfs/spa.c
5799
spa_aux_check_removed(&spa->spa_l2cache);
usr/src/uts/common/fs/zfs/spa.c
5802
if (spa_writeable(spa)) {
usr/src/uts/common/fs/zfs/spa.c
5806
spa_config_update(spa, SPA_CONFIG_UPDATE_POOL);
usr/src/uts/common/fs/zfs/spa.c
5813
spa_async_request(spa, SPA_ASYNC_AUTOEXPAND);
usr/src/uts/common/fs/zfs/spa.c
5815
spa_history_log_version(spa, "import");
usr/src/uts/common/fs/zfs/spa.c
5817
spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_IMPORT);
usr/src/uts/common/fs/zfs/spa.c
5829
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
5844
spa = spa_add(TRYIMPORT_NAME, tryconfig, NULL);
usr/src/uts/common/fs/zfs/spa.c
5845
spa_activate(spa, FREAD);
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
zpool_get_load_policy(spa->spa_config, &policy);
usr/src/uts/common/fs/zfs/spa.c
5852
spa->spa_load_max_txg = policy.zlp_txg;
usr/src/uts/common/fs/zfs/spa.c
5853
spa->spa_extreme_rewind = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
5863
spa->spa_config_source = SPA_CONFIG_SRC_CACHEFILE;
usr/src/uts/common/fs/zfs/spa.c
5865
spa->spa_config_source = SPA_CONFIG_SRC_SCAN;
usr/src/uts/common/fs/zfs/spa.c
5868
error = spa_load(spa, SPA_LOAD_TRYIMPORT, SPA_IMPORT_EXISTING);
usr/src/uts/common/fs/zfs/spa.c
5873
if (spa->spa_root_vdev != NULL) {
usr/src/uts/common/fs/zfs/spa.c
5874
config = spa_config_generate(spa, NULL, -1ULL, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
5880
spa->spa_uberblock.ub_timestamp) == 0);
usr/src/uts/common/fs/zfs/spa.c
5882
spa->spa_load_info) == 0);
usr/src/uts/common/fs/zfs/spa.c
5889
if ((!error || error == EEXIST) && spa->spa_bootfs) {
usr/src/uts/common/fs/zfs/spa.c
5896
if (dsl_dsobj_to_dsname(spa_name(spa),
usr/src/uts/common/fs/zfs/spa.c
5897
spa->spa_bootfs, tmpname) == 0) {
usr/src/uts/common/fs/zfs/spa.c
5919
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
5920
spa_add_spares(spa, config);
usr/src/uts/common/fs/zfs/spa.c
5921
spa_add_l2cache(spa, config);
usr/src/uts/common/fs/zfs/spa.c
5922
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5925
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
5926
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
5927
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
5946
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
5955
if ((spa = spa_lookup(pool)) == NULL) {
usr/src/uts/common/fs/zfs/spa.c
5964
spa_open_ref(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5966
spa_async_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
5968
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
5974
if (spa->spa_state != POOL_STATE_UNINITIALIZED && spa->spa_sync_on) {
usr/src/uts/common/fs/zfs/spa.c
5980
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/spa.c
5981
spa_evicting_os_wait(spa);
usr/src/uts/common/fs/zfs/spa.c
5988
if (!spa_refcount_zero(spa) ||
usr/src/uts/common/fs/zfs/spa.c
5989
(spa->spa_inject_ref != 0 &&
usr/src/uts/common/fs/zfs/spa.c
5991
spa_async_resume(spa);
usr/src/uts/common/fs/zfs/spa.c
6003
spa_has_active_shared_spare(spa)) {
usr/src/uts/common/fs/zfs/spa.c
6004
spa_async_resume(spa);
usr/src/uts/common/fs/zfs/spa.c
6016
if (spa->spa_root_vdev != NULL) {
usr/src/uts/common/fs/zfs/spa.c
6017
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
6020
vdev_autotrim_stop_all(spa);
usr/src/uts/common/fs/zfs/spa.c
6029
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
6030
spa->spa_state = new_state;
usr/src/uts/common/fs/zfs/spa.c
6031
spa->spa_final_txg = spa_last_synced_txg(spa) +
usr/src/uts/common/fs/zfs/spa.c
6033
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
6034
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6038
spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_DESTROY);
usr/src/uts/common/fs/zfs/spa.c
6040
if (spa->spa_state != POOL_STATE_UNINITIALIZED) {
usr/src/uts/common/fs/zfs/spa.c
6041
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
6042
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
6045
if (oldconfig && spa->spa_config)
usr/src/uts/common/fs/zfs/spa.c
6046
VERIFY(nvlist_dup(spa->spa_config, oldconfig, 0) == 0);
usr/src/uts/common/fs/zfs/spa.c
6050
spa_write_cachefile(spa, B_TRUE, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
6051
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
6100
spa_vdev_add(spa_t *spa, nvlist_t *nvroot)
usr/src/uts/common/fs/zfs/spa.c
6104
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
6109
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
6111
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
6113
if ((error = spa_config_parse(spa, &vd, nvroot, NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
6115
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6117
spa->spa_pending_vdev = vd; /* spa_vdev_exit() will clear this */
usr/src/uts/common/fs/zfs/spa.c
6128
return (spa_vdev_exit(spa, vd, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6132
return (spa_vdev_exit(spa, vd, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6138
if ((error = spa_validate_aux(spa, nvroot, txg, VDEV_ALLOC_ADD)) != 0)
usr/src/uts/common/fs/zfs/spa.c
6139
return (spa_vdev_exit(spa, vd, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6147
if (spa->spa_vdev_removal != NULL ||
usr/src/uts/common/fs/zfs/spa.c
6148
spa->spa_removing_phys.sr_prev_indirect_vdev != -1) {
usr/src/uts/common/fs/zfs/spa.c
6151
if (spa->spa_vdev_removal != NULL &&
usr/src/uts/common/fs/zfs/spa.c
6152
tvd->vdev_ashift != spa->spa_max_ashift) {
usr/src/uts/common/fs/zfs/spa.c
6153
return (spa_vdev_exit(spa, vd, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6157
return (spa_vdev_exit(spa, vd, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6168
return (spa_vdev_exit(spa, vd,
usr/src/uts/common/fs/zfs/spa.c
6185
spa_set_aux_vdevs(&spa->spa_spares, spares, nspares,
usr/src/uts/common/fs/zfs/spa.c
6187
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/spa.c
6188
spa->spa_spares.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
6192
spa_set_aux_vdevs(&spa->spa_l2cache, l2cache, nl2cache,
usr/src/uts/common/fs/zfs/spa.c
6194
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/spa.c
6195
spa->spa_l2cache.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
6211
(void) spa_vdev_exit(spa, vd, txg, 0);
usr/src/uts/common/fs/zfs/spa.c
6214
spa_config_update(spa, SPA_CONFIG_UPDATE_POOL);
usr/src/uts/common/fs/zfs/spa.c
6215
spa_event_notify(spa, NULL, NULL, ESC_ZFS_VDEV_ADD);
usr/src/uts/common/fs/zfs/spa.c
6235
spa_vdev_attach(spa_t *spa, uint64_t guid, nvlist_t *nvroot, int replacing)
usr/src/uts/common/fs/zfs/spa.c
6238
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
6245
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
6247
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
6249
oldvd = spa_lookup_by_guid(spa, guid, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
6252
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/spa.c
6253
error = (spa_has_checkpoint(spa)) ?
usr/src/uts/common/fs/zfs/spa.c
6255
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6258
if (spa->spa_vdev_removal != NULL)
usr/src/uts/common/fs/zfs/spa.c
6259
return (spa_vdev_exit(spa, NULL, txg, EBUSY));
usr/src/uts/common/fs/zfs/spa.c
6262
return (spa_vdev_exit(spa, NULL, txg, ENODEV));
usr/src/uts/common/fs/zfs/spa.c
6265
return (spa_vdev_exit(spa, NULL, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6269
if ((error = spa_config_parse(spa, &newrootvd, nvroot, NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
6271
return (spa_vdev_exit(spa, NULL, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6274
return (spa_vdev_exit(spa, newrootvd, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6279
return (spa_vdev_exit(spa, newrootvd, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6282
return (spa_vdev_exit(spa, newrootvd, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6288
return (spa_vdev_exit(spa, newrootvd, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6297
return (spa_vdev_exit(spa, newrootvd, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6307
!spa_has_spare(spa, newvd->vdev_guid))
usr/src/uts/common/fs/zfs/spa.c
6308
return (spa_vdev_exit(spa, newrootvd, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6319
spa_version(spa) < SPA_VERSION_MULTI_REPLACE) {
usr/src/uts/common/fs/zfs/spa.c
6320
return (spa_vdev_exit(spa, newrootvd, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6323
return (spa_vdev_exit(spa, newrootvd, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6336
return (spa_vdev_exit(spa, newrootvd, txg, EOVERFLOW));
usr/src/uts/common/fs/zfs/spa.c
6343
return (spa_vdev_exit(spa, newrootvd, txg, EDOM));
usr/src/uts/common/fs/zfs/spa.c
6401
spa_event_notify(spa, newvd, NULL, ESC_ZFS_VDEV_SPARE);
usr/src/uts/common/fs/zfs/spa.c
6419
if (dsl_scan_resilvering(spa_get_dsl(spa)) &&
usr/src/uts/common/fs/zfs/spa.c
6420
spa_feature_is_enabled(spa, SPA_FEATURE_RESILVER_DEFER))
usr/src/uts/common/fs/zfs/spa.c
6423
dsl_scan_restart_resilver(spa->spa_dsl_pool, dtl_max_txg);
usr/src/uts/common/fs/zfs/spa.c
6425
if (spa->spa_bootfs)
usr/src/uts/common/fs/zfs/spa.c
6426
spa_event_notify(spa, newvd, NULL, ESC_ZFS_BOOTFS_VDEV_ATTACH);
usr/src/uts/common/fs/zfs/spa.c
6428
spa_event_notify(spa, newvd, NULL, ESC_ZFS_VDEV_ATTACH);
usr/src/uts/common/fs/zfs/spa.c
6433
(void) spa_vdev_exit(spa, newrootvd, dtl_max_txg, 0);
usr/src/uts/common/fs/zfs/spa.c
6435
spa_history_log_internal(spa, "vdev attach", NULL,
usr/src/uts/common/fs/zfs/spa.c
6454
spa_vdev_detach(spa_t *spa, uint64_t guid, uint64_t pguid, int replace_done)
usr/src/uts/common/fs/zfs/spa.c
6458
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
6464
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
6466
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
6468
vd = spa_lookup_by_guid(spa, guid, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
6485
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/spa.c
6486
error = (spa_has_checkpoint(spa)) ?
usr/src/uts/common/fs/zfs/spa.c
6488
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6492
return (spa_vdev_exit(spa, NULL, txg, ENODEV));
usr/src/uts/common/fs/zfs/spa.c
6495
return (spa_vdev_exit(spa, NULL, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6513
return (spa_vdev_exit(spa, NULL, txg, EBUSY));
usr/src/uts/common/fs/zfs/spa.c
652
if (!error && spa_suspended(spa)) {
usr/src/uts/common/fs/zfs/spa.c
6520
return (spa_vdev_exit(spa, NULL, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6523
spa_version(spa) >= SPA_VERSION_SPARES);
usr/src/uts/common/fs/zfs/spa.c
653
spa->spa_failmode = intval;
usr/src/uts/common/fs/zfs/spa.c
6531
return (spa_vdev_exit(spa, NULL, txg, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
6538
return (spa_vdev_exit(spa, NULL, txg, EBUSY));
usr/src/uts/common/fs/zfs/spa.c
6610
(void) spa_vdev_remove(spa, unspare_guid, B_TRUE);
usr/src/uts/common/fs/zfs/spa.c
6643
if (spa->spa_autoexpand) {
usr/src/uts/common/fs/zfs/spa.c
6662
spa_event_notify(spa, vd, NULL, ESC_ZFS_VDEV_REMOVE);
usr/src/uts/common/fs/zfs/spa.c
6663
spa_notify_waiters(spa);
usr/src/uts/common/fs/zfs/spa.c
6666
spa_open_ref(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6668
error = spa_vdev_exit(spa, vd, txg, 0);
usr/src/uts/common/fs/zfs/spa.c
6670
spa_history_log_internal(spa, "detach", NULL,
usr/src/uts/common/fs/zfs/spa.c
6685
altspa == spa)
usr/src/uts/common/fs/zfs/spa.c
6697
spa_vdev_resilver_done(spa);
usr/src/uts/common/fs/zfs/spa.c
6702
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6709
spa_vdev_initialize_impl(spa_t *spa, uint64_t guid, uint64_t cmd_type,
usr/src/uts/common/fs/zfs/spa.c
6714
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
6717
vdev_t *vd = spa_lookup_by_guid(spa, guid, B_FALSE);
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
6725
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6729
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6773
spa_vdev_initialize(spa_t *spa, nvlist_t *nv, uint64_t cmd_type,
usr/src/uts/common/fs/zfs/spa.c
6795
int error = spa_vdev_initialize_impl(spa, vdev_guid, cmd_type,
usr/src/uts/common/fs/zfs/spa.c
6808
vdev_initialize_stop_wait(spa, &vd_list);
usr/src/uts/common/fs/zfs/spa.c
6811
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/spa.c
6820
spa_vdev_trim_impl(spa_t *spa, uint64_t guid, uint64_t cmd_type,
usr/src/uts/common/fs/zfs/spa.c
6825
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
6828
vdev_t *vd = spa_lookup_by_guid(spa, guid, B_FALSE);
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
6842
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6846
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6893
spa_vdev_trim(spa_t *spa, nvlist_t *nv, uint64_t cmd_type, uint64_t rate,
usr/src/uts/common/fs/zfs/spa.c
6915
int error = spa_vdev_trim_impl(spa, vdev_guid, cmd_type,
usr/src/uts/common/fs/zfs/spa.c
6928
vdev_trim_stop_wait(spa, &vd_list);
usr/src/uts/common/fs/zfs/spa.c
6931
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/spa.c
6943
spa_vdev_split_mirror(spa_t *spa, char *newname, nvlist_t *config,
usr/src/uts/common/fs/zfs/spa.c
6956
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
6958
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
6961
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/spa.c
6962
error = (spa_has_checkpoint(spa)) ?
usr/src/uts/common/fs/zfs/spa.c
6964
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6968
activate_slog = spa_passivate_log(spa);
usr/src/uts/common/fs/zfs/spa.c
6969
(void) spa_vdev_config_exit(spa, NULL, txg, 0, FTAG);
usr/src/uts/common/fs/zfs/spa.c
6970
error = spa_reset_logs(spa);
usr/src/uts/common/fs/zfs/spa.c
6971
txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
6974
spa_activate_log(spa);
usr/src/uts/common/fs/zfs/spa.c
6977
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
6981
return (spa_vdev_exit(spa, NULL, txg, EEXIST));
usr/src/uts/common/fs/zfs/spa.c
6989
return (spa_vdev_exit(spa, NULL, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
6992
rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
7007
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
7012
return (spa_vdev_exit(spa, NULL, txg, EINVAL));
usr/src/uts/common/fs/zfs/spa.c
7025
if (spa->spa_root_vdev->vdev_child[c]->vdev_ishole ||
usr/src/uts/common/fs/zfs/spa.c
7026
spa->spa_root_vdev->vdev_child[c]->vdev_islog) {
usr/src/uts/common/fs/zfs/spa.c
7042
vml[c] = spa_lookup_by_guid(spa, glist[c], B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
7057
c != spa->spa_root_vdev->vdev_child[c]->vdev_id) {
usr/src/uts/common/fs/zfs/spa.c
7091
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/spa.c
7099
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7110
mutex_enter(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
7111
VERIFY(nvlist_add_nvlist(spa->spa_config, ZPOOL_CONFIG_SPLIT,
usr/src/uts/common/fs/zfs/spa.c
7113
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
7114
spa->spa_config_splitting = nvl;
usr/src/uts/common/fs/zfs/spa.c
7115
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7122
spa_version(spa)) == 0);
usr/src/uts/common/fs/zfs/spa.c
7124
spa->spa_config_txg) == 0);
usr/src/uts/common/fs/zfs/spa.c
7134
newspa->spa_config_txg = spa->spa_config_txg;
usr/src/uts/common/fs/zfs/spa.c
7138
spa_vdev_config_exit(spa, NULL, txg, 0, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7141
zio_handle_panic_injection(spa, FTAG, 1);
usr/src/uts/common/fs/zfs/spa.c
7172
vdev_initialize_stop_wait(spa, &vd_initialize_list);
usr/src/uts/common/fs/zfs/spa.c
7173
vdev_trim_stop_wait(spa, &vd_trim_list);
usr/src/uts/common/fs/zfs/spa.c
7190
ZPOOL_CONFIG_SPLIT_GUID, spa_guid(spa)) == 0);
usr/src/uts/common/fs/zfs/spa.c
7209
zio_handle_panic_injection(spa, FTAG, 2);
usr/src/uts/common/fs/zfs/spa.c
7214
txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
7215
tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/spa.c
7235
spa_history_log_internal(spa, "detach", tx,
usr/src/uts/common/fs/zfs/spa.c
7241
spa->spa_avz_action = AVZ_ACTION_REBUILD;
usr/src/uts/common/fs/zfs/spa.c
7242
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7243
spa->spa_config_splitting = NULL;
usr/src/uts/common/fs/zfs/spa.c
7247
(void) spa_vdev_exit(spa, NULL, txg, 0);
usr/src/uts/common/fs/zfs/spa.c
7250
zio_handle_panic_injection(spa, FTAG, 3);
usr/src/uts/common/fs/zfs/spa.c
7254
"from pool %s", spa_name(spa));
usr/src/uts/common/fs/zfs/spa.c
7270
txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/spa.c
7279
spa_async_request(spa, SPA_ASYNC_INITIALIZE_RESTART);
usr/src/uts/common/fs/zfs/spa.c
7280
spa_async_request(spa, SPA_ASYNC_TRIM_RESTART);
usr/src/uts/common/fs/zfs/spa.c
7281
spa_async_request(spa, SPA_ASYNC_AUTOTRIM_RESTART);
usr/src/uts/common/fs/zfs/spa.c
7283
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7285
nvlist_free(spa->spa_config_splitting);
usr/src/uts/common/fs/zfs/spa.c
7286
spa->spa_config_splitting = NULL;
usr/src/uts/common/fs/zfs/spa.c
7287
(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
7376
spa_vdev_resilver_done(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7381
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
7383
while ((vd = spa_vdev_resilver_done_hunt(spa->spa_root_vdev)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
7402
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7403
if (spa_vdev_detach(spa, guid, pguid, B_TRUE) != 0)
usr/src/uts/common/fs/zfs/spa.c
7405
if (sguid && spa_vdev_detach(spa, sguid, ppguid, B_TRUE) != 0)
usr/src/uts/common/fs/zfs/spa.c
7407
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
7410
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7417
spa_vdev_set_common(spa_t *spa, uint64_t guid, const char *value,
usr/src/uts/common/fs/zfs/spa.c
7423
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
7425
spa_vdev_state_enter(spa, SCL_ALL);
usr/src/uts/common/fs/zfs/spa.c
7427
if ((vd = spa_lookup_by_guid(spa, guid, B_TRUE)) == NULL)
usr/src/uts/common/fs/zfs/spa.c
7428
return (spa_vdev_state_exit(spa, NULL, ENOENT));
usr/src/uts/common/fs/zfs/spa.c
7431
return (spa_vdev_state_exit(spa, NULL, ENOTSUP));
usr/src/uts/common/fs/zfs/spa.c
7450
return (spa_vdev_state_exit(spa, sync ? vd : NULL, 0));
usr/src/uts/common/fs/zfs/spa.c
7454
spa_vdev_setpath(spa_t *spa, uint64_t guid, const char *newpath)
usr/src/uts/common/fs/zfs/spa.c
7456
return (spa_vdev_set_common(spa, guid, newpath, B_TRUE));
usr/src/uts/common/fs/zfs/spa.c
7460
spa_vdev_setfru(spa_t *spa, uint64_t guid, const char *newfru)
usr/src/uts/common/fs/zfs/spa.c
7462
return (spa_vdev_set_common(spa, guid, newfru, B_FALSE));
usr/src/uts/common/fs/zfs/spa.c
7471
spa_scrub_pause_resume(spa_t *spa, pool_scrub_cmd_t cmd)
usr/src/uts/common/fs/zfs/spa.c
7473
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == 0);
usr/src/uts/common/fs/zfs/spa.c
7475
if (dsl_scan_resilvering(spa->spa_dsl_pool))
usr/src/uts/common/fs/zfs/spa.c
7478
return (dsl_scrub_set_pause_resume(spa->spa_dsl_pool, cmd));
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
7482
spa_scan_stop(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7484
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == 0);
usr/src/uts/common/fs/zfs/spa.c
7485
if (dsl_scan_resilvering(spa->spa_dsl_pool))
usr/src/uts/common/fs/zfs/spa.c
7487
return (dsl_scan_cancel(spa->spa_dsl_pool));
usr/src/uts/common/fs/zfs/spa.c
7491
spa_scan(spa_t *spa, pool_scan_func_t func)
usr/src/uts/common/fs/zfs/spa.c
7493
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == 0);
usr/src/uts/common/fs/zfs/spa.c
7499
!spa_feature_is_enabled(spa, SPA_FEATURE_RESILVER_DEFER))
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
!vdev_resilver_needed(spa->spa_root_vdev, NULL, NULL)) {
usr/src/uts/common/fs/zfs/spa.c
7508
spa_async_request(spa, SPA_ASYNC_RESILVER_DONE);
usr/src/uts/common/fs/zfs/spa.c
7512
return (dsl_scan(spa->spa_dsl_pool, func));
usr/src/uts/common/fs/zfs/spa.c
7522
spa_async_remove(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
7543
spa_async_remove(spa, vd->vdev_child[c]);
usr/src/uts/common/fs/zfs/spa.c
7547
spa_async_probe(spa_t *spa, vdev_t *vd)
usr/src/uts/common/fs/zfs/spa.c
7555
spa_async_probe(spa, vd->vdev_child[c]);
usr/src/uts/common/fs/zfs/spa.c
7559
spa_async_autoexpand(spa_t *spa, vdev_t *vd)
usr/src/uts/common/fs/zfs/spa.c
7563
if (!spa->spa_autoexpand)
usr/src/uts/common/fs/zfs/spa.c
7568
spa_async_autoexpand(spa, cvd);
usr/src/uts/common/fs/zfs/spa.c
7585
spa_t *spa = (spa_t *)arg;
usr/src/uts/common/fs/zfs/spa.c
7586
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/spa.c
7589
ASSERT(spa->spa_sync_on);
usr/src/uts/common/fs/zfs/spa.c
7591
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7592
tasks = spa->spa_async_tasks;
usr/src/uts/common/fs/zfs/spa.c
7593
spa->spa_async_tasks = 0;
usr/src/uts/common/fs/zfs/spa.c
7594
mutex_exit(&spa->spa_async_lock);
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
7603
old_space = metaslab_class_get_space(spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7604
old_space += metaslab_class_get_space(spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7605
old_space += metaslab_class_get_space(spa_dedup_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7607
spa_config_update(spa, SPA_CONFIG_UPDATE_POOL);
usr/src/uts/common/fs/zfs/spa.c
7609
new_space = metaslab_class_get_space(spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7610
new_space += metaslab_class_get_space(spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7611
new_space += metaslab_class_get_space(spa_dedup_class(spa));
usr/src/uts/common/fs/zfs/spa.c
7619
spa_history_log_internal(spa, "vdev online", NULL,
usr/src/uts/common/fs/zfs/spa.c
7621
spa_name(spa), new_space, new_space - old_space);
usr/src/uts/common/fs/zfs/spa.c
7629
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/spa.c
7630
spa_async_remove(spa, spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7631
for (int i = 0; i < spa->spa_l2cache.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
7632
spa_async_remove(spa, spa->spa_l2cache.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
7633
for (int i = 0; i < spa->spa_spares.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
7634
spa_async_remove(spa, spa->spa_spares.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
7635
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/spa.c
7638
if ((tasks & SPA_ASYNC_AUTOEXPAND) && !spa_suspended(spa)) {
usr/src/uts/common/fs/zfs/spa.c
7639
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7640
spa_async_autoexpand(spa, spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7641
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7648
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/spa.c
7649
spa_async_probe(spa, spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7650
for (int i = 0; i < spa->spa_spares.sav_count; i++)
usr/src/uts/common/fs/zfs/spa.c
7651
spa_async_probe(spa, spa->spa_spares.sav_vdevs[i]);
usr/src/uts/common/fs/zfs/spa.c
7652
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/spa.c
7659
spa_vdev_resilver_done(spa);
usr/src/uts/common/fs/zfs/spa.c
7671
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7672
vdev_initialize_restart(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7673
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7679
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7680
vdev_trim_restart(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
7681
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7687
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7688
vdev_autotrim_restart(spa);
usr/src/uts/common/fs/zfs/spa.c
7689
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7698
spa_config_enter(spa, SCL_L2ARC, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7699
l2arc_spa_rebuild_start(spa);
usr/src/uts/common/fs/zfs/spa.c
7700
spa_config_exit(spa, SCL_L2ARC, FTAG);
usr/src/uts/common/fs/zfs/spa.c
7707
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7708
spa->spa_async_thread = NULL;
usr/src/uts/common/fs/zfs/spa.c
7709
cv_broadcast(&spa->spa_async_cv);
usr/src/uts/common/fs/zfs/spa.c
7710
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7715
spa_async_suspend(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7717
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7718
spa->spa_async_suspended++;
usr/src/uts/common/fs/zfs/spa.c
7719
while (spa->spa_async_thread != NULL)
usr/src/uts/common/fs/zfs/spa.c
7720
cv_wait(&spa->spa_async_cv, &spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7721
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7723
spa_vdev_remove_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
7725
zthr_t *condense_thread = spa->spa_condense_zthr;
usr/src/uts/common/fs/zfs/spa.c
7729
zthr_t *discard_thread = spa->spa_checkpoint_discard_zthr;
usr/src/uts/common/fs/zfs/spa.c
7735
spa_async_resume(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7737
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7738
ASSERT(spa->spa_async_suspended != 0);
usr/src/uts/common/fs/zfs/spa.c
7739
spa->spa_async_suspended--;
usr/src/uts/common/fs/zfs/spa.c
7740
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7741
spa_restart_removal(spa);
usr/src/uts/common/fs/zfs/spa.c
7743
zthr_t *condense_thread = spa->spa_condense_zthr;
usr/src/uts/common/fs/zfs/spa.c
7747
zthr_t *discard_thread = spa->spa_checkpoint_discard_zthr;
usr/src/uts/common/fs/zfs/spa.c
7753
spa_async_tasks_pending(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7759
non_config_tasks = spa->spa_async_tasks & ~SPA_ASYNC_CONFIG_UPDATE;
usr/src/uts/common/fs/zfs/spa.c
7760
config_task = spa->spa_async_tasks & SPA_ASYNC_CONFIG_UPDATE;
usr/src/uts/common/fs/zfs/spa.c
7761
if (spa->spa_ccw_fail_time == 0) {
usr/src/uts/common/fs/zfs/spa.c
7765
(gethrtime() - spa->spa_ccw_fail_time) <
usr/src/uts/common/fs/zfs/spa.c
7773
spa_async_dispatch(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7775
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7776
if (spa_async_tasks_pending(spa) &&
usr/src/uts/common/fs/zfs/spa.c
7777
!spa->spa_async_suspended &&
usr/src/uts/common/fs/zfs/spa.c
7778
spa->spa_async_thread == NULL &&
usr/src/uts/common/fs/zfs/spa.c
7780
spa->spa_async_thread = thread_create(NULL, 0,
usr/src/uts/common/fs/zfs/spa.c
7781
spa_async_thread, spa, 0, &p0, TS_RUN, maxclsyspri);
usr/src/uts/common/fs/zfs/spa.c
7782
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7786
spa_async_request(spa_t *spa, int task)
usr/src/uts/common/fs/zfs/spa.c
7788
zfs_dbgmsg("spa=%s async request task=%u", spa->spa_name, task);
usr/src/uts/common/fs/zfs/spa.c
7789
mutex_enter(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7790
spa->spa_async_tasks |= task;
usr/src/uts/common/fs/zfs/spa.c
7791
mutex_exit(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa.c
7795
spa_async_tasks(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
7797
return (spa->spa_async_tasks);
usr/src/uts/common/fs/zfs/spa.c
7829
spa_sync_frees(spa_t *spa, bplist_t *bpl, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
783
if (ver == spa_version(spa))
usr/src/uts/common/fs/zfs/spa.c
7831
zio_t *zio = zio_root(spa, NULL, NULL, 0);
usr/src/uts/common/fs/zfs/spa.c
7841
spa_sync_deferred_frees(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
7843
if (spa_sync_pass(spa) != 1)
usr/src/uts/common/fs/zfs/spa.c
7858
zio_t *zio = zio_root(spa, NULL, NULL, 0);
usr/src/uts/common/fs/zfs/spa.c
7859
VERIFY3U(bpobj_iterate(&spa->spa_deferred_bpobj,
usr/src/uts/common/fs/zfs/spa.c
7866
spa_sync_nvlist(spa_t *spa, uint64_t obj, nvlist_t *nv, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
7887
dmu_write(spa->spa_meta_objset, obj, 0, bufsize, packed, tx);
usr/src/uts/common/fs/zfs/spa.c
7891
VERIFY(0 == dmu_bonus_hold(spa->spa_meta_objset, obj, FTAG, &db));
usr/src/uts/common/fs/zfs/spa.c
7898
spa_sync_aux_dev(spa_t *spa, spa_aux_vdev_t *sav, dmu_tx_t *tx,
usr/src/uts/common/fs/zfs/spa.c
7914
sav->sav_object = dmu_object_alloc(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
7917
VERIFY(zap_update(spa->spa_meta_objset,
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
7928
list[i] = vdev_config_generate(spa, sav->sav_vdevs[i],
usr/src/uts/common/fs/zfs/spa.c
7937
spa_sync_nvlist(spa, sav->sav_object, nvroot, tx);
usr/src/uts/common/fs/zfs/spa.c
7950
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/spa.c
7952
VERIFY0(zap_add_int(spa->spa_meta_objset, avz,
usr/src/uts/common/fs/zfs/spa.c
7956
VERIFY0(zap_add_int(spa->spa_meta_objset, avz,
usr/src/uts/common/fs/zfs/spa.c
7965
spa_sync_config_object(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
7975
if (list_is_empty(&spa->spa_config_dirty_list) &&
usr/src/uts/common/fs/zfs/spa.c
7976
spa->spa_avz_action == AVZ_ACTION_NONE)
usr/src/uts/common/fs/zfs/spa.c
7979
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
7981
ASSERT(spa->spa_avz_action == AVZ_ACTION_NONE ||
usr/src/uts/common/fs/zfs/spa.c
7982
spa->spa_avz_action == AVZ_ACTION_INITIALIZE ||
usr/src/uts/common/fs/zfs/spa.c
7983
spa->spa_all_vdev_zaps != 0);
usr/src/uts/common/fs/zfs/spa.c
7985
if (spa->spa_avz_action == AVZ_ACTION_REBUILD) {
usr/src/uts/common/fs/zfs/spa.c
7987
uint64_t new_avz = zap_create(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
7989
spa_avz_build(spa->spa_root_vdev, new_avz, tx);
usr/src/uts/common/fs/zfs/spa.c
7995
for (zap_cursor_init(&zc, spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
7996
spa->spa_all_vdev_zaps);
usr/src/uts/common/fs/zfs/spa.c
8000
if (zap_lookup_int(spa->spa_meta_objset, new_avz,
usr/src/uts/common/fs/zfs/spa.c
8006
VERIFY0(zap_destroy(spa->spa_meta_objset, vdzap,
usr/src/uts/common/fs/zfs/spa.c
8014
VERIFY0(zap_destroy(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8015
spa->spa_all_vdev_zaps, tx));
usr/src/uts/common/fs/zfs/spa.c
8018
VERIFY0(zap_update(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8022
spa->spa_all_vdev_zaps = new_avz;
usr/src/uts/common/fs/zfs/spa.c
8023
} else if (spa->spa_avz_action == AVZ_ACTION_DESTROY) {
usr/src/uts/common/fs/zfs/spa.c
8028
for (zap_cursor_init(&zc, spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8029
spa->spa_all_vdev_zaps);
usr/src/uts/common/fs/zfs/spa.c
8033
VERIFY0(zap_destroy(spa->spa_meta_objset, zap, tx));
usr/src/uts/common/fs/zfs/spa.c
8039
VERIFY0(zap_destroy(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8040
spa->spa_all_vdev_zaps, tx));
usr/src/uts/common/fs/zfs/spa.c
8041
VERIFY0(zap_remove(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8043
spa->spa_all_vdev_zaps = 0;
usr/src/uts/common/fs/zfs/spa.c
8046
if (spa->spa_all_vdev_zaps == 0) {
usr/src/uts/common/fs/zfs/spa.c
8047
spa->spa_all_vdev_zaps = zap_create_link(spa->spa_meta_objset,
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
8051
spa->spa_avz_action = AVZ_ACTION_NONE;
usr/src/uts/common/fs/zfs/spa.c
8054
vdev_construct_zaps(spa->spa_root_vdev, tx);
usr/src/uts/common/fs/zfs/spa.c
8056
config = spa_config_generate(spa, spa->spa_root_vdev,
usr/src/uts/common/fs/zfs/spa.c
8063
if (spa->spa_ubsync.ub_version < spa->spa_uberblock.ub_version)
usr/src/uts/common/fs/zfs/spa.c
8065
spa->spa_uberblock.ub_version);
usr/src/uts/common/fs/zfs/spa.c
8067
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8069
nvlist_free(spa->spa_config_syncing);
usr/src/uts/common/fs/zfs/spa.c
8070
spa->spa_config_syncing = config;
usr/src/uts/common/fs/zfs/spa.c
8072
spa_sync_nvlist(spa, spa->spa_config_object, config, tx);
usr/src/uts/common/fs/zfs/spa.c
8080
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa.c
8088
ASSERT(version >= spa_version(spa));
usr/src/uts/common/fs/zfs/spa.c
8090
spa->spa_uberblock.ub_version = version;
usr/src/uts/common/fs/zfs/spa.c
8091
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
8092
spa_history_log_internal(spa, "set", tx, "version=%lld", version);
usr/src/uts/common/fs/zfs/spa.c
8102
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa.c
8103
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa.c
8106
mutex_enter(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
8126
spa_feature_enable(spa, fid, tx);
usr/src/uts/common/fs/zfs/spa.c
8127
spa_history_log_internal(spa, "set", tx,
usr/src/uts/common/fs/zfs/spa.c
8137
ASSERT3U(spa_version(spa), >=, intval);
usr/src/uts/common/fs/zfs/spa.c
8145
ASSERT(spa->spa_root != NULL);
usr/src/uts/common/fs/zfs/spa.c
8157
if (spa->spa_comment != NULL)
usr/src/uts/common/fs/zfs/spa.c
8158
spa_strfree(spa->spa_comment);
usr/src/uts/common/fs/zfs/spa.c
8159
spa->spa_comment = spa_strdup(strval);
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
8167
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
8168
spa_history_log_internal(spa, "set", tx,
usr/src/uts/common/fs/zfs/spa.c
8175
if (spa->spa_pool_props_object == 0) {
usr/src/uts/common/fs/zfs/spa.c
8176
spa->spa_pool_props_object =
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
819
VERIFY(zap_remove(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8190
spa->spa_pool_props_object, propname,
usr/src/uts/common/fs/zfs/spa.c
8192
spa_history_log_internal(spa, "set", tx,
usr/src/uts/common/fs/zfs/spa.c
820
spa->spa_pool_props_object,
usr/src/uts/common/fs/zfs/spa.c
8203
spa->spa_pool_props_object, propname,
usr/src/uts/common/fs/zfs/spa.c
8205
spa_history_log_internal(spa, "set", tx,
usr/src/uts/common/fs/zfs/spa.c
8213
spa->spa_delegation = intval;
usr/src/uts/common/fs/zfs/spa.c
8216
spa->spa_bootfs = intval;
usr/src/uts/common/fs/zfs/spa.c
8219
spa->spa_failmode = intval;
usr/src/uts/common/fs/zfs/spa.c
822
spa->spa_bootfs = 0;
usr/src/uts/common/fs/zfs/spa.c
8222
spa->spa_autotrim = intval;
usr/src/uts/common/fs/zfs/spa.c
8223
spa_async_request(spa,
usr/src/uts/common/fs/zfs/spa.c
8227
spa->spa_autoexpand = intval;
usr/src/uts/common/fs/zfs/spa.c
8229
spa_async_request(spa,
usr/src/uts/common/fs/zfs/spa.c
8233
spa->spa_multihost = intval;
usr/src/uts/common/fs/zfs/spa.c
8236
spa->spa_dedup_ditto = intval;
usr/src/uts/common/fs/zfs/spa.c
8245
mutex_exit(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa.c
8256
spa_sync_upgrades(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
8258
if (spa_sync_pass(spa) != 1)
usr/src/uts/common/fs/zfs/spa.c
8261
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/spa.c
8264
if (spa->spa_ubsync.ub_version < SPA_VERSION_ORIGIN &&
usr/src/uts/common/fs/zfs/spa.c
8265
spa->spa_uberblock.ub_version >= SPA_VERSION_ORIGIN) {
usr/src/uts/common/fs/zfs/spa.c
8269
spa->spa_minref += 3;
usr/src/uts/common/fs/zfs/spa.c
8272
if (spa->spa_ubsync.ub_version < SPA_VERSION_NEXT_CLONES &&
usr/src/uts/common/fs/zfs/spa.c
8273
spa->spa_uberblock.ub_version >= SPA_VERSION_NEXT_CLONES) {
usr/src/uts/common/fs/zfs/spa.c
8277
if (spa->spa_ubsync.ub_version < SPA_VERSION_DIR_CLONES &&
usr/src/uts/common/fs/zfs/spa.c
8278
spa->spa_uberblock.ub_version >= SPA_VERSION_DIR_CLONES) {
usr/src/uts/common/fs/zfs/spa.c
8282
spa->spa_minref += 3;
usr/src/uts/common/fs/zfs/spa.c
8285
if (spa->spa_ubsync.ub_version < SPA_VERSION_FEATURES &&
usr/src/uts/common/fs/zfs/spa.c
8286
spa->spa_uberblock.ub_version >= SPA_VERSION_FEATURES) {
usr/src/uts/common/fs/zfs/spa.c
8287
spa_feature_create_zap_objects(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8296
if (spa->spa_uberblock.ub_version >= SPA_VERSION_FEATURES) {
usr/src/uts/common/fs/zfs/spa.c
8297
boolean_t lz4_en = spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/spa.c
8299
boolean_t lz4_ac = spa_feature_is_active(spa,
usr/src/uts/common/fs/zfs/spa.c
8303
spa_feature_incr(spa, SPA_FEATURE_LZ4_COMPRESS, 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
8311
if (zap_contains(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa.c
8313
VERIFY0(zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8315
sizeof (spa->spa_cksum_salt.zcs_bytes),
usr/src/uts/common/fs/zfs/spa.c
8316
spa->spa_cksum_salt.zcs_bytes, tx));
usr/src/uts/common/fs/zfs/spa.c
832
vdev_t *rvd = spa->spa_root_vdev;
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
836
int error = (spa_has_checkpoint(spa)) ?
usr/src/uts/common/fs/zfs/spa.c
8361
spa_sync_adjust_vdev_max_queue_depth(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
8363
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
8365
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
8368
metaslab_class_t *normal = spa_normal_class(spa);
usr/src/uts/common/fs/zfs/spa.c
8369
metaslab_class_t *special = spa_special_class(spa);
usr/src/uts/common/fs/zfs/spa.c
8370
metaslab_class_t *dedup = spa_dedup_class(spa);
usr/src/uts/common/fs/zfs/spa.c
8389
for (int i = 0; i < spa->spa_alloc_count; i++)
usr/src/uts/common/fs/zfs/spa.c
8394
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8401
for (int i = 0; i < spa->spa_alloc_count; i++) {
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
8415
spa_sync_condense_indirect(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
8417
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
8419
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
843
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8432
spa_sync_iterate_to_convergence(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
8434
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/spa.c
8435
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/spa.c
8437
bplist_t *free_bpl = &spa->spa_free_bplist[txg & TXG_MASK];
usr/src/uts/common/fs/zfs/spa.c
8440
int pass = ++spa->spa_sync_pass;
usr/src/uts/common/fs/zfs/spa.c
8442
spa_sync_config_object(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8443
spa_sync_aux_dev(spa, &spa->spa_spares, tx,
usr/src/uts/common/fs/zfs/spa.c
8445
spa_sync_aux_dev(spa, &spa->spa_l2cache, tx,
usr/src/uts/common/fs/zfs/spa.c
8447
spa_errlog_sync(spa, txg);
usr/src/uts/common/fs/zfs/spa.c
8451
spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP)) {
usr/src/uts/common/fs/zfs/spa.c
8458
spa_sync_frees(spa, free_bpl, tx);
usr/src/uts/common/fs/zfs/spa.c
8466
&spa->spa_deferred_bpobj, tx);
usr/src/uts/common/fs/zfs/spa.c
8469
ddt_sync(spa, txg);
usr/src/uts/common/fs/zfs/spa.c
8471
svr_sync(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8472
spa_sync_upgrades(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8474
spa_flush_metaslabs(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8477
while ((vd = txg_list_remove(&spa->spa_vdev_txg_list, txg))
usr/src/uts/common/fs/zfs/spa.c
848
ASSERT3U(spa_guid(spa), !=, *newguid);
usr/src/uts/common/fs/zfs/spa.c
8491
spa->spa_uberblock.ub_rootbp.blk_birth < txg &&
usr/src/uts/common/fs/zfs/spa.c
8505
spa_sync_deferred_frees(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8519
spa_sync_rewrite_vdev_config(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa.c
8521
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
8531
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
8533
if (list_is_empty(&spa->spa_config_dirty_list)) {
usr/src/uts/common/fs/zfs/spa.c
8563
spa->spa_last_synced_guid = rvd->vdev_guid;
usr/src/uts/common/fs/zfs/spa.c
8565
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8569
zio_suspend(spa, NULL, ZIO_SUSPEND_IOERR);
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
8570
zio_resume_wait(spa);
usr/src/uts/common/fs/zfs/spa.c
8579
spa_sync(spa_t *spa, uint64_t txg)
usr/src/uts/common/fs/zfs/spa.c
8583
VERIFY(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
8589
(void) zio_wait(spa->spa_txg_zio[txg & TXG_MASK]);
usr/src/uts/common/fs/zfs/spa.c
859
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
8590
spa->spa_txg_zio[txg & TXG_MASK] = zio_root(spa, NULL, NULL,
usr/src/uts/common/fs/zfs/spa.c
8596
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
8598
spa->spa_syncing_txg = txg;
usr/src/uts/common/fs/zfs/spa.c
8599
spa->spa_sync_pass = 0;
usr/src/uts/common/fs/zfs/spa.c
8601
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8602
mutex_enter(&spa->spa_alloc_locks[i]);
usr/src/uts/common/fs/zfs/spa.c
8603
VERIFY0(avl_numnodes(&spa->spa_alloc_trees[i]));
usr/src/uts/common/fs/zfs/spa.c
8604
mutex_exit(&spa->spa_alloc_locks[i]);
usr/src/uts/common/fs/zfs/spa.c
861
oldguid = spa_guid(spa);
usr/src/uts/common/fs/zfs/spa.c
8611
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
8612
while (list_head(&spa->spa_state_dirty_list) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8620
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8621
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
8622
while ((vd = list_head(&spa->spa_state_dirty_list)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8626
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8627
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
8629
spa_config_exit(spa, SCL_STATE, FTAG);
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
8631
dsl_pool_t *dp = spa->spa_dsl_pool;
usr/src/uts/common/fs/zfs/spa.c
8634
spa->spa_sync_starttime = gethrtime();
usr/src/uts/common/fs/zfs/spa.c
8635
VERIFY(cyclic_reprogram(spa->spa_deadman_cycid,
usr/src/uts/common/fs/zfs/spa.c
8636
spa->spa_sync_starttime + spa->spa_deadman_synctime));
usr/src/uts/common/fs/zfs/spa.c
8642
if (spa->spa_ubsync.ub_version < SPA_VERSION_RAIDZ_DEFLATE &&
usr/src/uts/common/fs/zfs/spa.c
8643
spa->spa_uberblock.ub_version >= SPA_VERSION_RAIDZ_DEFLATE) {
usr/src/uts/common/fs/zfs/spa.c
8644
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
8653
spa->spa_deflate = TRUE;
usr/src/uts/common/fs/zfs/spa.c
8654
VERIFY0(zap_add(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8656
sizeof (uint64_t), 1, &spa->spa_deflate, tx));
usr/src/uts/common/fs/zfs/spa.c
8660
spa_sync_adjust_vdev_max_queue_depth(spa);
usr/src/uts/common/fs/zfs/spa.c
8662
spa_sync_condense_indirect(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8664
spa_sync_iterate_to_convergence(spa, tx);
usr/src/uts/common/fs/zfs/spa.c
8667
if (!list_is_empty(&spa->spa_config_dirty_list)) {
usr/src/uts/common/fs/zfs/spa.c
867
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8676
ASSERT0(zap_count(spa->spa_meta_objset,
usr/src/uts/common/fs/zfs/spa.c
8677
spa->spa_all_vdev_zaps, &all_vdev_zap_entry_count));
usr/src/uts/common/fs/zfs/spa.c
8678
ASSERT3U(vdev_count_verify_zaps(spa->spa_root_vdev), ==,
usr/src/uts/common/fs/zfs/spa.c
8683
if (spa->spa_vdev_removal != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8684
ASSERT0(spa->spa_vdev_removal->svr_bytes_done[txg & TXG_MASK]);
usr/src/uts/common/fs/zfs/spa.c
8687
spa_sync_rewrite_vdev_config(spa, tx);
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
VERIFY(cyclic_reprogram(spa->spa_deadman_cycid, CY_INFINITY));
usr/src/uts/common/fs/zfs/spa.c
8695
while ((vd = list_head(&spa->spa_config_dirty_list)) != NULL)
usr/src/uts/common/fs/zfs/spa.c
8702
if (spa->spa_config_syncing != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8703
spa_config_set(spa, spa->spa_config_syncing);
usr/src/uts/common/fs/zfs/spa.c
8704
spa->spa_config_txg = txg;
usr/src/uts/common/fs/zfs/spa.c
8705
spa->spa_config_syncing = NULL;
usr/src/uts/common/fs/zfs/spa.c
8710
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8711
mutex_enter(&spa->spa_alloc_locks[i]);
usr/src/uts/common/fs/zfs/spa.c
8712
VERIFY0(avl_numnodes(&spa->spa_alloc_trees[i]));
usr/src/uts/common/fs/zfs/spa.c
8713
mutex_exit(&spa->spa_alloc_locks[i]);
usr/src/uts/common/fs/zfs/spa.c
8719
while ((vd = txg_list_remove(&spa->spa_vdev_txg_list, TXG_CLEAN(txg)))
usr/src/uts/common/fs/zfs/spa.c
8723
metaslab_class_evict_old(spa->spa_normal_class, txg);
usr/src/uts/common/fs/zfs/spa.c
8724
metaslab_class_evict_old(spa->spa_log_class, txg);
usr/src/uts/common/fs/zfs/spa.c
8726
spa_sync_close_syncing_log_sm(spa);
usr/src/uts/common/fs/zfs/spa.c
8728
spa_update_dspace(spa);
usr/src/uts/common/fs/zfs/spa.c
8736
ASSERT(txg_list_empty(&spa->spa_vdev_txg_list, txg));
usr/src/uts/common/fs/zfs/spa.c
8741
spa->spa_sync_pass = 0;
usr/src/uts/common/fs/zfs/spa.c
8749
spa->spa_ubsync = spa->spa_uberblock;
usr/src/uts/common/fs/zfs/spa.c
8750
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8752
spa_handle_ignored_writes(spa);
usr/src/uts/common/fs/zfs/spa.c
8756
NSEC2SEC(gethrtime() - spa->spa_spares_last_polled) >
usr/src/uts/common/fs/zfs/spa.c
8758
spa_spare_poll(spa);
usr/src/uts/common/fs/zfs/spa.c
8759
spa->spa_spares_last_polled = gethrtime();
usr/src/uts/common/fs/zfs/spa.c
8765
spa_async_dispatch(spa);
usr/src/uts/common/fs/zfs/spa.c
8776
spa_t *spa = NULL;
usr/src/uts/common/fs/zfs/spa.c
8778
while ((spa = spa_next(spa)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8779
if (spa_state(spa) != POOL_STATE_ACTIVE ||
usr/src/uts/common/fs/zfs/spa.c
8780
!spa_writeable(spa) || spa_suspended(spa))
usr/src/uts/common/fs/zfs/spa.c
8782
spa_open_ref(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8784
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/spa.c
8786
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8803
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
8810
while ((spa = spa_next(NULL)) != NULL) {
usr/src/uts/common/fs/zfs/spa.c
8816
spa_open_ref(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8818
spa_async_suspend(spa);
usr/src/uts/common/fs/zfs/spa.c
8820
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8822
if (spa->spa_state != POOL_STATE_UNINITIALIZED) {
usr/src/uts/common/fs/zfs/spa.c
8823
spa_unload(spa);
usr/src/uts/common/fs/zfs/spa.c
8824
spa_deactivate(spa);
usr/src/uts/common/fs/zfs/spa.c
8826
spa_remove(spa);
usr/src/uts/common/fs/zfs/spa.c
883
spa_change_guid(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
8832
spa_lookup_by_guid(spa_t *spa, uint64_t guid, boolean_t aux)
usr/src/uts/common/fs/zfs/spa.c
8837
if ((vd = vdev_lookup_by_guid(spa->spa_root_vdev, guid)) != NULL)
usr/src/uts/common/fs/zfs/spa.c
8841
for (i = 0; i < spa->spa_l2cache.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8842
vd = spa->spa_l2cache.sav_vdevs[i];
usr/src/uts/common/fs/zfs/spa.c
8847
for (i = 0; i < spa->spa_spares.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa.c
8848
vd = spa->spa_spares.sav_vdevs[i];
usr/src/uts/common/fs/zfs/spa.c
8858
spa_upgrade(spa_t *spa, uint64_t version)
usr/src/uts/common/fs/zfs/spa.c
8860
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/spa.c
8862
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa.c
8869
ASSERT(SPA_VERSION_IS_SUPPORTED(spa->spa_uberblock.ub_version));
usr/src/uts/common/fs/zfs/spa.c
8870
ASSERT3U(version, >=, spa->spa_uberblock.ub_version);
usr/src/uts/common/fs/zfs/spa.c
8872
spa->spa_uberblock.ub_version = version;
usr/src/uts/common/fs/zfs/spa.c
8873
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
8875
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa.c
8877
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/spa.c
888
mutex_enter(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa.c
8881
spa_has_spare(spa_t *spa, uint64_t guid)
usr/src/uts/common/fs/zfs/spa.c
8885
spa_aux_vdev_t *sav = &spa->spa_spares;
usr/src/uts/common/fs/zfs/spa.c
8905
spa_has_active_shared_spare(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
8909
spa_aux_vdev_t *sav = &spa->spa_spares;
usr/src/uts/common/fs/zfs/spa.c
8913
&refcnt) && pool != 0ULL && pool == spa_guid(spa) &&
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_total_metaslabs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
8924
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
8942
spa_notify_waiters(spa_t *spa)
usr/src/uts/common/fs/zfs/spa.c
8948
mutex_enter(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
8949
cv_broadcast(&spa->spa_activities_cv);
usr/src/uts/common/fs/zfs/spa.c
8950
mutex_exit(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
8958
spa_wake_waiters(spa_t *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
8960
mutex_enter(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
8961
spa->spa_waiters_cancel = B_TRUE;
usr/src/uts/common/fs/zfs/spa.c
8962
cv_broadcast(&spa->spa_activities_cv);
usr/src/uts/common/fs/zfs/spa.c
8963
while (spa->spa_waiters != 0)
usr/src/uts/common/fs/zfs/spa.c
8964
cv_wait(&spa->spa_waiters_cv, &spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
8965
spa->spa_waiters_cancel = B_FALSE;
usr/src/uts/common/fs/zfs/spa.c
8966
mutex_exit(&spa->spa_activities_lock);
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
8973
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/spa.c
8976
ASSERT(spa_config_held(spa, SCL_CONFIG | SCL_STATE, RW_READER));
usr/src/uts/common/fs/zfs/spa.c
8977
ASSERT(MUTEX_HELD(&spa->spa_activities_lock));
usr/src/uts/common/fs/zfs/spa.c
8979
mutex_exit(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
8981
mutex_enter(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
9003
spa_vdev_initializing(spa_t *spa, boolean_t use_guid, uint64_t guid,
usr/src/uts/common/fs/zfs/spa.c
9006
mutex_exit(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
9007
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
9008
mutex_enter(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
901
mutex_exit(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa.c
9012
vd = spa_lookup_by_guid(spa, guid, B_FALSE);
usr/src/uts/common/fs/zfs/spa.c
9014
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
9018
vd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa.c
9023
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
9070
spa_activity_in_progress(spa_t *spa, zpool_wait_activity_t activity,
usr/src/uts/common/fs/zfs/spa.c
9075
ASSERT(MUTEX_HELD(&spa->spa_activities_lock));
usr/src/uts/common/fs/zfs/spa.c
9080
(spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT) &&
usr/src/uts/common/fs/zfs/spa.c
9081
zap_contains(spa_meta_objset(spa),
usr/src/uts/common/fs/zfs/spa.c
9086
*in_progress = ((spa_version(spa) >= SPA_VERSION_DEADLISTS &&
usr/src/uts/common/fs/zfs/spa.c
9087
!bpobj_is_empty(&spa->spa_dsl_pool->dp_free_bpobj)) ||
usr/src/uts/common/fs/zfs/spa.c
9088
spa_feature_is_active(spa, SPA_FEATURE_ASYNC_DESTROY));
usr/src/uts/common/fs/zfs/spa.c
9091
error = spa_vdev_initializing(spa, use_tag, tag, in_progress);
usr/src/uts/common/fs/zfs/spa.c
9094
mutex_exit(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
9095
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa.c
9096
mutex_enter(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
9098
*in_progress = vdev_replace_in_progress(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa.c
9099
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa.c
9102
*in_progress = (spa->spa_removing_phys.sr_state ==
usr/src/uts/common/fs/zfs/spa.c
9109
dsl_scan_t *scn = spa->spa_dsl_pool->dp_scan;
usr/src/uts/common/fs/zfs/spa.c
9145
spa_t *spa;
usr/src/uts/common/fs/zfs/spa.c
9146
int error = spa_open(pool, &spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
9158
mutex_enter(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
9159
spa->spa_waiters++;
usr/src/uts/common/fs/zfs/spa.c
9160
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa.c
9165
error = spa_activity_in_progress(spa, activity, use_tag, tag,
usr/src/uts/common/fs/zfs/spa.c
9168
if (!in_progress || spa->spa_waiters_cancel || error)
usr/src/uts/common/fs/zfs/spa.c
9173
if (cv_wait_sig(&spa->spa_activities_cv,
usr/src/uts/common/fs/zfs/spa.c
9174
&spa->spa_activities_lock) == 0) {
usr/src/uts/common/fs/zfs/spa.c
9180
spa->spa_waiters--;
usr/src/uts/common/fs/zfs/spa.c
9181
cv_signal(&spa->spa_waiters_cv);
usr/src/uts/common/fs/zfs/spa.c
9182
mutex_exit(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa.c
9209
spa_event_create(spa_t *spa, vdev_t *vd, nvlist_t *hist_nvl, const char *name)
usr/src/uts/common/fs/zfs/spa.c
9221
value.value.sv_string = spa_name(spa);
usr/src/uts/common/fs/zfs/spa.c
9226
value.value.sv_uint64 = spa_guid(spa);
usr/src/uts/common/fs/zfs/spa.c
9289
spa_event_notify(spa_t *spa, vdev_t *vd, nvlist_t *hist_nvl, const char *name)
usr/src/uts/common/fs/zfs/spa.c
9291
spa_event_post(spa_event_create(spa, vd, hist_nvl, name));
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
194
spa_notify_waiters(spa);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
196
spa_history_log_internal(spa, "spa discard checkpoint", tx,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
255
spa_checkpoint_accounting_verify(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
257
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
275
ASSERT3U(spa->spa_checkpoint_info.sci_dspace, ==, ckpoint_sm_space_sum);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
364
spa_checkpoint_discard_is_done(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
366
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
368
ASSERT(!spa_has_checkpoint(spa));
usr/src/uts/common/fs/zfs/spa_checkpoint.c
369
ASSERT(spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT));
usr/src/uts/common/fs/zfs/spa_checkpoint.c
384
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
386
if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
389
if (spa_has_checkpoint(spa))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
398
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
399
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
434
VERIFY0(dsl_sync_task(spa->spa_name, NULL,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
442
VERIFY(spa_checkpoint_discard_is_done(spa));
usr/src/uts/common/fs/zfs/spa_checkpoint.c
443
VERIFY0(spa->spa_checkpoint_info.sci_dspace);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
444
VERIFY0(dsl_sync_task(spa->spa_name, NULL,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
445
spa_checkpoint_discard_complete_sync, spa,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
454
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
456
if (!spa_feature_is_enabled(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
459
if (!spa_top_vdevs_spacemap_addressable(spa))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
462
if (spa->spa_vdev_removal != NULL)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
465
if (spa->spa_checkpoint_txg != 0)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
468
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
479
spa_t *spa = dp->dp_spa;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
480
uberblock_t checkpoint = spa->spa_ubsync;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
485
ASSERT3U(zap_contains(spa_meta_objset(spa), DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
488
ASSERT0(spa->spa_checkpoint_info.sci_timestamp);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
489
ASSERT0(spa->spa_checkpoint_info.sci_dspace);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
496
ASSERT3U(checkpoint.ub_txg, ==, spa->spa_syncing_txg - 1);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
508
spa->spa_checkpoint_txg = checkpoint.ub_txg;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
509
spa->spa_checkpoint_info.sci_timestamp = checkpoint.ub_timestamp;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
512
VERIFY0(zap_add(spa->spa_dsl_pool->dp_meta_objset,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
523
spa_feature_incr(spa, SPA_FEATURE_POOL_CHECKPOINT, tx);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
525
spa_history_log_internal(spa, "spa checkpoint", tx,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
536
spa_t *spa;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
538
error = spa_open(pool, &spa, FTAG);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
542
mutex_enter(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
552
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
565
mutex_exit(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
567
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
575
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
577
if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT))
usr/src/uts/common/fs/zfs/spa_checkpoint.c
580
if (spa->spa_checkpoint_txg == 0)
usr/src/uts/common/fs/zfs/spa_checkpoint.c
583
VERIFY0(zap_contains(spa_meta_objset(spa),
usr/src/uts/common/fs/zfs/spa_checkpoint.c
593
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
595
VERIFY0(zap_remove(spa_meta_objset(spa), DMU_POOL_DIRECTORY_OBJECT,
usr/src/uts/common/fs/zfs/spa_checkpoint.c
598
spa->spa_checkpoint_txg = 0;
usr/src/uts/common/fs/zfs/spa_checkpoint.c
600
zthr_wakeup(spa->spa_checkpoint_discard_zthr);
usr/src/uts/common/fs/zfs/spa_checkpoint.c
602
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
1079
spa_spare_poll(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1082
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa_misc.c
1083
for (int i = 0; i < spa->spa_spares.sav_count; i++) {
usr/src/uts/common/fs/zfs/spa_misc.c
1085
vdev_t *vd = spa->spa_spares.sav_vdevs[i];
usr/src/uts/common/fs/zfs/spa_misc.c
1102
spa_async_request(spa, SPA_ASYNC_PROBE);
usr/src/uts/common/fs/zfs/spa_misc.c
1104
spa_config_exit(spa, SCL_STATE, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
1219
spa_vdev_enter(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1221
mutex_enter(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1224
vdev_autotrim_stop_all(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1226
return (spa_vdev_config_enter(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1235
spa_vdev_config_enter(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1239
spa_config_enter(spa, SCL_ALL, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1241
return (spa_last_synced_txg(spa) + 1);
usr/src/uts/common/fs/zfs/spa_misc.c
1249
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
1255
ASSERT(txg > spa_last_synced_txg(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1257
spa->spa_pending_vdev = NULL;
usr/src/uts/common/fs/zfs/spa_misc.c
1262
vdev_dtl_reassess(spa->spa_root_vdev, 0, 0, B_FALSE);
usr/src/uts/common/fs/zfs/spa_misc.c
1264
if (error == 0 && !list_is_empty(&spa->spa_config_dirty_list)) {
usr/src/uts/common/fs/zfs/spa_misc.c
1266
spa->spa_config_generation++;
usr/src/uts/common/fs/zfs/spa_misc.c
1272
ASSERT(metaslab_class_validate(spa_normal_class(spa)) == 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1273
ASSERT(metaslab_class_validate(spa_log_class(spa)) == 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1274
ASSERT(metaslab_class_validate(spa_special_class(spa)) == 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1275
ASSERT(metaslab_class_validate(spa_dedup_class(spa)) == 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1277
spa_config_exit(spa, SCL_ALL, spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1285
zio_handle_panic_injection(spa, tag, 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1293
txg_wait_synced(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1313
spa_config_enter(spa, SCL_ALL, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1315
spa_config_exit(spa, SCL_ALL, spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1322
spa_write_cachefile(spa, B_FALSE, B_TRUE);
usr/src/uts/common/fs/zfs/spa_misc.c
1332
spa_vdev_exit(spa_t *spa, vdev_t *vd, uint64_t txg, int error)
usr/src/uts/common/fs/zfs/spa_misc.c
1334
vdev_autotrim_restart(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1336
spa_vdev_config_exit(spa, vd, txg, error, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
1338
mutex_exit(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1347
spa_vdev_state_enter(spa_t *spa, int oplocks)
usr/src/uts/common/fs/zfs/spa_misc.c
1360
if (spa_is_root(spa)) {
usr/src/uts/common/fs/zfs/spa_misc.c
1364
spa_config_enter(spa, high, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1365
vdev_hold(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
1366
spa_config_enter(spa, low, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1368
spa_config_enter(spa, locks, spa, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1370
spa->spa_vdev_locks = locks;
usr/src/uts/common/fs/zfs/spa_misc.c
1374
spa_vdev_state_exit(spa_t *spa, vdev_t *vd, int error)
usr/src/uts/common/fs/zfs/spa_misc.c
1379
vdev_dtl_reassess(vd ? vd->vdev_top : spa->spa_root_vdev,
usr/src/uts/common/fs/zfs/spa_misc.c
1385
spa->spa_config_generation++;
usr/src/uts/common/fs/zfs/spa_misc.c
1388
if (spa_is_root(spa))
usr/src/uts/common/fs/zfs/spa_misc.c
1389
vdev_rele(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
1391
ASSERT3U(spa->spa_vdev_locks, >=, SCL_STATE_ALL);
usr/src/uts/common/fs/zfs/spa_misc.c
1392
spa_config_exit(spa, spa->spa_vdev_locks, spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1401
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/spa_misc.c
1408
spa_write_cachefile(spa, B_FALSE, B_TRUE);
usr/src/uts/common/fs/zfs/spa_misc.c
1422
spa_activate_mos_feature(spa_t *spa, const char *feature, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa_misc.c
1424
if (!nvlist_exists(spa->spa_label_features, feature)) {
usr/src/uts/common/fs/zfs/spa_misc.c
1425
fnvlist_add_boolean(spa->spa_label_features, feature);
usr/src/uts/common/fs/zfs/spa_misc.c
1434
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
1439
spa_deactivate_mos_feature(spa_t *spa, const char *feature)
usr/src/uts/common/fs/zfs/spa_misc.c
1441
if (nvlist_remove_all(spa->spa_label_features, feature) == 0)
usr/src/uts/common/fs/zfs/spa_misc.c
1442
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
1453
spa_t *spa;
usr/src/uts/common/fs/zfs/spa_misc.c
1458
for (spa = avl_first(t); spa != NULL; spa = AVL_NEXT(t, spa)) {
usr/src/uts/common/fs/zfs/spa_misc.c
1459
if (spa->spa_state == POOL_STATE_UNINITIALIZED)
usr/src/uts/common/fs/zfs/spa_misc.c
1461
if (spa->spa_root_vdev == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
1463
if (spa_guid(spa) == pool_guid) {
usr/src/uts/common/fs/zfs/spa_misc.c
1467
if (vdev_lookup_by_guid(spa->spa_root_vdev,
usr/src/uts/common/fs/zfs/spa_misc.c
1474
if (spa->spa_pending_vdev) {
usr/src/uts/common/fs/zfs/spa_misc.c
1475
if (vdev_lookup_by_guid(spa->spa_pending_vdev,
usr/src/uts/common/fs/zfs/spa_misc.c
1482
return (spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1530
spa_generate_guid(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1534
if (spa != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
1535
while (guid == 0 || spa_guid_exists(spa_guid(spa), guid))
usr/src/uts/common/fs/zfs/spa_misc.c
1576
spa_freeze(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1580
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/spa_misc.c
1581
if (spa->spa_freeze_txg == UINT64_MAX) {
usr/src/uts/common/fs/zfs/spa_misc.c
1582
freeze_txg = spa_last_synced_txg(spa) + TXG_SIZE;
usr/src/uts/common/fs/zfs/spa_misc.c
1583
spa->spa_freeze_txg = freeze_txg;
usr/src/uts/common/fs/zfs/spa_misc.c
1585
spa_config_exit(spa, SCL_ALL, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
1587
txg_wait_synced(spa_get_dsl(spa), freeze_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1632
spa_activate_allocation_classes(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/spa_misc.c
1637
ASSERT(spa_feature_is_enabled(spa, SPA_FEATURE_ALLOCATION_CLASSES));
usr/src/uts/common/fs/zfs/spa_misc.c
1638
spa_feature_incr(spa, SPA_FEATURE_ALLOCATION_CLASSES, tx);
usr/src/uts/common/fs/zfs/spa_misc.c
1648
spa_shutting_down(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1650
return (spa->spa_async_suspended);
usr/src/uts/common/fs/zfs/spa_misc.c
1654
spa_get_dsl(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1656
return (spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/spa_misc.c
1660
spa_is_initializing(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1662
return (spa->spa_is_initializing);
usr/src/uts/common/fs/zfs/spa_misc.c
1666
spa_indirect_vdevs_loaded(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1668
return (spa->spa_indirect_vdevs_loaded);
usr/src/uts/common/fs/zfs/spa_misc.c
1672
spa_get_rootblkptr(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1674
return (&spa->spa_ubsync.ub_rootbp);
usr/src/uts/common/fs/zfs/spa_misc.c
1678
spa_set_rootblkptr(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/spa_misc.c
1680
spa->spa_uberblock.ub_rootbp = *bp;
usr/src/uts/common/fs/zfs/spa_misc.c
1684
spa_altroot(spa_t *spa, char *buf, size_t buflen)
usr/src/uts/common/fs/zfs/spa_misc.c
1686
if (spa->spa_root == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
1689
(void) strncpy(buf, spa->spa_root, buflen);
usr/src/uts/common/fs/zfs/spa_misc.c
1693
spa_sync_pass(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1695
return (spa->spa_sync_pass);
usr/src/uts/common/fs/zfs/spa_misc.c
1699
spa_name(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1701
return (spa->spa_name);
usr/src/uts/common/fs/zfs/spa_misc.c
1705
spa_guid(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1707
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1716
if (spa->spa_root_vdev == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
1717
return (spa->spa_config_guid);
usr/src/uts/common/fs/zfs/spa_misc.c
1719
guid = spa->spa_last_synced_guid != 0 ?
usr/src/uts/common/fs/zfs/spa_misc.c
1720
spa->spa_last_synced_guid : spa->spa_root_vdev->vdev_guid;
usr/src/uts/common/fs/zfs/spa_misc.c
1727
return (spa->spa_root_vdev->vdev_guid);
usr/src/uts/common/fs/zfs/spa_misc.c
1733
spa_load_guid(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1740
return (spa->spa_load_guid);
usr/src/uts/common/fs/zfs/spa_misc.c
1744
spa_last_synced_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1746
return (spa->spa_ubsync.ub_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1750
spa_first_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1752
return (spa->spa_first_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1756
spa_syncing_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1758
return (spa->spa_syncing_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1766
spa_final_dirty_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1768
return (spa->spa_final_txg - TXG_DEFER_SIZE);
usr/src/uts/common/fs/zfs/spa_misc.c
1772
spa_state(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1774
return (spa->spa_state);
usr/src/uts/common/fs/zfs/spa_misc.c
1778
spa_load_state(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1780
return (spa->spa_load_state);
usr/src/uts/common/fs/zfs/spa_misc.c
1784
spa_freeze_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1786
return (spa->spa_freeze_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
1791
spa_get_worst_case_asize(spa_t *spa, uint64_t lsize)
usr/src/uts/common/fs/zfs/spa_misc.c
1804
spa_get_slop_space(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1806
uint64_t space = spa_get_dspace(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1811
spa_get_dspace(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1813
return (spa->spa_dspace);
usr/src/uts/common/fs/zfs/spa_misc.c
1817
spa_get_checkpoint_space(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1819
return (spa->spa_checkpoint_info.sci_dspace);
usr/src/uts/common/fs/zfs/spa_misc.c
1823
spa_update_dspace(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1825
spa->spa_dspace = metaslab_class_get_dspace(spa_normal_class(spa)) +
usr/src/uts/common/fs/zfs/spa_misc.c
1826
ddt_get_dedup_dspace(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1827
if (spa->spa_vdev_removal != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
1841
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa_misc.c
1843
vdev_lookup_top(spa, spa->spa_vdev_removal->svr_vdev_id);
usr/src/uts/common/fs/zfs/spa_misc.c
1844
spa->spa_dspace -= spa_deflate(spa) ?
usr/src/uts/common/fs/zfs/spa_misc.c
1846
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
1855
spa_get_failmode(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1857
return (spa->spa_failmode);
usr/src/uts/common/fs/zfs/spa_misc.c
1861
spa_suspended(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1863
return (spa->spa_suspended != ZIO_SUSPEND_NONE);
usr/src/uts/common/fs/zfs/spa_misc.c
1867
spa_version(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1869
return (spa->spa_ubsync.ub_version);
usr/src/uts/common/fs/zfs/spa_misc.c
1873
spa_deflate(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1875
return (spa->spa_deflate);
usr/src/uts/common/fs/zfs/spa_misc.c
1879
spa_normal_class(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1881
return (spa->spa_normal_class);
usr/src/uts/common/fs/zfs/spa_misc.c
1885
spa_log_class(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1887
return (spa->spa_log_class);
usr/src/uts/common/fs/zfs/spa_misc.c
1891
spa_special_class(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1893
return (spa->spa_special_class);
usr/src/uts/common/fs/zfs/spa_misc.c
1897
spa_dedup_class(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1899
return (spa->spa_dedup_class);
usr/src/uts/common/fs/zfs/spa_misc.c
1906
spa_preferred_class(spa_t *spa, uint64_t size, dmu_object_type_t objtype,
usr/src/uts/common/fs/zfs/spa_misc.c
1910
if (spa->spa_log_class->mc_groups != 0)
usr/src/uts/common/fs/zfs/spa_misc.c
1911
return (spa_log_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1913
return (spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1916
boolean_t has_special_class = spa->spa_special_class->mc_groups != 0;
usr/src/uts/common/fs/zfs/spa_misc.c
1919
if (spa->spa_dedup_class->mc_groups != 0)
usr/src/uts/common/fs/zfs/spa_misc.c
1920
return (spa_dedup_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1922
return (spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1924
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
1937
return (spa_special_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1939
return (spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1949
metaslab_class_t *special = spa_special_class(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
1960
return (spa_normal_class(spa));
usr/src/uts/common/fs/zfs/spa_misc.c
1964
spa_evicting_os_register(spa_t *spa, objset_t *os)
usr/src/uts/common/fs/zfs/spa_misc.c
1966
mutex_enter(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1967
list_insert_head(&spa->spa_evicting_os_list, os);
usr/src/uts/common/fs/zfs/spa_misc.c
1968
mutex_exit(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1972
spa_evicting_os_deregister(spa_t *spa, objset_t *os)
usr/src/uts/common/fs/zfs/spa_misc.c
1974
mutex_enter(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1975
list_remove(&spa->spa_evicting_os_list, os);
usr/src/uts/common/fs/zfs/spa_misc.c
1976
cv_broadcast(&spa->spa_evicting_os_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
1977
mutex_exit(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1981
spa_evicting_os_wait(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1983
mutex_enter(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1984
while (!list_is_empty(&spa->spa_evicting_os_list))
usr/src/uts/common/fs/zfs/spa_misc.c
1985
cv_wait(&spa->spa_evicting_os_cv, &spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1986
mutex_exit(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
1992
spa_max_replication(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
1999
if (spa_version(spa) < SPA_VERSION_DITTO_BLOCKS)
usr/src/uts/common/fs/zfs/spa_misc.c
2005
spa_prev_software_version(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2007
return (spa->spa_prev_software_version);
usr/src/uts/common/fs/zfs/spa_misc.c
2011
spa_deadman_synctime(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2013
return (spa->spa_deadman_synctime);
usr/src/uts/common/fs/zfs/spa_misc.c
2017
spa_get_autotrim(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2019
return (spa->spa_autotrim);
usr/src/uts/common/fs/zfs/spa_misc.c
2023
dva_get_dsize_sync(spa_t *spa, const dva_t *dva)
usr/src/uts/common/fs/zfs/spa_misc.c
2028
ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
usr/src/uts/common/fs/zfs/spa_misc.c
2030
if (asize != 0 && spa->spa_deflate) {
usr/src/uts/common/fs/zfs/spa_misc.c
2031
vdev_t *vd = vdev_lookup_top(spa, DVA_GET_VDEV(dva));
usr/src/uts/common/fs/zfs/spa_misc.c
2039
bp_get_dsize_sync(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/spa_misc.c
2044
dsize += dva_get_dsize_sync(spa, &bp->blk_dva[d]);
usr/src/uts/common/fs/zfs/spa_misc.c
2050
bp_get_dsize(spa_t *spa, const blkptr_t *bp)
usr/src/uts/common/fs/zfs/spa_misc.c
2054
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa_misc.c
2057
dsize += dva_get_dsize_sync(spa, &bp->blk_dva[d]);
usr/src/uts/common/fs/zfs/spa_misc.c
2059
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
2065
spa_dirty_data(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2067
return (spa->spa_dsl_pool->dp_dirty_total);
usr/src/uts/common/fs/zfs/spa_misc.c
2097
spa_import_progress_set_state(spa_t *spa, spa_load_state_t load_state)
usr/src/uts/common/fs/zfs/spa_misc.c
2099
if (spa->spa_imp_kstat == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
2100
spa_import_progress_add(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2102
mutex_enter(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2103
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2104
spa_import_progress_t *sip = spa->spa_imp_kstat->ks_data;
usr/src/uts/common/fs/zfs/spa_misc.c
2108
mutex_exit(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2114
spa_import_progress_set_max_txg(spa_t *spa, uint64_t load_max_txg)
usr/src/uts/common/fs/zfs/spa_misc.c
2116
if (spa->spa_imp_kstat == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
2117
spa_import_progress_add(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2119
mutex_enter(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2120
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2121
spa_import_progress_t *sip = spa->spa_imp_kstat->ks_data;
usr/src/uts/common/fs/zfs/spa_misc.c
2125
mutex_exit(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2131
spa_import_progress_set_mmp_check(spa_t *spa, uint64_t mmp_sec_remaining)
usr/src/uts/common/fs/zfs/spa_misc.c
2133
if (spa->spa_imp_kstat == NULL)
usr/src/uts/common/fs/zfs/spa_misc.c
2134
spa_import_progress_add(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2136
mutex_enter(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2137
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2138
spa_import_progress_t *sip = spa->spa_imp_kstat->ks_data;
usr/src/uts/common/fs/zfs/spa_misc.c
2143
mutex_exit(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2152
spa_import_progress_add(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2157
mutex_enter(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2158
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2159
sip = spa->spa_imp_kstat->ks_data;
usr/src/uts/common/fs/zfs/spa_misc.c
2160
sip->sip_load_state.value.ui64 = (uint64_t)spa_load_state(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2161
mutex_exit(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2165
(void) nvlist_lookup_string(spa->spa_config, ZPOOL_CONFIG_POOL_NAME,
usr/src/uts/common/fs/zfs/spa_misc.c
2168
poolname = spa_name(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2170
spa->spa_imp_kstat = kstat_create("zfs_import", 0, poolname,
usr/src/uts/common/fs/zfs/spa_misc.c
2174
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2176
spa->spa_imp_kstat->ks_data = sip;
usr/src/uts/common/fs/zfs/spa_misc.c
2178
sip->sip_load_state.value.ui64 = (uint64_t)spa_load_state(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2186
spa->spa_imp_kstat->ks_lock = &spa->spa_imp_kstat_lock;
usr/src/uts/common/fs/zfs/spa_misc.c
2187
kstat_install(spa->spa_imp_kstat);
usr/src/uts/common/fs/zfs/spa_misc.c
2189
mutex_exit(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
2193
spa_import_progress_remove(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2195
if (spa->spa_imp_kstat != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
2196
void *data = spa->spa_imp_kstat->ks_data;
usr/src/uts/common/fs/zfs/spa_misc.c
2198
kstat_delete(spa->spa_imp_kstat);
usr/src/uts/common/fs/zfs/spa_misc.c
2199
spa->spa_imp_kstat = NULL;
usr/src/uts/common/fs/zfs/spa_misc.c
2324
spa_has_slogs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2326
return (spa->spa_log_class->mc_rotor != NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
2330
spa_get_log_state(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2332
return (spa->spa_log_state);
usr/src/uts/common/fs/zfs/spa_misc.c
2336
spa_set_log_state(spa_t *spa, spa_log_state_t state)
usr/src/uts/common/fs/zfs/spa_misc.c
2338
spa->spa_log_state = state;
usr/src/uts/common/fs/zfs/spa_misc.c
2342
spa_is_root(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2344
return (spa->spa_is_root);
usr/src/uts/common/fs/zfs/spa_misc.c
2348
spa_writeable(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2350
return (!!(spa->spa_mode & FWRITE) && spa->spa_trust_config);
usr/src/uts/common/fs/zfs/spa_misc.c
2358
spa_has_pending_synctask(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2360
return (!txg_all_lists_empty(&spa->spa_dsl_pool->dp_sync_tasks) ||
usr/src/uts/common/fs/zfs/spa_misc.c
2361
!txg_all_lists_empty(&spa->spa_dsl_pool->dp_early_sync_tasks));
usr/src/uts/common/fs/zfs/spa_misc.c
2365
spa_mode(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2367
return (spa->spa_mode);
usr/src/uts/common/fs/zfs/spa_misc.c
2371
spa_bootfs(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2373
return (spa->spa_bootfs);
usr/src/uts/common/fs/zfs/spa_misc.c
2377
spa_delegation(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2379
return (spa->spa_delegation);
usr/src/uts/common/fs/zfs/spa_misc.c
2383
spa_meta_objset(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2385
return (spa->spa_meta_objset);
usr/src/uts/common/fs/zfs/spa_misc.c
2389
spa_dedup_checksum(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2391
return (spa->spa_dedup_checksum);
usr/src/uts/common/fs/zfs/spa_misc.c
2398
spa_scan_stat_init(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2401
spa->spa_scan_pass_start = gethrestime_sec();
usr/src/uts/common/fs/zfs/spa_misc.c
2402
if (dsl_scan_is_paused_scrub(spa->spa_dsl_pool->dp_scan))
usr/src/uts/common/fs/zfs/spa_misc.c
2403
spa->spa_scan_pass_scrub_pause = spa->spa_scan_pass_start;
usr/src/uts/common/fs/zfs/spa_misc.c
2405
spa->spa_scan_pass_scrub_pause = 0;
usr/src/uts/common/fs/zfs/spa_misc.c
2406
spa->spa_scan_pass_scrub_spent_paused = 0;
usr/src/uts/common/fs/zfs/spa_misc.c
2407
spa->spa_scan_pass_exam = 0;
usr/src/uts/common/fs/zfs/spa_misc.c
2408
spa->spa_scan_pass_issued = 0;
usr/src/uts/common/fs/zfs/spa_misc.c
2409
vdev_scan_stat_init(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/spa_misc.c
2416
spa_scan_get_stats(spa_t *spa, pool_scan_stat_t *ps)
usr/src/uts/common/fs/zfs/spa_misc.c
2418
dsl_scan_t *scn = spa->spa_dsl_pool ? spa->spa_dsl_pool->dp_scan : NULL;
usr/src/uts/common/fs/zfs/spa_misc.c
2435
scn->scn_issued_before_pass + spa->spa_scan_pass_issued;
usr/src/uts/common/fs/zfs/spa_misc.c
2439
ps->pss_pass_start = spa->spa_scan_pass_start;
usr/src/uts/common/fs/zfs/spa_misc.c
2440
ps->pss_pass_exam = spa->spa_scan_pass_exam;
usr/src/uts/common/fs/zfs/spa_misc.c
2441
ps->pss_pass_issued = spa->spa_scan_pass_issued;
usr/src/uts/common/fs/zfs/spa_misc.c
2442
ps->pss_pass_scrub_pause = spa->spa_scan_pass_scrub_pause;
usr/src/uts/common/fs/zfs/spa_misc.c
2443
ps->pss_pass_scrub_spent_paused = spa->spa_scan_pass_scrub_spent_paused;
usr/src/uts/common/fs/zfs/spa_misc.c
2449
spa_maxblocksize(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2451
if (spa_feature_is_enabled(spa, SPA_FEATURE_LARGE_BLOCKS))
usr/src/uts/common/fs/zfs/spa_misc.c
2458
spa_maxdnodesize(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2460
if (spa_feature_is_enabled(spa, SPA_FEATURE_LARGE_DNODE))
usr/src/uts/common/fs/zfs/spa_misc.c
2467
spa_multihost(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2469
return (spa->spa_multihost ? B_TRUE : B_FALSE);
usr/src/uts/common/fs/zfs/spa_misc.c
2495
spa_get_last_removal_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2500
spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/spa_misc.c
2506
vdevid = spa->spa_removing_phys.sr_prev_indirect_vdev;
usr/src/uts/common/fs/zfs/spa_misc.c
2509
vdev_t *vd = vdev_lookup_top(spa, vdevid);
usr/src/uts/common/fs/zfs/spa_misc.c
2524
spa_config_exit(spa, SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/spa_misc.c
2527
spa_feature_is_active(spa, SPA_FEATURE_DEVICE_REMOVAL));
usr/src/uts/common/fs/zfs/spa_misc.c
2533
spa_trust_config(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2535
return (spa->spa_trust_config);
usr/src/uts/common/fs/zfs/spa_misc.c
2539
spa_missing_tvds_allowed(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2541
return (spa->spa_missing_tvds_allowed);
usr/src/uts/common/fs/zfs/spa_misc.c
2545
spa_syncing_log_sm(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2547
return (spa->spa_syncing_log_sm);
usr/src/uts/common/fs/zfs/spa_misc.c
2551
spa_set_missing_tvds(spa_t *spa, uint64_t missing)
usr/src/uts/common/fs/zfs/spa_misc.c
2553
spa->spa_missing_tvds = missing;
usr/src/uts/common/fs/zfs/spa_misc.c
2557
spa_top_vdevs_spacemap_addressable(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2559
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/spa_misc.c
2568
spa_has_checkpoint(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2570
return (spa->spa_checkpoint_txg != 0);
usr/src/uts/common/fs/zfs/spa_misc.c
2574
spa_importing_readonly_checkpoint(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2576
return ((spa->spa_import_flags & ZFS_IMPORT_CHECKPOINT) &&
usr/src/uts/common/fs/zfs/spa_misc.c
2577
spa->spa_mode == FREAD);
usr/src/uts/common/fs/zfs/spa_misc.c
2581
spa_min_claim_txg(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2583
uint64_t checkpoint_txg = spa->spa_uberblock.ub_checkpoint_txg;
usr/src/uts/common/fs/zfs/spa_misc.c
2588
return (spa->spa_first_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
2598
spa_suspend_async_destroy(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
2600
dsl_pool_t *dp = spa_get_dsl(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
2607
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
653
mutex_init(&spa->spa_activities_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
655
cv_init(&spa->spa_async_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
656
cv_init(&spa->spa_evicting_os_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
657
cv_init(&spa->spa_proc_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
658
cv_init(&spa->spa_scrub_io_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
659
cv_init(&spa->spa_suspend_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
660
cv_init(&spa->spa_activities_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
661
cv_init(&spa->spa_waiters_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
664
bplist_create(&spa->spa_free_bplist[t]);
usr/src/uts/common/fs/zfs/spa_misc.c
666
(void) strlcpy(spa->spa_name, name, sizeof (spa->spa_name));
usr/src/uts/common/fs/zfs/spa_misc.c
667
spa->spa_state = POOL_STATE_UNINITIALIZED;
usr/src/uts/common/fs/zfs/spa_misc.c
668
spa->spa_freeze_txg = UINT64_MAX;
usr/src/uts/common/fs/zfs/spa_misc.c
669
spa->spa_final_txg = UINT64_MAX;
usr/src/uts/common/fs/zfs/spa_misc.c
670
spa->spa_load_max_txg = UINT64_MAX;
usr/src/uts/common/fs/zfs/spa_misc.c
671
spa->spa_proc = &p0;
usr/src/uts/common/fs/zfs/spa_misc.c
672
spa->spa_proc_state = SPA_PROC_NONE;
usr/src/uts/common/fs/zfs/spa_misc.c
673
spa->spa_trust_config = B_TRUE;
usr/src/uts/common/fs/zfs/spa_misc.c
676
hdlr.cyh_arg = spa;
usr/src/uts/common/fs/zfs/spa_misc.c
679
spa->spa_deadman_synctime = MSEC2NSEC(zfs_deadman_synctime_ms);
usr/src/uts/common/fs/zfs/spa_misc.c
690
spa->spa_deadman_cycid = cyclic_add(&hdlr, &when);
usr/src/uts/common/fs/zfs/spa_misc.c
693
zfs_refcount_create(&spa->spa_refcount);
usr/src/uts/common/fs/zfs/spa_misc.c
694
spa_config_lock_init(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
696
avl_add(&spa_namespace_avl, spa);
usr/src/uts/common/fs/zfs/spa_misc.c
702
spa->spa_root = spa_strdup(altroot);
usr/src/uts/common/fs/zfs/spa_misc.c
706
spa->spa_alloc_count = spa_allocators;
usr/src/uts/common/fs/zfs/spa_misc.c
707
spa->spa_alloc_locks = kmem_zalloc(spa->spa_alloc_count *
usr/src/uts/common/fs/zfs/spa_misc.c
709
spa->spa_alloc_trees = kmem_zalloc(spa->spa_alloc_count *
usr/src/uts/common/fs/zfs/spa_misc.c
711
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa_misc.c
712
mutex_init(&spa->spa_alloc_locks[i], NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
713
avl_create(&spa->spa_alloc_trees[i], zio_bookmark_compare,
usr/src/uts/common/fs/zfs/spa_misc.c
716
avl_create(&spa->spa_metaslabs_by_flushed, metaslab_sort_by_flushed,
usr/src/uts/common/fs/zfs/spa_misc.c
718
avl_create(&spa->spa_sm_logs_by_txg, spa_log_sm_sort_by_txg,
usr/src/uts/common/fs/zfs/spa_misc.c
720
list_create(&spa->spa_log_summary, sizeof (log_summary_entry_t),
usr/src/uts/common/fs/zfs/spa_misc.c
726
list_create(&spa->spa_config_list, sizeof (spa_config_dirent_t),
usr/src/uts/common/fs/zfs/spa_misc.c
731
list_insert_head(&spa->spa_config_list, dp);
usr/src/uts/common/fs/zfs/spa_misc.c
733
VERIFY(nvlist_alloc(&spa->spa_load_info, NV_UNIQUE_NAME,
usr/src/uts/common/fs/zfs/spa_misc.c
741
VERIFY(nvlist_dup(features, &spa->spa_label_features,
usr/src/uts/common/fs/zfs/spa_misc.c
745
VERIFY(nvlist_dup(config, &spa->spa_config, 0) == 0);
usr/src/uts/common/fs/zfs/spa_misc.c
748
if (spa->spa_label_features == NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
749
VERIFY(nvlist_alloc(&spa->spa_label_features, NV_UNIQUE_NAME,
usr/src/uts/common/fs/zfs/spa_misc.c
753
spa->spa_iokstat = kstat_create("zfs", 0, name,
usr/src/uts/common/fs/zfs/spa_misc.c
755
if (spa->spa_iokstat) {
usr/src/uts/common/fs/zfs/spa_misc.c
756
spa->spa_iokstat->ks_lock = &spa->spa_iokstat_lock;
usr/src/uts/common/fs/zfs/spa_misc.c
757
kstat_install(spa->spa_iokstat);
usr/src/uts/common/fs/zfs/spa_misc.c
760
spa->spa_min_ashift = INT_MAX;
usr/src/uts/common/fs/zfs/spa_misc.c
761
spa->spa_max_ashift = 0;
usr/src/uts/common/fs/zfs/spa_misc.c
769
spa->spa_feat_refcount_cache[i] = SPA_FEATURE_DISABLED;
usr/src/uts/common/fs/zfs/spa_misc.c
772
list_create(&spa->spa_leaf_list, sizeof (vdev_t),
usr/src/uts/common/fs/zfs/spa_misc.c
775
return (spa);
usr/src/uts/common/fs/zfs/spa_misc.c
784
spa_remove(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
789
ASSERT(spa_state(spa) == POOL_STATE_UNINITIALIZED);
usr/src/uts/common/fs/zfs/spa_misc.c
790
ASSERT3U(zfs_refcount_count(&spa->spa_refcount), ==, 0);
usr/src/uts/common/fs/zfs/spa_misc.c
791
ASSERT0(spa->spa_waiters);
usr/src/uts/common/fs/zfs/spa_misc.c
793
nvlist_free(spa->spa_config_splitting);
usr/src/uts/common/fs/zfs/spa_misc.c
795
avl_remove(&spa_namespace_avl, spa);
usr/src/uts/common/fs/zfs/spa_misc.c
798
if (spa->spa_root) {
usr/src/uts/common/fs/zfs/spa_misc.c
799
spa_strfree(spa->spa_root);
usr/src/uts/common/fs/zfs/spa_misc.c
803
while ((dp = list_head(&spa->spa_config_list)) != NULL) {
usr/src/uts/common/fs/zfs/spa_misc.c
804
list_remove(&spa->spa_config_list, dp);
usr/src/uts/common/fs/zfs/spa_misc.c
810
for (int i = 0; i < spa->spa_alloc_count; i++) {
usr/src/uts/common/fs/zfs/spa_misc.c
811
avl_destroy(&spa->spa_alloc_trees[i]);
usr/src/uts/common/fs/zfs/spa_misc.c
812
mutex_destroy(&spa->spa_alloc_locks[i]);
usr/src/uts/common/fs/zfs/spa_misc.c
814
kmem_free(spa->spa_alloc_locks, spa->spa_alloc_count *
usr/src/uts/common/fs/zfs/spa_misc.c
816
kmem_free(spa->spa_alloc_trees, spa->spa_alloc_count *
usr/src/uts/common/fs/zfs/spa_misc.c
819
avl_destroy(&spa->spa_metaslabs_by_flushed);
usr/src/uts/common/fs/zfs/spa_misc.c
820
avl_destroy(&spa->spa_sm_logs_by_txg);
usr/src/uts/common/fs/zfs/spa_misc.c
821
list_destroy(&spa->spa_log_summary);
usr/src/uts/common/fs/zfs/spa_misc.c
822
list_destroy(&spa->spa_config_list);
usr/src/uts/common/fs/zfs/spa_misc.c
823
list_destroy(&spa->spa_leaf_list);
usr/src/uts/common/fs/zfs/spa_misc.c
825
nvlist_free(spa->spa_label_features);
usr/src/uts/common/fs/zfs/spa_misc.c
826
nvlist_free(spa->spa_load_info);
usr/src/uts/common/fs/zfs/spa_misc.c
827
spa_config_set(spa, NULL);
usr/src/uts/common/fs/zfs/spa_misc.c
830
if (spa->spa_deadman_cycid != CYCLIC_NONE)
usr/src/uts/common/fs/zfs/spa_misc.c
831
cyclic_remove(spa->spa_deadman_cycid);
usr/src/uts/common/fs/zfs/spa_misc.c
833
spa->spa_deadman_cycid = CYCLIC_NONE;
usr/src/uts/common/fs/zfs/spa_misc.c
835
zfs_refcount_destroy(&spa->spa_refcount);
usr/src/uts/common/fs/zfs/spa_misc.c
837
spa_config_lock_destroy(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
839
kstat_delete(spa->spa_iokstat);
usr/src/uts/common/fs/zfs/spa_misc.c
840
spa->spa_iokstat = NULL;
usr/src/uts/common/fs/zfs/spa_misc.c
843
bplist_destroy(&spa->spa_free_bplist[t]);
usr/src/uts/common/fs/zfs/spa_misc.c
845
zio_checksum_templates_free(spa);
usr/src/uts/common/fs/zfs/spa_misc.c
847
cv_destroy(&spa->spa_async_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
848
cv_destroy(&spa->spa_evicting_os_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
849
cv_destroy(&spa->spa_proc_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
850
cv_destroy(&spa->spa_scrub_io_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
851
cv_destroy(&spa->spa_suspend_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
852
cv_destroy(&spa->spa_activities_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
853
cv_destroy(&spa->spa_waiters_cv);
usr/src/uts/common/fs/zfs/spa_misc.c
855
mutex_destroy(&spa->spa_flushed_ms_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
856
mutex_destroy(&spa->spa_async_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
857
mutex_destroy(&spa->spa_errlist_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
858
mutex_destroy(&spa->spa_errlog_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
859
mutex_destroy(&spa->spa_evicting_os_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
860
mutex_destroy(&spa->spa_history_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
861
mutex_destroy(&spa->spa_proc_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
862
mutex_destroy(&spa->spa_props_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
863
mutex_destroy(&spa->spa_cksum_tmpls_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
864
mutex_destroy(&spa->spa_scrub_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
865
mutex_destroy(&spa->spa_suspend_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
866
mutex_destroy(&spa->spa_vdev_top_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
867
mutex_destroy(&spa->spa_iokstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
868
mutex_destroy(&spa->spa_imp_kstat_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
869
mutex_destroy(&spa->spa_activities_lock);
usr/src/uts/common/fs/zfs/spa_misc.c
871
kmem_free(spa, sizeof (spa_t));
usr/src/uts/common/fs/zfs/spa_misc.c
900
spa_open_ref(spa_t *spa, void *tag)
usr/src/uts/common/fs/zfs/spa_misc.c
902
ASSERT(zfs_refcount_count(&spa->spa_refcount) >= spa->spa_minref ||
usr/src/uts/common/fs/zfs/spa_misc.c
904
(void) zfs_refcount_add(&spa->spa_refcount, tag);
usr/src/uts/common/fs/zfs/spa_misc.c
912
spa_close(spa_t *spa, void *tag)
usr/src/uts/common/fs/zfs/spa_misc.c
914
ASSERT(zfs_refcount_count(&spa->spa_refcount) > spa->spa_minref ||
usr/src/uts/common/fs/zfs/spa_misc.c
916
(void) zfs_refcount_remove(&spa->spa_refcount, tag);
usr/src/uts/common/fs/zfs/spa_misc.c
928
spa_async_close(spa_t *spa, void *tag)
usr/src/uts/common/fs/zfs/spa_misc.c
930
(void) zfs_refcount_remove(&spa->spa_refcount, tag);
usr/src/uts/common/fs/zfs/spa_misc.c
939
spa_refcount_zero(spa_t *spa)
usr/src/uts/common/fs/zfs/spa_misc.c
943
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
1078
extern void spa_notify_waiters(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa.h
1079
extern void spa_wake_waiters(spa_t *spa);
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
443
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
445
extern void spa_load_spares(spa_t *spa);
usr/src/uts/common/fs/zfs/sys/spa_impl.h
446
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
121
extern int vdev_fault(spa_t *spa, uint64_t guid, vdev_aux_t aux);
usr/src/uts/common/fs/zfs/sys/vdev.h
122
extern int vdev_degrade(spa_t *spa, uint64_t guid, vdev_aux_t aux);
usr/src/uts/common/fs/zfs/sys/vdev.h
123
extern int vdev_online(spa_t *spa, uint64_t guid, uint64_t flags,
usr/src/uts/common/fs/zfs/sys/vdev.h
125
extern int vdev_offline(spa_t *spa, uint64_t guid, uint64_t flags);
usr/src/uts/common/fs/zfs/sys/vdev.h
126
extern void vdev_clear(spa_t *spa, vdev_t *vd);
usr/src/uts/common/fs/zfs/sys/vdev.h
157
extern void vdev_set_deferred_resilver(spa_t *spa, vdev_t *vd);
usr/src/uts/common/fs/zfs/sys/vdev.h
169
extern void vdev_top_config_generate(spa_t *spa, nvlist_t *config);
usr/src/uts/common/fs/zfs/sys/vdev.h
170
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
151
spa_notify_waiters(spa);
usr/src/uts/common/fs/zfs/vdev_initialize.c
191
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_initialize.c
202
dmu_tx_t *tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/vdev_initialize.c
206
spa_config_enter(spa, SCL_STATE_ALL, vd, RW_READER);
usr/src/uts/common/fs/zfs/vdev_initialize.c
214
dsl_sync_task_nowait(spa_get_dsl(spa),
usr/src/uts/common/fs/zfs/vdev_initialize.c
236
zio_nowait(zio_write_phys(spa->spa_txg_zio[txg & TXG_MASK], vd, start,
usr/src/uts/common/fs/zfs/vdev_initialize.c
469
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_initialize.c
474
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_initialize.c
498
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_initialize.c
511
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_initialize.c
518
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_initialize.c
545
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/vdev_initialize.c
592
vdev_initialize_stop_wait(spa_t *spa, list_t *vd_list)
usr/src/uts/common/fs/zfs/vdev_initialize.c
667
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_initialize.c
676
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
1005
vcsa->vcsa_spa = spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1011
spa_config_enter(spa, SCL_STATE, spa, RW_READER);
usr/src/uts/common/fs/zfs/vdev_removal.c
1012
zio_t *nzio = zio_null(spa->spa_txg_zio[txg & TXG_MASK], spa, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
1014
vdev_t *dest_vd = vdev_lookup_top(spa, DVA_GET_VDEV(&dst));
usr/src/uts/common/fs/zfs/vdev_removal.c
1043
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1044
vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
1052
ASSERT3U(spa->spa_removing_phys.sr_copied, ==,
usr/src/uts/common/fs/zfs/vdev_removal.c
1053
spa->spa_removing_phys.sr_to_copy);
usr/src/uts/common/fs/zfs/vdev_removal.c
1068
spa_history_log_internal(spa, "vdev remove completed", tx,
usr/src/uts/common/fs/zfs/vdev_removal.c
1069
"%s vdev %llu", spa_name(spa), vd->vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
1095
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1096
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
1116
tx = dmu_tx_create_assigned(spa->spa_dsl_pool, txg);
usr/src/uts/common/fs/zfs/vdev_removal.c
1117
dsl_sync_task_nowait(spa->spa_dsl_pool, vdev_remove_complete_sync, svr,
usr/src/uts/common/fs/zfs/vdev_removal.c
1136
vdev_remove_complete(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_removal.c
1144
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/vdev_removal.c
1145
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1146
vdev_t *vd = vdev_lookup_top(spa, spa->spa_vdev_removal->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
1151
sysevent_t *ev = spa_event_create(spa, vd, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
1164
spa_log_sm_set_blocklimit(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1179
(void) spa_vdev_exit(spa, NULL, txg, 0);
usr/src/uts/common/fs/zfs/vdev_removal.c
1192
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1197
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/vdev_removal.c
1198
(void) spa_vdev_exit(spa, vd, txg, 0);
usr/src/uts/common/fs/zfs/vdev_removal.c
1215
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1305
ASSERT3U(spa->spa_max_ashift, >=, SPA_MINBLOCKSHIFT);
usr/src/uts/common/fs/zfs/vdev_removal.c
1306
ASSERT3U(spa->spa_max_ashift, ==, spa->spa_min_ashift);
usr/src/uts/common/fs/zfs/vdev_removal.c
1310
1 << spa->spa_max_ashift);
usr/src/uts/common/fs/zfs/vdev_removal.c
1314
ASSERT3U(attempted, >, 1 << spa->spa_max_ashift);
usr/src/uts/common/fs/zfs/vdev_removal.c
1315
*max_alloc = attempted - (1 << spa->spa_max_ashift);
usr/src/uts/common/fs/zfs/vdev_removal.c
1350
spa_t *spa = arg;
usr/src/uts/common/fs/zfs/vdev_removal.c
1351
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
1356
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_removal.c
1357
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
1444
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
1452
spa->spa_removing_phys.sr_copied;
usr/src/uts/common/fs/zfs/vdev_removal.c
1467
dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
usr/src/uts/common/fs/zfs/vdev_removal.c
1477
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
usr/src/uts/common/fs/zfs/vdev_removal.c
1478
vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
1493
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
1498
txg_wait_synced(spa->spa_dsl_pool, 0);
usr/src/uts/common/fs/zfs/vdev_removal.c
1512
vdev_remove_complete(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1517
spa_vdev_remove_suspend(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_removal.c
1519
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
1536
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1538
if (spa->spa_vdev_removal == NULL)
usr/src/uts/common/fs/zfs/vdev_removal.c
1551
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1552
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
1553
vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
1556
objset_t *mos = spa->spa_meta_objset;
usr/src/uts/common/fs/zfs/vdev_removal.c
1560
spa_feature_decr(spa, SPA_FEATURE_DEVICE_REMOVAL, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
1562
spa_feature_decr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
1563
VERIFY0(zap_remove(spa->spa_meta_objset, vd->vdev_top_zap,
usr/src/uts/common/fs/zfs/vdev_removal.c
1573
VERIFY0(zap_remove(spa->spa_meta_objset, vd->vdev_top_zap,
usr/src/uts/common/fs/zfs/vdev_removal.c
1577
spa_feature_decr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
1666
spa_finish_removal(spa, DSS_CANCELED, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
1673
spa_history_log_internal(spa, "vdev remove canceled", tx,
usr/src/uts/common/fs/zfs/vdev_removal.c
1674
"%s vdev %llu %s", spa_name(spa),
usr/src/uts/common/fs/zfs/vdev_removal.c
1679
spa_vdev_remove_cancel(spa_t *spa)
usr/src/uts/common/fs/zfs/vdev_removal.c
1681
spa_vdev_remove_suspend(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1683
if (spa->spa_vdev_removal == NULL)
usr/src/uts/common/fs/zfs/vdev_removal.c
1686
uint64_t vdid = spa->spa_vdev_removal->svr_vdev_id;
usr/src/uts/common/fs/zfs/vdev_removal.c
1688
int error = dsl_sync_task(spa->spa_name, spa_vdev_remove_cancel_check,
usr/src/uts/common/fs/zfs/vdev_removal.c
1693
spa_config_enter(spa, SCL_ALLOC | SCL_VDEV, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/vdev_removal.c
1694
vdev_t *vd = vdev_lookup_top(spa, vdid);
usr/src/uts/common/fs/zfs/vdev_removal.c
1696
spa_config_exit(spa, SCL_ALLOC | SCL_VDEV, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
1703
svr_sync(spa_t *spa, dmu_tx_t *tx)
usr/src/uts/common/fs/zfs/vdev_removal.c
1705
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
1723
spa->spa_removing_phys.sr_copied += svr->svr_bytes_done[txgoff];
usr/src/uts/common/fs/zfs/vdev_removal.c
1726
spa_sync_removing_state(spa, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
1733
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1734
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev_removal.c
1737
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/vdev_removal.c
1741
vd = vdev_alloc_common(spa, id, 0, &vdev_hole_ops);
usr/src/uts/common/fs/zfs/vdev_removal.c
1758
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1774
spa_vdev_config_exit(spa, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
1785
error = spa_reset_logs(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1787
*txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1825
spa_log_sm_set_blocklimit(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1827
spa_history_log_internal(spa, "vdev remove", NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
1828
"%s vdev %llu (log) %s", spa_name(spa), vd->vdev_id,
usr/src/uts/common/fs/zfs/vdev_removal.c
1832
spa_vdev_config_exit(spa, NULL, *txg, 0, FTAG);
usr/src/uts/common/fs/zfs/vdev_removal.c
1839
*txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
1841
sysevent_t *ev = spa_event_create(spa, vd, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
1844
ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);
usr/src/uts/common/fs/zfs/vdev_removal.c
1874
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
1879
if (!spa_feature_is_enabled(spa, SPA_FEATURE_DEVICE_REMOVAL))
usr/src/uts/common/fs/zfs/vdev_removal.c
1884
spa->spa_dsl_pool->dp_root_dir, NULL, 0, B_TRUE);
usr/src/uts/common/fs/zfs/vdev_removal.c
1892
if (mc != spa_normal_class(spa) && mc->mc_groups > 1) {
usr/src/uts/common/fs/zfs/vdev_removal.c
1906
if (available < vd->vdev_stat.vs_dspace + spa_get_slop_space(spa)) {
usr/src/uts/common/fs/zfs/vdev_removal.c
1913
if (spa->spa_removing_phys.sr_state == DSS_SCANNING)
usr/src/uts/common/fs/zfs/vdev_removal.c
1932
if (spa->spa_max_ashift != spa->spa_min_ashift) {
usr/src/uts/common/fs/zfs/vdev_removal.c
1940
vdev_t *rvd = spa->spa_root_vdev;
usr/src/uts/common/fs/zfs/vdev_removal.c
1945
ASSERT3U(cvd->vdev_ashift, ==, spa->spa_max_ashift);
usr/src/uts/common/fs/zfs/vdev_removal.c
1979
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
2006
spa_vdev_config_exit(spa, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
2015
error = spa_reset_logs(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
2026
*txg = spa_vdev_config_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
2037
spa_async_request(spa, SPA_ASYNC_INITIALIZE_RESTART);
usr/src/uts/common/fs/zfs/vdev_removal.c
2038
spa_async_request(spa, SPA_ASYNC_TRIM_RESTART);
usr/src/uts/common/fs/zfs/vdev_removal.c
2039
spa_async_request(spa, SPA_ASYNC_AUTOTRIM_RESTART);
usr/src/uts/common/fs/zfs/vdev_removal.c
2047
dmu_tx_t *tx = dmu_tx_create_assigned(spa->spa_dsl_pool, *txg);
usr/src/uts/common/fs/zfs/vdev_removal.c
2048
dsl_sync_task_nowait(spa->spa_dsl_pool,
usr/src/uts/common/fs/zfs/vdev_removal.c
2066
spa_vdev_remove(spa_t *spa, uint64_t guid, boolean_t unspare)
usr/src/uts/common/fs/zfs/vdev_removal.c
2076
ASSERT(spa_writeable(spa));
usr/src/uts/common/fs/zfs/vdev_removal.c
2079
txg = spa_vdev_enter(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
2082
if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) {
usr/src/uts/common/fs/zfs/vdev_removal.c
2083
error = (spa_has_checkpoint(spa)) ?
usr/src/uts/common/fs/zfs/vdev_removal.c
2087
return (spa_vdev_exit(spa, NULL, txg, error));
usr/src/uts/common/fs/zfs/vdev_removal.c
2092
vd = spa_lookup_by_guid(spa, guid, B_FALSE);
usr/src/uts/common/fs/zfs/vdev_removal.c
2094
if (spa->spa_spares.sav_vdevs != NULL &&
usr/src/uts/common/fs/zfs/vdev_removal.c
2095
nvlist_lookup_nvlist_array(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/vdev_removal.c
2105
spa_history_log_internal(spa, "vdev remove", NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
2106
"%s vdev (%s) %s", spa_name(spa),
usr/src/uts/common/fs/zfs/vdev_removal.c
2109
vd = spa_lookup_by_guid(spa, guid, B_TRUE);
usr/src/uts/common/fs/zfs/vdev_removal.c
2110
ev = spa_event_create(spa, vd, NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
2112
spa_vdev_remove_aux(spa->spa_spares.sav_config,
usr/src/uts/common/fs/zfs/vdev_removal.c
2114
spa_load_spares(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
2115
spa->spa_spares.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/vdev_removal.c
2119
} else if (spa->spa_l2cache.sav_vdevs != NULL &&
usr/src/uts/common/fs/zfs/vdev_removal.c
2120
nvlist_lookup_nvlist_array(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/vdev_removal.c
2124
spa_history_log_internal(spa, "vdev remove", NULL,
usr/src/uts/common/fs/zfs/vdev_removal.c
2125
"%s vdev (%s) %s", spa_name(spa), VDEV_TYPE_L2CACHE, nvstr);
usr/src/uts/common/fs/zfs/vdev_removal.c
2129
vd = spa_lookup_by_guid(spa, guid, B_TRUE);
usr/src/uts/common/fs/zfs/vdev_removal.c
2130
ev = spa_event_create(spa, vd, NULL, ESC_ZFS_VDEV_REMOVE_AUX);
usr/src/uts/common/fs/zfs/vdev_removal.c
2131
spa_vdev_remove_aux(spa->spa_l2cache.sav_config,
usr/src/uts/common/fs/zfs/vdev_removal.c
2133
spa_load_l2cache(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
2134
spa->spa_l2cache.sav_sync = B_TRUE;
usr/src/uts/common/fs/zfs/vdev_removal.c
2149
error = spa_vdev_exit(spa, NULL, txg, error);
usr/src/uts/common/fs/zfs/vdev_removal.c
2163
spa_removal_get_stats(spa_t *spa, pool_removal_stat_t *prs)
usr/src/uts/common/fs/zfs/vdev_removal.c
2165
prs->prs_state = spa->spa_removing_phys.sr_state;
usr/src/uts/common/fs/zfs/vdev_removal.c
2170
prs->prs_removing_vdev = spa->spa_removing_phys.sr_removing_vdev;
usr/src/uts/common/fs/zfs/vdev_removal.c
2171
prs->prs_start_time = spa->spa_removing_phys.sr_start_time;
usr/src/uts/common/fs/zfs/vdev_removal.c
2172
prs->prs_end_time = spa->spa_removing_phys.sr_end_time;
usr/src/uts/common/fs/zfs/vdev_removal.c
2173
prs->prs_to_copy = spa->spa_removing_phys.sr_to_copy;
usr/src/uts/common/fs/zfs/vdev_removal.c
2174
prs->prs_copied = spa->spa_removing_phys.sr_copied;
usr/src/uts/common/fs/zfs/vdev_removal.c
2176
if (spa->spa_vdev_removal != NULL) {
usr/src/uts/common/fs/zfs/vdev_removal.c
2179
spa->spa_vdev_removal->svr_bytes_done[i];
usr/src/uts/common/fs/zfs/vdev_removal.c
2185
spa->spa_removing_phys.sr_prev_indirect_vdev;
usr/src/uts/common/fs/zfs/vdev_removal.c
2187
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
690
spa_notify_waiters(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
692
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/vdev_removal.c
714
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
715
vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
usr/src/uts/common/fs/zfs/vdev_removal.c
721
ASSERT3U(txg, ==, spa_syncing_txg(spa));
usr/src/uts/common/fs/zfs/vdev_removal.c
740
spa_sync_removing_state(spa, tx);
usr/src/uts/common/fs/zfs/vdev_removal.c
754
spa_t *spa = vcsa->vcsa_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
772
zio_free(spa, vcsa->vcsa_txg, &bp);
usr/src/uts/common/fs/zfs/vdev_removal.c
910
spa_t *spa = vd->vdev_spa;
usr/src/uts/common/fs/zfs/vdev_removal.c
911
spa_vdev_removal_t *svr = spa->spa_vdev_removal;
usr/src/uts/common/fs/zfs/vdev_removal.c
949
if (mc != spa_normal_class(spa) && mc->mc_groups <= 1)
usr/src/uts/common/fs/zfs/vdev_removal.c
950
mc = spa_normal_class(spa);
usr/src/uts/common/fs/zfs/vdev_removal.c
951
int error = metaslab_alloc_dva(spa, mc, size, &dst, 0, NULL, txg, 0,
usr/src/uts/common/fs/zfs/vdev_removal.c
953
if (error == ENOSPC && mc != spa_normal_class(spa)) {
usr/src/uts/common/fs/zfs/vdev_removal.c
954
error = metaslab_alloc_dva(spa, spa_normal_class(spa), size,
usr/src/uts/common/fs/zfs/vdev_removal.c
998
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
4415
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4417
if ((err = spa_open(dsname, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4420
if (!spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4422
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4425
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4451
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4461
if ((err = spa_open(dsname, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4464
if (!spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4466
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4469
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4477
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4479
if ((err = spa_open(dsname, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4482
if (!spa_feature_is_enabled(spa,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4484
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4487
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
4519
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4534
if ((err = spa_open(dsname, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4537
if (!spa_feature_is_enabled(spa, feature)) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4538
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4541
spa_close(spa, FTAG);
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
4556
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4559
if (!spa_feature_is_active(spa, *featurep))
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
4572
spa_t *spa = dmu_tx_pool(tx)->dp_spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4575
spa_feature_incr(spa, *featurep, tx);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
458
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4584
zfs_prop_activate_feature(spa_t *spa, spa_feature_t feature)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
4589
err = dsl_sync_task(spa_name(spa),
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5371
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5375
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5378
error = spa_get_errlog(spa, (void *)(uintptr_t)zc->zc_nvlist_dst,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5383
zc->zc_nvlist_dst_size = spa_get_errlog_size(spa);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5385
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5393
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5401
spa = spa_lookup(zc->zc_name);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5402
if (spa == NULL) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5406
if (spa_get_log_state(spa) == SPA_LOG_MISSING) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5408
spa_set_log_state(spa, SPA_LOG_CLEAR);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5410
spa->spa_last_open_failed = 0;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5414
error = spa_open(zc->zc_name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5424
error = spa_open_rewind(zc->zc_name, &spa, FTAG,
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5444
if (spa_multihost(spa) && spa_suspended(spa))
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5447
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5452
vd = spa_lookup_by_guid(spa, zc->zc_guid, B_TRUE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5454
(void) spa_vdev_state_exit(spa, NULL, ENODEV);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5455
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5460
vdev_clear(spa, vd);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5462
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5467
if (zio_resume(spa) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5470
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5478
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5481
error = spa_open(zc->zc_name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5485
spa_vdev_state_enter(spa, SCL_NONE);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5493
spa->spa_scrub_reopen = dsl_scan_resilvering(spa->spa_dsl_pool);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5494
vdev_reopen(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5495
spa->spa_scrub_reopen = B_FALSE;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5497
(void) spa_vdev_state_exit(spa, NULL, 0);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
5498
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6504
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6506
if ((err = spa_open(pool, &spa, FTAG)) != 0)
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6513
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_WRITER);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6514
vdev_config_dirty(spa->spa_root_vdev);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6515
spa_config_exit(spa, SCL_CONFIG, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6517
txg_wait_synced(spa_get_dsl(spa), 0);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
6519
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7124
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7132
error = spa_open(name, &spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7134
if ((check & POOL_CHECK_SUSPENDED) && spa_suspended(spa))
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7136
else if ((check & POOL_CHECK_READONLY) && !spa_writeable(spa))
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7138
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7350
spa_t *spa;
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7380
spa_open(zc->zc_name, &spa, FTAG) == 0) {
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7389
(void) spa_history_log_nvl(spa, lognv);
usr/src/uts/common/fs/zfs/zfs_ioctl.c
7390
spa_close(spa, FTAG);
usr/src/uts/common/fs/zfs/zil.c
1168
spa_t *spa = zio->io_spa;
usr/src/uts/common/fs/zfs/zil.c
1175
ASSERT3S(spa_config_held(spa, SCL_STATE, RW_READER), !=, 0);
usr/src/uts/common/fs/zfs/zil.c
1232
vdev_t *vd = vdev_lookup_top(spa, zv->zv_vdev);
usr/src/uts/common/fs/zfs/zil.c
1383
spa_t *spa = zilog->zl_spa;
usr/src/uts/common/fs/zfs/zil.c
1461
error = zio_alloc_zil(spa, zilog->zl_os, txg, bp, &lwb->lwb_blk,
usr/src/uts/common/fs/zfs/zil.c
2100
spa_t *spa = zilog->zl_spa;
usr/src/uts/common/fs/zfs/zil.c
2140
boolean_t synced = txg <= spa_last_synced_txg(spa);
usr/src/uts/common/fs/zfs/zil.c
2141
boolean_t frozen = txg > spa_freeze_txg(spa);
usr/src/uts/common/fs/zfs/zil.c
2852
spa_t *spa = zilog->zl_spa;
usr/src/uts/common/fs/zfs/zil.c
2860
if (spa_sync_pass(spa) != 1)
usr/src/uts/common/fs/zfs/zil.c
2900
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,
usr/src/uts/common/os/spawn.c
1153
const spawn_attr_t *spa = spawn_param_attr(sp);
usr/src/uts/common/os/spawn.c
1156
if (spa != NULL) {
usr/src/uts/common/os/spawn.c
1157
if ((spa->sa_psflags & POSIX_SPAWN_NOSIGCHLD_NP) != 0)
usr/src/uts/common/os/spawn.c
1159
if ((spa->sa_psflags & POSIX_SPAWN_WAITPID_NP) != 0)
usr/src/uts/common/os/spawn.c
351
const spawn_attr_t *spa = spawn_param_attr(sp);
usr/src/uts/common/os/spawn.c
356
if (spa == NULL)
usr/src/uts/common/os/spawn.c
359
if (spa->sa_psflags & POSIX_SPAWN_SETSIGMASK) {
usr/src/uts/common/os/spawn.c
361
spa->sa_sigmask.__sigbits[0],
usr/src/uts/common/os/spawn.c
362
spa->sa_sigmask.__sigbits[1],
usr/src/uts/common/os/spawn.c
363
spa->sa_sigmask.__sigbits[2],
usr/src/uts/common/os/spawn.c
364
spa->sa_sigmask.__sigbits[3]);
usr/src/uts/common/os/spawn.c
367
if (spa->sa_psflags & POSIX_SPAWN_SETSIGIGN_NP) {
usr/src/uts/common/os/spawn.c
370
sigutok(&spa->sa_sigignore, &kset);
usr/src/uts/common/os/spawn.c
381
if (spa->sa_psflags & POSIX_SPAWN_SETSIGDEF) {
usr/src/uts/common/os/spawn.c
384
sigutok(&spa->sa_sigdefault, &kset);
usr/src/uts/common/os/spawn.c
395
if (spa->sa_psflags & POSIX_SPAWN_RESETIDS) {
usr/src/uts/common/os/spawn.c
403
if (spa->sa_psflags & POSIX_SPAWN_SETSID) {
usr/src/uts/common/os/spawn.c
414
if (spa->sa_psflags & POSIX_SPAWN_SETPGROUP) {
usr/src/uts/common/os/spawn.c
416
if (setpgrp(PGRPSYS_SETPGID, 0, spa->sa_pgroup) != 0)
usr/src/uts/common/os/spawn.c
426
if ((spa->sa_psflags &
usr/src/uts/common/os/spawn.c
805
const spawn_attr_t *spa = spawn_param_attr(ksp->ksp_param);
usr/src/uts/common/os/spawn.c
849
if (execfail && spa != NULL &&
usr/src/uts/common/os/spawn.c
850
(spa->sa_psflags & POSIX_SPAWN_NOEXECERR_NP) != 0) {
usr/src/uts/common/os/spawn.c
904
const spawn_attr_t *spa;
usr/src/uts/common/os/spawn.c
912
spa = spawn_param_attr(sp);
usr/src/uts/common/os/spawn.c
914
if ((spa->sa_psflags & ~ALL_POSIX_SPAWN_FLAGS) != 0)
usr/src/uts/common/os/spawn.c
916
if (spa->sa_pgroup < 0)
usr/src/uts/common/os/spawn.c
919
schedflags = spa->sa_psflags &