Changeset View
Changeset View
Standalone View
Standalone View
sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c
Show First 20 Lines • Show All 1,147 Lines • ▼ Show 20 Lines | |||||
VFS_VOP_VECTOR_REGISTER(zfsctl_ops_snapdir); | VFS_VOP_VECTOR_REGISTER(zfsctl_ops_snapdir); | ||||
static int | static int | ||||
zfsctl_snapshot_inactive(struct vop_inactive_args *ap) | zfsctl_snapshot_inactive(struct vop_inactive_args *ap) | ||||
{ | { | ||||
vnode_t *vp = ap->a_vp; | vnode_t *vp = ap->a_vp; | ||||
VERIFY3S(vrecycle(vp), ==, 1); | vrecycle(vp); | ||||
return (0); | return (0); | ||||
} | } | ||||
static int | static int | ||||
zfsctl_snapshot_reclaim(struct vop_reclaim_args *ap) | zfsctl_snapshot_reclaim(struct vop_reclaim_args *ap) | ||||
{ | { | ||||
vnode_t *vp = ap->a_vp; | vnode_t *vp = ap->a_vp; | ||||
void *data = vp->v_data; | void *data = vp->v_data; | ||||
▲ Show 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | |||||
* These VP's should never see the light of day. They should always | * These VP's should never see the light of day. They should always | ||||
* be covered. | * be covered. | ||||
*/ | */ | ||||
static struct vop_vector zfsctl_ops_snapshot = { | static struct vop_vector zfsctl_ops_snapshot = { | ||||
.vop_default = NULL, /* ensure very restricted access */ | .vop_default = NULL, /* ensure very restricted access */ | ||||
#if __FreeBSD_version >= 1300121 | #if __FreeBSD_version >= 1300121 | ||||
.vop_fplookup_vexec = VOP_EAGAIN, | .vop_fplookup_vexec = VOP_EAGAIN, | ||||
#endif | #endif | ||||
.vop_open = zfsctl_common_open, | |||||
.vop_close = zfsctl_common_close, | |||||
.vop_inactive = zfsctl_snapshot_inactive, | .vop_inactive = zfsctl_snapshot_inactive, | ||||
#if __FreeBSD_version >= 1300045 | #if __FreeBSD_version >= 1300045 | ||||
.vop_need_inactive = vop_stdneed_inactive, | .vop_need_inactive = vop_stdneed_inactive, | ||||
#endif | #endif | ||||
.vop_reclaim = zfsctl_snapshot_reclaim, | .vop_reclaim = zfsctl_snapshot_reclaim, | ||||
.vop_vptocnp = zfsctl_snapshot_vptocnp, | .vop_vptocnp = zfsctl_snapshot_vptocnp, | ||||
.vop_lock1 = vop_stdlock, | .vop_lock1 = vop_stdlock, | ||||
.vop_unlock = vop_stdunlock, | .vop_unlock = vop_stdunlock, | ||||
▲ Show 20 Lines • Show All 127 Lines • Show Last 20 Lines |