zfs: add missing fplookup vops
Some vnodes come with a hack which inherits the fplookup flag despite having vops which don't provide the routine. Reported by: YAMAMOTO Shigeru <shigeru@os-hackers.jp>
This commit is contained in:
parent
214eccf4b6
commit
b820822823
@ -798,6 +798,7 @@ zfsctl_common_getacl(struct vop_getacl_args *ap)
|
||||
|
||||
static struct vop_vector zfsctl_ops_root = {
|
||||
.vop_default = &default_vnodeops,
|
||||
.vop_fplookup_vexec = VOP_EAGAIN,
|
||||
.vop_open = zfsctl_common_open,
|
||||
.vop_close = zfsctl_common_close,
|
||||
.vop_ioctl = VOP_EINVAL,
|
||||
@ -1115,6 +1116,7 @@ zfsctl_snapdir_getattr(struct vop_getattr_args *ap)
|
||||
|
||||
static struct vop_vector zfsctl_ops_snapdir = {
|
||||
.vop_default = &default_vnodeops,
|
||||
.vop_fplookup_vexec = VOP_EAGAIN,
|
||||
.vop_open = zfsctl_common_open,
|
||||
.vop_close = zfsctl_common_close,
|
||||
.vop_getattr = zfsctl_snapdir_getattr,
|
||||
@ -1216,6 +1218,7 @@ zfsctl_snapshot_vptocnp(struct vop_vptocnp_args *ap)
|
||||
*/
|
||||
static struct vop_vector zfsctl_ops_snapshot = {
|
||||
.vop_default = NULL, /* ensure very restricted access */
|
||||
.vop_fplookup_vexec = VOP_EAGAIN,
|
||||
.vop_inactive = zfsctl_snapshot_inactive,
|
||||
#if __FreeBSD_version >= 1300045
|
||||
.vop_need_inactive = vop_stdneed_inactive,
|
||||
|
@ -6619,6 +6619,7 @@ VFS_VOP_VECTOR_REGISTER(zfs_fifoops);
|
||||
*/
|
||||
struct vop_vector zfs_shareops = {
|
||||
.vop_default = &default_vnodeops,
|
||||
.vop_fplookup_vexec = VOP_EAGAIN,
|
||||
.vop_access = zfs_freebsd_access,
|
||||
.vop_inactive = zfs_freebsd_inactive,
|
||||
.vop_reclaim = zfs_freebsd_reclaim,
|
||||
|
Loading…
Reference in New Issue
Block a user