Changeset View
Changeset View
Standalone View
Standalone View
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
Show First 20 Lines • Show All 95 Lines • ▼ Show 20 Lines | |||||
static int zfs_quotactl(vfs_t *vfsp, int cmds, uid_t id, void *arg); | static int zfs_quotactl(vfs_t *vfsp, int cmds, uid_t id, void *arg); | ||||
static int zfs_mount(vfs_t *vfsp); | static int zfs_mount(vfs_t *vfsp); | ||||
static int zfs_umount(vfs_t *vfsp, int fflag); | static int zfs_umount(vfs_t *vfsp, int fflag); | ||||
static int zfs_root(vfs_t *vfsp, int flags, vnode_t **vpp); | static int zfs_root(vfs_t *vfsp, int flags, vnode_t **vpp); | ||||
static int zfs_statfs(vfs_t *vfsp, struct statfs *statp); | static int zfs_statfs(vfs_t *vfsp, struct statfs *statp); | ||||
static int zfs_vget(vfs_t *vfsp, ino_t ino, int flags, vnode_t **vpp); | static int zfs_vget(vfs_t *vfsp, ino_t ino, int flags, vnode_t **vpp); | ||||
static int zfs_sync(vfs_t *vfsp, int waitfor); | static int zfs_sync(vfs_t *vfsp, int waitfor); | ||||
static int zfs_checkexp(vfs_t *vfsp, struct sockaddr *nam, int *extflagsp, | static int zfs_checkexp(vfs_t *vfsp, struct sockaddr *nam, uint64_t *extflagsp, | ||||
struct ucred **credanonp, int *numsecflavors, int **secflavors); | struct ucred **credanonp, int *numsecflavors, int *secflavors); | ||||
static int zfs_fhtovp(vfs_t *vfsp, fid_t *fidp, int flags, vnode_t **vpp); | static int zfs_fhtovp(vfs_t *vfsp, fid_t *fidp, int flags, vnode_t **vpp); | ||||
static void zfs_objset_close(zfsvfs_t *zfsvfs); | static void zfs_objset_close(zfsvfs_t *zfsvfs); | ||||
static void zfs_freevfs(vfs_t *vfsp); | static void zfs_freevfs(vfs_t *vfsp); | ||||
struct vfsops zfs_vfsops = { | struct vfsops zfs_vfsops = { | ||||
.vfs_mount = zfs_mount, | .vfs_mount = zfs_mount, | ||||
.vfs_unmount = zfs_umount, | .vfs_unmount = zfs_umount, | ||||
.vfs_root = vfs_cache_root, | .vfs_root = vfs_cache_root, | ||||
▲ Show 20 Lines • Show All 2,149 Lines • ▼ Show 20 Lines | if (err != 0) | ||||
vrele(*vpp); | vrele(*vpp); | ||||
} | } | ||||
if (err != 0) | if (err != 0) | ||||
*vpp = NULL; | *vpp = NULL; | ||||
return (err); | return (err); | ||||
} | } | ||||
static int | static int | ||||
zfs_checkexp(vfs_t *vfsp, struct sockaddr *nam, int *extflagsp, | zfs_checkexp(vfs_t *vfsp, struct sockaddr *nam, uint64_t *extflagsp, | ||||
struct ucred **credanonp, int *numsecflavors, int **secflavors) | struct ucred **credanonp, int *numsecflavors, int *secflavors) | ||||
{ | { | ||||
zfsvfs_t *zfsvfs = vfsp->vfs_data; | zfsvfs_t *zfsvfs = vfsp->vfs_data; | ||||
/* | /* | ||||
* If this is regular file system vfsp is the same as | * If this is regular file system vfsp is the same as | ||||
* zfsvfs->z_parent->z_vfs, but if it is snapshot, | * zfsvfs->z_parent->z_vfs, but if it is snapshot, | ||||
* zfsvfs->z_parent->z_vfs represents parent file system | * zfsvfs->z_parent->z_vfs represents parent file system | ||||
* which we have to use here, because only this file system | * which we have to use here, because only this file system | ||||
▲ Show 20 Lines • Show All 516 Lines • Show Last 20 Lines |