Lines Matching defs:zfsvfs

257 zfs_is_readonly(zfsvfs_t *zfsvfs)
259 return (!!(zfsvfs->z_sb->s_flags & SB_RDONLY));
266 zfsvfs_t *zfsvfs = sb->s_fs_info;
275 if (zfsvfs != NULL) {
282 if ((error = zfs_enter(zfsvfs, FTAG)) != 0)
284 dp = dmu_objset_pool(zfsvfs->z_os);
291 zfs_exit(zfsvfs, FTAG);
295 if (zfsvfs->z_log != NULL)
296 zil_commit(zfsvfs->z_log, 0);
298 zfs_exit(zfsvfs, FTAG);
314 zfsvfs_t *zfsvfs = arg;
315 struct super_block *sb = zfsvfs->z_sb;
340 zfsvfs_t *zfsvfs = arg;
343 zfsvfs->z_flags &= ~ZSB_XATTR;
345 zfsvfs->z_flags |= ZSB_XATTR;
348 zfsvfs->z_xattr_sa = B_TRUE;
350 zfsvfs->z_xattr_sa = B_FALSE;
357 zfsvfs_t *zfsvfs = arg;
362 zfsvfs->z_acl_type = ZFS_ACLTYPE_OFF;
363 zfsvfs->z_sb->s_flags &= ~SB_POSIXACL;
367 zfsvfs->z_acl_type = ZFS_ACLTYPE_POSIX;
368 zfsvfs->z_sb->s_flags |= SB_POSIXACL;
370 zfsvfs->z_acl_type = ZFS_ACLTYPE_OFF;
371 zfsvfs->z_sb->s_flags &= ~SB_POSIXACL;
382 zfsvfs_t *zfsvfs = arg;
383 ASSERT3U(newval, <=, spa_maxblocksize(dmu_objset_spa(zfsvfs->z_os)));
387 zfsvfs->z_max_blksz = newval;
393 zfsvfs_t *zfsvfs = arg;
394 struct super_block *sb = zfsvfs->z_sb;
423 zfsvfs_t *zfsvfs = arg;
424 struct super_block *sb = zfsvfs->z_sb;
444 zfsvfs_t *zfsvfs = arg;
446 zfsvfs->z_acl_mode = newval;
466 zfsvfs_t *zfsvfs = NULL;
470 zfsvfs = vfsp->vfs_data;
471 ASSERT(zfsvfs);
472 os = zfsvfs->z_os;
480 if (zfs_is_readonly(zfsvfs) || !spa_writeable(dmu_objset_spa(os))) {
495 zfs_prop_to_name(ZFS_PROP_ATIME), atime_changed_cb, zfsvfs);
497 zfs_prop_to_name(ZFS_PROP_RELATIME), relatime_changed_cb, zfsvfs);
499 zfs_prop_to_name(ZFS_PROP_XATTR), xattr_changed_cb, zfsvfs);
501 zfs_prop_to_name(ZFS_PROP_RECORDSIZE), blksz_changed_cb, zfsvfs);
503 zfs_prop_to_name(ZFS_PROP_READONLY), readonly_changed_cb, zfsvfs);
505 zfs_prop_to_name(ZFS_PROP_DEVICES), devices_changed_cb, zfsvfs);
507 zfs_prop_to_name(ZFS_PROP_SETUID), setuid_changed_cb, zfsvfs);
509 zfs_prop_to_name(ZFS_PROP_EXEC), exec_changed_cb, zfsvfs);
511 zfs_prop_to_name(ZFS_PROP_SNAPDIR), snapdir_changed_cb, zfsvfs);
513 zfs_prop_to_name(ZFS_PROP_ACLTYPE), acltype_changed_cb, zfsvfs);
515 zfs_prop_to_name(ZFS_PROP_ACLMODE), acl_mode_changed_cb, zfsvfs);
518 zfsvfs);
520 zfs_prop_to_name(ZFS_PROP_NBMAND), nbmand_changed_cb, zfsvfs);
522 zfs_prop_to_name(ZFS_PROP_LONGNAME), longname_changed_cb, zfsvfs);
531 readonly_changed_cb(zfsvfs, vfsp->vfs_readonly);
533 setuid_changed_cb(zfsvfs, vfsp->vfs_setuid);
535 exec_changed_cb(zfsvfs, vfsp->vfs_exec);
537 devices_changed_cb(zfsvfs, vfsp->vfs_devices);
539 xattr_changed_cb(zfsvfs, vfsp->vfs_xattr);
541 atime_changed_cb(zfsvfs, vfsp->vfs_atime);
543 relatime_changed_cb(zfsvfs, vfsp->vfs_relatime);
545 nbmand_changed_cb(zfsvfs, vfsp->vfs_nbmand);
550 dsl_prop_unregister_all(ds, zfsvfs);
631 * Associate this zfsvfs with the given objset, which must be owned.
633 * zfsvfs.
636 zfsvfs_init(zfsvfs_t *zfsvfs, objset_t *os)
641 zfsvfs->z_max_blksz = SPA_OLD_MAXBLOCKSIZE;
642 zfsvfs->z_show_ctldir = ZFS_SNAPDIR_VISIBLE;
643 zfsvfs->z_os = os;
645 error = zfs_get_zplprop(os, ZFS_PROP_VERSION, &zfsvfs->z_version);
648 if (zfsvfs->z_version >
652 "this file system.\n", (u_longlong_t)zfsvfs->z_version,
659 zfsvfs->z_norm = (int)val;
664 zfsvfs->z_utf8 = (val != 0);
669 zfsvfs->z_case = (uint_t)val;
673 zfsvfs->z_acl_type = (uint_t)val;
679 if (zfsvfs->z_case == ZFS_CASE_INSENSITIVE ||
680 zfsvfs->z_case == ZFS_CASE_MIXED)
681 zfsvfs->z_norm |= U8_TEXTPREP_TOUPPER;
683 zfsvfs->z_use_fuids = USE_FUIDS(zfsvfs->z_version, zfsvfs->z_os);
684 zfsvfs->z_use_sa = USE_SA(zfsvfs->z_version, zfsvfs->z_os);
687 if (zfsvfs->z_use_sa) {
696 zfsvfs->z_xattr_sa = B_TRUE;
700 &zfsvfs->z_root);
703 ASSERT(zfsvfs->z_root != 0);
706 &zfsvfs->z_unlinkedobj);
712 8, 1, &zfsvfs->z_userquota_obj);
714 zfsvfs->z_userquota_obj = 0;
720 8, 1, &zfsvfs->z_groupquota_obj);
722 zfsvfs->z_groupquota_obj = 0;
728 8, 1, &zfsvfs->z_projectquota_obj);
730 zfsvfs->z_projectquota_obj = 0;
736 8, 1, &zfsvfs->z_userobjquota_obj);
738 zfsvfs->z_userobjquota_obj = 0;
744 8, 1, &zfsvfs->z_groupobjquota_obj);
746 zfsvfs->z_groupobjquota_obj = 0;
752 8, 1, &zfsvfs->z_projectobjquota_obj);
754 zfsvfs->z_projectobjquota_obj = 0;
759 &zfsvfs->z_fuid_obj);
761 zfsvfs->z_fuid_obj = 0;
766 &zfsvfs->z_shares_dir);
768 zfsvfs->z_shares_dir = 0;
773 &zfsvfs->z_attr_table);
777 if (zfsvfs->z_version >= ZPL_VERSION_SA)
787 zfsvfs_t *zfsvfs;
791 zfsvfs = kmem_zalloc(sizeof (zfsvfs_t), KM_SLEEP);
793 error = dmu_objset_own(osname, DMU_OST_ZFS, ro, B_TRUE, zfsvfs, &os);
795 kmem_free(zfsvfs, sizeof (zfsvfs_t));
799 error = zfsvfs_create_impl(zfvp, zfsvfs, os);
806 * Note: zfsvfs is assumed to be malloc'd, and will be freed by this function
807 * on a failure. Do not pass in a statically allocated zfsvfs.
810 zfsvfs_create_impl(zfsvfs_t **zfvp, zfsvfs_t *zfsvfs, objset_t *os)
814 zfsvfs->z_vfs = NULL;
815 zfsvfs->z_sb = NULL;
816 zfsvfs->z_parent = zfsvfs;
818 mutex_init(&zfsvfs->z_znodes_lock, NULL, MUTEX_DEFAULT, NULL);
819 mutex_init(&zfsvfs->z_lock, NULL, MUTEX_DEFAULT, NULL);
820 list_create(&zfsvfs->z_all_znodes, sizeof (znode_t),
822 ZFS_TEARDOWN_INIT(zfsvfs);
823 rw_init(&zfsvfs->z_teardown_inactive_lock, NULL, RW_DEFAULT, NULL);
824 rw_init(&zfsvfs->z_fuid_lock, NULL, RW_DEFAULT, NULL);
828 zfsvfs->z_hold_size = size;
829 zfsvfs->z_hold_trees = vmem_zalloc(sizeof (avl_tree_t) * size,
831 zfsvfs->z_hold_locks = vmem_zalloc(sizeof (kmutex_t) * size, KM_SLEEP);
833 avl_create(&zfsvfs->z_hold_trees[i], zfs_znode_hold_compare,
835 mutex_init(&zfsvfs->z_hold_locks[i], NULL, MUTEX_DEFAULT, NULL);
838 error = zfsvfs_init(zfsvfs, os);
840 dmu_objset_disown(os, B_TRUE, zfsvfs);
842 zfsvfs_free(zfsvfs);
846 zfsvfs->z_drain_task = TASKQID_INVALID;
847 zfsvfs->z_draining = B_FALSE;
848 zfsvfs->z_drain_cancel = B_TRUE;
850 *zfvp = zfsvfs;
855 zfsvfs_setup(zfsvfs_t *zfsvfs, boolean_t mounting)
858 boolean_t readonly = zfs_is_readonly(zfsvfs);
860 error = zfs_register_callbacks(zfsvfs->z_vfs);
870 ASSERT3P(zfsvfs->z_kstat.dk_kstats, ==, NULL);
871 error = dataset_kstats_create(&zfsvfs->z_kstat, zfsvfs->z_os);
874 zfsvfs->z_log = zil_open(zfsvfs->z_os, zfs_get_data,
875 &zfsvfs->z_kstat.dk_zil_sums);
882 readonly_changed_cb(zfsvfs, B_FALSE);
885 if (zap_get_stats(zfsvfs->z_os, zfsvfs->z_unlinkedobj,
888 &zfsvfs->z_kstat, zs.zs_num_entries);
889 dprintf_ds(zfsvfs->z_os->os_dsl_dataset,
893 zfs_unlinked_drain(zfsvfs);
894 dsl_dir_t *dd = zfsvfs->z_os->os_dsl_dataset->ds_dir;
925 if (spa_writeable(dmu_objset_spa(zfsvfs->z_os))) {
927 zil_destroy(zfsvfs->z_log, B_FALSE);
929 zfsvfs->z_replay = B_TRUE;
930 zil_replay(zfsvfs->z_os, zfsvfs,
932 zfsvfs->z_replay = B_FALSE;
938 readonly_changed_cb(zfsvfs, B_TRUE);
940 ASSERT3P(zfsvfs->z_kstat.dk_kstats, !=, NULL);
941 zfsvfs->z_log = zil_open(zfsvfs->z_os, zfs_get_data,
942 &zfsvfs->z_kstat.dk_zil_sums);
946 * Set the objset user_ptr to track its zfsvfs.
948 mutex_enter(&zfsvfs->z_os->os_user_ptr_lock);
949 dmu_objset_set_user(zfsvfs->z_os, zfsvfs);
950 mutex_exit(&zfsvfs->z_os->os_user_ptr_lock);
956 zfsvfs_free(zfsvfs_t *zfsvfs)
958 int i, size = zfsvfs->z_hold_size;
960 zfs_fuid_destroy(zfsvfs);
962 mutex_destroy(&zfsvfs->z_znodes_lock);
963 mutex_destroy(&zfsvfs->z_lock);
964 list_destroy(&zfsvfs->z_all_znodes);
965 ZFS_TEARDOWN_DESTROY(zfsvfs);
966 rw_destroy(&zfsvfs->z_teardown_inactive_lock);
967 rw_destroy(&zfsvfs->z_fuid_lock);
969 avl_destroy(&zfsvfs->z_hold_trees[i]);
970 mutex_destroy(&zfsvfs->z_hold_locks[i]);
972 vmem_free(zfsvfs->z_hold_trees, sizeof (avl_tree_t) * size);
973 vmem_free(zfsvfs->z_hold_locks, sizeof (kmutex_t) * size);
974 zfsvfs_vfs_free(zfsvfs->z_vfs);
975 dataset_kstats_destroy(&zfsvfs->z_kstat);
976 kmem_free(zfsvfs, sizeof (zfsvfs_t));
980 zfs_set_fuid_feature(zfsvfs_t *zfsvfs)
982 zfsvfs->z_use_fuids = USE_FUIDS(zfsvfs->z_version, zfsvfs->z_os);
983 zfsvfs->z_use_sa = USE_SA(zfsvfs->z_version, zfsvfs->z_os);
987 zfs_unregister_callbacks(zfsvfs_t *zfsvfs)
989 objset_t *os = zfsvfs->z_os;
992 dsl_prop_unregister_all(dmu_objset_ds(os), zfsvfs);
1025 zfs_statfs_project(zfsvfs_t *zfsvfs, znode_t *zp, struct kstatfs *statp,
1035 err = zfs_id_to_fuidstr(zfsvfs, NULL, zp->z_projid, buf + offset,
1040 if (zfsvfs->z_projectquota_obj == 0)
1043 err = zap_lookup(zfsvfs->z_os, zfsvfs->z_projectquota_obj,
1050 err = zap_lookup(zfsvfs->z_os, DMU_PROJECTUSED_OBJECT,
1062 blksize = zfsvfs->z_max_blksz;
1074 if (zfsvfs->z_projectobjquota_obj == 0)
1077 err = zap_lookup(zfsvfs->z_os, zfsvfs->z_projectobjquota_obj,
1084 err = zap_lookup(zfsvfs->z_os, DMU_PROJECTUSED_OBJECT,
1105 zfsvfs_t *zfsvfs = ITOZSB(ip);
1109 if ((err = zfs_enter(zfsvfs, FTAG)) != 0)
1112 dmu_objset_space(zfsvfs->z_os,
1115 uint64_t fsid = dmu_objset_fsid_guid(zfsvfs->z_os);
1125 statp->f_frsize = zfsvfs->z_max_blksz;
1126 statp->f_bsize = zfsvfs->z_max_blksz;
1155 zfsvfs->z_longname ? (ZAP_MAXNAMELEN_NEW - 1) : (MAXNAMELEN - 1);
1163 if (dmu_objset_projectquota_enabled(zfsvfs->z_os) &&
1164 dmu_objset_projectquota_present(zfsvfs->z_os)) {
1169 err = zfs_statfs_project(zfsvfs, zp, statp, bshift);
1172 zfs_exit(zfsvfs, FTAG);
1177 zfs_root(zfsvfs_t *zfsvfs, struct inode **ipp)
1182 if ((error = zfs_enter(zfsvfs, FTAG)) != 0)
1185 error = zfs_zget(zfsvfs, zfsvfs->z_root, &rootzp);
1189 zfs_exit(zfsvfs, FTAG);
1207 zfsvfs_t *zfsvfs = sb->s_fs_info;
1215 if ((error = zfs_enter(zfsvfs, FTAG)) != 0)
1244 zfs_exit(zfsvfs, FTAG);
1246 dprintf_ds(zfsvfs->z_os->os_dsl_dataset,
1260 zfsvfs_teardown(zfsvfs_t *zfsvfs, boolean_t unmounting)
1264 zfs_unlinked_drain_stop_wait(zfsvfs);
1271 if (zfsvfs->z_os) {
1285 while (!list_is_empty(&zfsvfs->z_all_znodes)) {
1287 dmu_objset_pool(zfsvfs->z_os)), 0);
1293 ZFS_TEARDOWN_ENTER_WRITE(zfsvfs, FTAG);
1303 shrink_dcache_sb(zfsvfs->z_parent->z_sb);
1310 if (zfsvfs->z_log) {
1311 zil_close(zfsvfs->z_log);
1312 zfsvfs->z_log = NULL;
1315 rw_enter(&zfsvfs->z_teardown_inactive_lock, RW_WRITER);
1322 if (!unmounting && (zfsvfs->z_unmounted || zfsvfs->z_os == NULL)) {
1323 rw_exit(&zfsvfs->z_teardown_inactive_lock);
1324 ZFS_TEARDOWN_EXIT(zfsvfs, FTAG);
1341 mutex_enter(&zfsvfs->z_znodes_lock);
1342 for (zp = list_head(&zfsvfs->z_all_znodes); zp != NULL;
1343 zp = list_next(&zfsvfs->z_all_znodes, zp)) {
1350 mutex_exit(&zfsvfs->z_znodes_lock);
1359 zfsvfs->z_unmounted = B_TRUE;
1360 rw_exit(&zfsvfs->z_teardown_inactive_lock);
1361 ZFS_TEARDOWN_EXIT(zfsvfs, FTAG);
1366 * zfsvfs, so just return as the properties had already been
1370 if (zfsvfs->z_os == NULL)
1376 zfs_unregister_callbacks(zfsvfs);
1382 objset_t *os = zfsvfs->z_os;
1390 if (!zfs_is_readonly(zfsvfs) && os_dirty) {
1391 txg_wait_synced(dmu_objset_pool(zfsvfs->z_os), 0);
1393 dmu_objset_evict_dbufs(zfsvfs->z_os);
1409 zfsvfs_t *zfsvfs = NULL;
1439 error = zfsvfs_create(osname, vfs->vfs_readonly, &zfsvfs);
1451 vfs->vfs_data = zfsvfs;
1452 zfsvfs->z_vfs = vfs;
1453 zfsvfs->z_sb = sb;
1454 sb->s_fs_info = zfsvfs;
1474 zfs_set_fuid_feature(zfsvfs);
1476 if (dmu_objset_is_snapshot(zfsvfs->z_os)) {
1479 atime_changed_cb(zfsvfs, B_FALSE);
1480 readonly_changed_cb(zfsvfs, B_TRUE);
1484 xattr_changed_cb(zfsvfs, pval);
1488 acltype_changed_cb(zfsvfs, pval);
1489 zfsvfs->z_issnap = B_TRUE;
1490 zfsvfs->z_os->os_sync = ZFS_SYNC_DISABLED;
1491 zfsvfs->z_snap_defer_time = jiffies;
1493 mutex_enter(&zfsvfs->z_os->os_user_ptr_lock);
1494 dmu_objset_set_user(zfsvfs->z_os, zfsvfs);
1495 mutex_exit(&zfsvfs->z_os->os_user_ptr_lock);
1497 if ((error = zfsvfs_setup(zfsvfs, B_TRUE)))
1502 error = zfs_root(zfsvfs, &root_inode);
1505 zfsvfs = NULL; /* avoid double-free; first in zfs_umount */
1513 zfsvfs = NULL; /* avoid double-free; first in zfs_umount */
1518 if (!zfsvfs->z_issnap)
1519 zfsctl_create(zfsvfs);
1521 zfsvfs->z_arc_prune = arc_add_prune_callback(zpl_prune_sb, sb);
1524 if (zfsvfs != NULL) {
1525 dmu_objset_disown(zfsvfs->z_os, B_TRUE, zfsvfs);
1526 zfsvfs_free(zfsvfs);
1548 zfsvfs_t *zfsvfs = sb->s_fs_info;
1550 /* zfsvfs is NULL when zfs_domount fails during mount */
1551 if (zfsvfs) {
1552 zfs_unlinked_drain_stop_wait(zfsvfs);
1570 dmu_objset_pool(zfsvfs->z_os)), 0);
1572 dmu_objset_pool(zfsvfs->z_os)), 0);
1583 zfsvfs_t *zfsvfs = sb->s_fs_info;
1586 if (zfsvfs->z_arc_prune != NULL)
1587 arc_remove_prune_callback(zfsvfs->z_arc_prune);
1588 VERIFY(zfsvfs_teardown(zfsvfs, B_TRUE) == 0);
1589 os = zfsvfs->z_os;
1593 * attempting to reopen zfsvfs.
1606 dmu_objset_disown(os, B_TRUE, zfsvfs);
1609 zfsvfs_free(zfsvfs);
1617 zfsvfs_t *zfsvfs = sb->s_fs_info;
1619 boolean_t issnap = dmu_objset_is_snapshot(zfsvfs->z_os);
1622 if ((issnap || !spa_writeable(dmu_objset_spa(zfsvfs->z_os))) &&
1632 if (!zfs_is_readonly(zfsvfs) && (*flags & SB_RDONLY))
1633 txg_wait_synced(dmu_objset_pool(zfsvfs->z_os), 0);
1635 zfs_unregister_callbacks(zfsvfs);
1636 zfsvfs_vfs_free(zfsvfs->z_vfs);
1638 vfsp->vfs_data = zfsvfs;
1639 zfsvfs->z_vfs = vfsp;
1649 zfsvfs_t *zfsvfs = sb->s_fs_info;
1700 if ((err = zfs_enter(zfsvfs, FTAG)) != 0)
1705 if (zfsvfs->z_show_ctldir == ZFS_SNAPDIR_DISABLED) {
1706 zfs_exit(zfsvfs, FTAG);
1710 *ipp = zfsvfs->z_ctldir;
1723 zfs_exit(zfsvfs, FTAG);
1730 if ((err = zfs_zget(zfsvfs, object, &zp))) {
1731 zfs_exit(zfsvfs, FTAG);
1738 zfs_exit(zfsvfs, FTAG);
1742 (void) sa_lookup(zp->z_sa_hdl, SA_ZPL_GEN(zfsvfs), &zp_gen,
1747 if ((fid_gen == 0) && (zfsvfs->z_root == object))
1753 zfs_exit(zfsvfs, FTAG);
1761 zfs_exit(zfsvfs, FTAG);
1774 zfs_suspend_fs(zfsvfs_t *zfsvfs)
1778 if ((error = zfsvfs_teardown(zfsvfs, B_FALSE)) != 0)
1789 * zfsvfs, held, and long held on entry.
1792 zfs_resume_fs(zfsvfs_t *zfsvfs, dsl_dataset_t *ds)
1797 ASSERT(ZFS_TEARDOWN_WRITE_HELD(zfsvfs));
1798 ASSERT(RW_WRITE_HELD(&zfsvfs->z_teardown_inactive_lock));
1805 VERIFY3P(ds->ds_owner, ==, zfsvfs);
1812 err = zfsvfs_init(zfsvfs, os);
1817 VERIFY(zfsvfs_setup(zfsvfs, B_FALSE) == 0);
1819 zfs_set_fuid_feature(zfsvfs);
1820 zfsvfs->z_rollback_time = jiffies;
1831 mutex_enter(&zfsvfs->z_znodes_lock);
1832 for (zp = list_head(&zfsvfs->z_all_znodes); zp;
1833 zp = list_next(&zfsvfs->z_all_znodes, zp)) {
1846 mutex_exit(&zfsvfs->z_znodes_lock);
1848 if (!zfs_is_readonly(zfsvfs) && !zfsvfs->z_unmounted) {
1854 zfs_unlinked_drain(zfsvfs);
1865 shrink_dcache_sb(zfsvfs->z_sb);
1869 zfsvfs->z_unmounted = B_TRUE;
1872 rw_exit(&zfsvfs->z_teardown_inactive_lock);
1873 ZFS_TEARDOWN_EXIT(zfsvfs, FTAG);
1880 if (zfsvfs->z_os)
1881 (void) zfs_umount(zfsvfs->z_sb);
1890 zfs_end_fs(zfsvfs_t *zfsvfs, dsl_dataset_t *ds)
1892 ASSERT(ZFS_TEARDOWN_WRITE_HELD(zfsvfs));
1893 ASSERT(RW_WRITE_HELD(&zfsvfs->z_teardown_inactive_lock));
1900 VERIFY3P(ds->ds_owner, ==, zfsvfs);
1906 zfsvfs->z_os = os;
1909 rw_exit(&zfsvfs->z_teardown_inactive_lock);
1910 ZFS_TEARDOWN_EXIT(zfsvfs, FTAG);
1915 (void) zfs_umount(zfsvfs->z_sb);
1916 zfsvfs->z_unmounted = B_TRUE;
1926 zfs_exit_fs(zfsvfs_t *zfsvfs)
1928 if (!zfsvfs->z_issnap)
1931 if (time_after(jiffies, zfsvfs->z_snap_defer_time +
1933 zfsvfs->z_snap_defer_time = jiffies;
1934 zfsctl_snapshot_unmount_delay(zfsvfs->z_os->os_spa,
1935 dmu_objset_id(zfsvfs->z_os),
1941 zfs_set_version(zfsvfs_t *zfsvfs, uint64_t newvers)
1944 objset_t *os = zfsvfs->z_os;
1950 if (newvers < zfsvfs->z_version)
1954 spa_version(dmu_objset_spa(zfsvfs->z_os)))
1959 if (newvers >= ZPL_VERSION_SA && !zfsvfs->z_use_sa) {
1978 if (newvers >= ZPL_VERSION_SA && !zfsvfs->z_use_sa) {
1981 ASSERT3U(spa_version(dmu_objset_spa(zfsvfs->z_os)), >=,
1995 "from %llu to %llu", zfsvfs->z_version, newvers);
1999 zfsvfs->z_version = newvers;
2002 zfs_set_fuid_feature(zfsvfs);
2034 * virtue of zfsvfs->z_sb->s_op->show_devname.