Lines Matching defs:vfsp

92 static int zfs_mount(vfs_t *vfsp);
93 static int zfs_umount(vfs_t *vfsp, int fflag);
94 static int zfs_root(vfs_t *vfsp, int flags, vnode_t **vpp);
95 static int zfs_statfs(vfs_t *vfsp, struct statfs *statp);
96 static int zfs_vget(vfs_t *vfsp, ino_t ino, int flags, vnode_t **vpp);
97 static int zfs_sync(vfs_t *vfsp, int waitfor);
98 static int zfs_checkexp(vfs_t *vfsp, struct sockaddr *nam, int *extflagsp,
100 static int zfs_fhtovp(vfs_t *vfsp, fid_t *fidp, int flags, vnode_t **vpp);
102 static void zfs_freevfs(vfs_t *vfsp);
126 zfs_sync(vfs_t *vfsp, int waitfor)
136 if (vfsp != NULL) {
140 zfsvfs_t *zfsvfs = vfsp->vfs_data;
144 error = vfs_stdsync(vfsp, waitfor);
387 zfs_register_callbacks(vfs_t *vfsp)
409 ASSERT(vfsp);
410 zfsvfs = vfsp->vfs_data;
427 if (vfs_optionisset(vfsp, MNTOPT_RO, NULL) ||
431 } else if (vfs_optionisset(vfsp, MNTOPT_RW, NULL)) {
435 if (vfs_optionisset(vfsp, MNTOPT_NOSUID, NULL)) {
439 if (vfs_optionisset(vfsp, MNTOPT_NOSETUID, NULL)) {
442 } else if (vfs_optionisset(vfsp, MNTOPT_SETUID, NULL)) {
447 if (vfs_optionisset(vfsp, MNTOPT_NOEXEC, NULL)) {
450 } else if (vfs_optionisset(vfsp, MNTOPT_EXEC, NULL)) {
454 if (vfs_optionisset(vfsp, MNTOPT_NOXATTR, NULL)) {
457 } else if (vfs_optionisset(vfsp, MNTOPT_XATTR, NULL)) {
461 if (vfs_optionisset(vfsp, MNTOPT_NOATIME, NULL)) {
464 } else if (vfs_optionisset(vfsp, MNTOPT_ATIME, NULL)) {
476 if (vfs_optionisset(vfsp, MNTOPT_NONBMAND, NULL)) {
478 } else if (vfs_optionisset(vfsp, MNTOPT_NBMAND, NULL)) {
1140 zfs_domount(vfs_t *vfsp, char *osname)
1147 ASSERT(vfsp);
1153 zfsvfs->z_vfs = vfsp;
1157 vfsp->vfs_bcount = 0;
1158 vfsp->vfs_data = NULL;
1173 vfsp->vfs_data = zfsvfs;
1174 vfsp->mnt_flag |= MNT_LOCAL;
1175 vfsp->mnt_kern_flag |= MNTK_MPSAFE;
1176 vfsp->mnt_kern_flag |= MNTK_LOOKUP_SHARED;
1177 vfsp->mnt_kern_flag |= MNTK_SHARED_WRITES;
1178 vfsp->mnt_kern_flag |= MNTK_EXTENDED_SHARED;
1190 vfsp->vfs_fsid.val[0] = fsid_guid;
1191 vfsp->vfs_fsid.val[1] = ((fsid_guid>>32) << 8) |
1192 vfsp->mnt_vfc->vfc_typenum & 0xFF;
1199 vfs_set_feature(vfsp, VFSFT_DIRENTFLAGS);
1200 vfs_set_feature(vfsp, VFSFT_CASEINSENSITIVE);
1201 vfs_set_feature(vfsp, VFSFT_NOCASESENSITIVE);
1203 vfs_set_feature(vfsp, VFSFT_DIRENTFLAGS);
1204 vfs_set_feature(vfsp, VFSFT_CASEINSENSITIVE);
1206 vfs_set_feature(vfsp, VFSFT_ZEROCOPY_SUPPORTED);
1226 vfs_mountedfrom(vfsp, osname);
1228 VERIFY(VFS_ROOT(vfsp, LK_EXCLUSIVE, &vp) == 0);
1379 zfs_mount_label_policy(vfs_t *vfsp, char *osname)
1415 mntzone = zone_find_by_any_path(refstr_value(vfsp->vfs_mntpt), B_FALSE);
1463 vfs_setmntopt(vfsp, MNTOPT_RO, NULL, 0);
1476 zfs_mountroot(vfs_t *vfsp, enum whymountroot why)
1486 ASSERT(vfsp);
1528 if (error = vfs_lock(vfsp))
1531 if (error = zfs_domount(vfsp, rootfs.bo_name)) {
1536 zfsvfs = (zfsvfs_t *)vfsp->vfs_data;
1553 vfs_add((struct vnode *)0, vfsp,
1554 (vfsp->vfs_flag & VFS_RDONLY) ? MS_RDONLY : 0);
1556 vfs_unlock(vfsp);
1559 readonly_changed_cb(vfsp->vfs_data, B_FALSE);
1560 vfsp->vfs_flag |= VFS_REMOUNT;
1563 zfs_unregister_callbacks(vfsp->vfs_data);
1564 return (zfs_register_callbacks(vfsp));
1567 zfs_unregister_callbacks((zfsvfs_t *)vfsp->vfs_data);
1568 (void) zfs_sync(vfsp, 0, 0);
1601 zfs_mount(vfs_t *vfsp)
1604 vnode_t *mvp = vfsp->mnt_vnodecovered;
1634 if (vfs_getopt(vfsp->mnt_optnew, "from", (void **)&osname, NULL))
1644 secpolicy_fs_mount_clearopts(cr, vfsp);
1653 error = secpolicy_fs_mount(cr, mvp, vfsp);
1658 if (!(vfsp->vfs_flag & MS_REMOUNT)) {
1682 secpolicy_fs_mount_clearopts(cr, vfsp);
1696 error = zfs_mount_label_policy(vfsp, osname);
1701 vfsp->vfs_flag |= MNT_NFS4ACLS;
1707 if (vfsp->vfs_flag & MS_REMOUNT) {
1709 zfs_unregister_callbacks(vfsp->vfs_data);
1710 error = zfs_register_callbacks(vfsp);
1715 if ((vfsp->vfs_flag & MNT_ROOTFS) != 0 &&
1716 (vfsp->vfs_flag & MNT_UPDATE) == 0) {
1726 error = zfs_domount(vfsp, osname);
1734 if (error == 0 && ((zfsvfs_t *)vfsp->vfs_data)->z_issnap)
1743 zfs_statfs(vfs_t *vfsp, struct statfs *statp)
1745 zfsvfs_t *zfsvfs = vfsp->vfs_data;
1789 strlcpy(statp->f_mntfromname, vfsp->mnt_stat.f_mntfromname,
1791 strlcpy(statp->f_mntonname, vfsp->mnt_stat.f_mntonname,
1801 zfs_root(vfs_t *vfsp, int flags, vnode_t **vpp)
1803 zfsvfs_t *zfsvfs = vfsp->vfs_data;
1841 * We purge the parent filesystem's vfsp as the parent
1843 * v_vfsp set to the parent's filesystem's vfsp. Note,
1927 zfs_umount(vfs_t *vfsp, int fflag)
1930 zfsvfs_t *zfsvfs = vfsp->vfs_data;
1935 ret = secpolicy_fs_unmount(cr, vfsp);
1937 if (dsl_deleg_access((char *)refstr_value(vfsp->vfs_resource),
1943 * We purge the parent filesystem's vfsp as the parent filesystem
1945 * parent's filesystem's vfsp. Note, 'z_parent' is self
1955 if ((ret = zfsctl_umount_snapshots(vfsp, fflag, cr)) != 0)
1957 ret = vflush(vfsp, 0, 0, td);
1982 ret = vflush(vfsp, 1, (fflag & MS_FORCE) ? FORCECLOSE : 0, td);
2004 if (vfsp->vfs_count > 1)
2007 if (vfsp->vfs_count > 2 ||
2041 vnode_t *svp = vfsp->mnt_vnodecovered;
2046 zfs_freevfs(vfsp);
2052 zfs_vget(vfs_t *vfsp, ino_t ino, int flags, vnode_t **vpp)
2054 zfsvfs_t *zfsvfs = vfsp->vfs_data;
2086 zfs_checkexp(vfs_t *vfsp, struct sockaddr *nam, int *extflagsp,
2089 zfsvfs_t *zfsvfs = vfsp->vfs_data;
2092 * If this is regular file system vfsp is the same as
2106 zfs_fhtovp(vfs_t *vfsp, fid_t *fidp, int flags, vnode_t **vpp)
2108 zfsvfs_t *zfsvfs = vfsp->vfs_data;
2137 err = zfsctl_lookup_objset(vfsp, objsetid, &zfsvfs);
2314 zfs_freevfs(vfs_t *vfsp)
2316 zfsvfs_t *zfsvfs = vfsp->vfs_data;
2325 if (zfsvfs->z_issnap && (vfsp != rootvfs))