summaryrefslogtreecommitdiff
path: root/sys/kern/vfs_default.c
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2004-12-01 23:16:38 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2004-12-01 23:16:38 +0000
commitaec0fb7b40e4cf877bea663f2d86dd07c3524fe8 (patch)
treef548d86b8998e8d581602fc54079bbb1534e7c18 /sys/kern/vfs_default.c
parent3a36dacc929d26949dd9d5d1f241e3e58913f52c (diff)
Notes
Diffstat (limited to 'sys/kern/vfs_default.c')
-rw-r--r--sys/kern/vfs_default.c67
1 files changed, 25 insertions, 42 deletions
diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c
index fe36724dd23e..e122077cf7e4 100644
--- a/sys/kern/vfs_default.c
+++ b/sys/kern/vfs_default.c
@@ -70,40 +70,33 @@ static int vop_nostrategy(struct vop_strategy_args *);
*
*/
-vop_t **default_vnodeop_p;
-static struct vnodeopv_entry_desc default_vnodeop_entries[] = {
- { &vop_default_desc, (vop_t *) vop_eopnotsupp },
- { &vop_advlock_desc, (vop_t *) vop_einval },
- { &vop_bmap_desc, (vop_t *) vop_stdbmap },
- { &vop_close_desc, (vop_t *) vop_null },
- { &vop_createvobject_desc, (vop_t *) vop_stdcreatevobject },
- { &vop_destroyvobject_desc, (vop_t *) vop_stddestroyvobject },
- { &vop_fsync_desc, (vop_t *) vop_null },
- { &vop_getpages_desc, (vop_t *) vop_stdgetpages },
- { &vop_getvobject_desc, (vop_t *) vop_stdgetvobject },
- { &vop_getwritemount_desc, (vop_t *) vop_stdgetwritemount },
- { &vop_inactive_desc, (vop_t *) vop_stdinactive },
- { &vop_ioctl_desc, (vop_t *) vop_enotty },
- { &vop_islocked_desc, (vop_t *) vop_stdislocked },
- { &vop_lease_desc, (vop_t *) vop_null },
- { &vop_lock_desc, (vop_t *) vop_stdlock },
- { &vop_lookup_desc, (vop_t *) vop_nolookup },
- { &vop_open_desc, (vop_t *) vop_null },
- { &vop_pathconf_desc, (vop_t *) vop_einval },
- { &vop_poll_desc, (vop_t *) vop_nopoll },
- { &vop_putpages_desc, (vop_t *) vop_stdputpages },
- { &vop_readlink_desc, (vop_t *) vop_einval },
- { &vop_revoke_desc, (vop_t *) vop_panic },
- { &vop_strategy_desc, (vop_t *) vop_nostrategy },
- { &vop_unlock_desc, (vop_t *) vop_stdunlock },
- { NULL, NULL }
+struct vop_vector default_vnodeops = {
+ .vop_default = NULL,
+ .vop_advlock = VOP_EINVAL,
+ .vop_bmap = vop_stdbmap,
+ .vop_close = VOP_NULL,
+ .vop_createvobject = vop_stdcreatevobject,
+ .vop_destroyvobject = vop_stddestroyvobject,
+ .vop_fsync = VOP_NULL,
+ .vop_getpages = vop_stdgetpages,
+ .vop_getvobject = vop_stdgetvobject,
+ .vop_getwritemount = vop_stdgetwritemount,
+ .vop_inactive = vop_stdinactive,
+ .vop_ioctl = VOP_ENOTTY,
+ .vop_islocked = vop_stdislocked,
+ .vop_lease = VOP_NULL,
+ .vop_lock = vop_stdlock,
+ .vop_lookup = vop_nolookup,
+ .vop_open = VOP_NULL,
+ .vop_pathconf = VOP_EINVAL,
+ .vop_poll = vop_nopoll,
+ .vop_putpages = vop_stdputpages,
+ .vop_readlink = VOP_EINVAL,
+ .vop_revoke = VOP_PANIC,
+ .vop_strategy = vop_nostrategy,
+ .vop_unlock = vop_stdunlock,
};
-static struct vnodeopv_desc default_vnodeop_opv_desc =
- { &default_vnodeop_p, default_vnodeop_entries };
-
-VNODEOP_SET(default_vnodeop_opv_desc);
-
/*
* Series of placeholder functions for various error returns for
* VOPs.
@@ -148,16 +141,6 @@ vop_null(struct vop_generic_args *ap)
}
/*
- * Used to make a defined VOP fall back to the default VOP.
- */
-int
-vop_defaultop(struct vop_generic_args *ap)
-{
-
- return (VOCALL(default_vnodeop_p, ap->a_desc->vdesc_offset, ap));
-}
-
-/*
* Helper function to panic on some bad VOPs in some filesystems.
*/
int