diff options
author | 2010-09-10 16:34:08 +0000 | |
---|---|---|
committer | 2010-09-10 16:34:08 +0000 | |
commit | 074ac62c2c4f52138e58862efa0f743a49ab8d59 (patch) | |
tree | 94ea3e65216abe10ecb0122e60d03cbc42eb49df /sys/kern/spec_vnops.c | |
parent | Add infrastructure to build GCC 4.2.1 for OpenBSD/mips64. Only tested on (diff) | |
download | wireguard-openbsd-074ac62c2c4f52138e58862efa0f743a49ab8d59.tar.xz wireguard-openbsd-074ac62c2c4f52138e58862efa0f743a49ab8d59.zip |
Backout the VOP diff until the issues naddy was seeing on alpha (gcc3)
have been resolved.
Diffstat (limited to 'sys/kern/spec_vnops.c')
-rw-r--r-- | sys/kern/spec_vnops.c | 88 |
1 files changed, 50 insertions, 38 deletions
diff --git a/sys/kern/spec_vnops.c b/sys/kern/spec_vnops.c index 2b613924840..c969db0348e 100644 --- a/sys/kern/spec_vnops.c +++ b/sys/kern/spec_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: spec_vnops.c,v 1.59 2010/09/06 23:44:10 thib Exp $ */ +/* $OpenBSD: spec_vnops.c,v 1.60 2010/09/10 16:34:08 thib Exp $ */ /* $NetBSD: spec_vnops.c,v 1.29 1996/04/22 01:42:38 christos Exp $ */ /* @@ -56,44 +56,56 @@ struct vnode *speclisth[SPECHSZ]; -struct vops spec_vops = { - .vop_default = eopnotsupp, - .vop_lookup = vop_generic_lookup, - .vop_create = spec_badop, - .vop_mknod = spec_badop, - .vop_open = spec_open, - .vop_close = spec_close, - .vop_access = spec_access, - .vop_getattr = spec_getattr, - .vop_setattr = spec_setattr, - .vop_read = spec_read, - .vop_write = spec_write, - .vop_ioctl = spec_ioctl, - .vop_poll = spec_poll, - .vop_kqfilter = spec_kqfilter, - .vop_revoke = vop_generic_revoke, - .vop_fsync = spec_fsync, - .vop_remove = spec_badop, - .vop_link = spec_badop, - .vop_rename = spec_badop, - .vop_mkdir = spec_badop, - .vop_rmdir = spec_badop, - .vop_symlink = spec_badop, - .vop_readdir = spec_badop, - .vop_readlink = spec_badop, - .vop_abortop = spec_badop, - .vop_inactive = spec_inactive, - .vop_reclaim = nullop, - .vop_lock = vop_generic_lock, - .vop_unlock = vop_generic_unlock, - .vop_islocked = vop_generic_islocked, - .vop_bmap = vop_generic_bmap, - .vop_strategy = spec_strategy, - .vop_print = spec_print, - .vop_pathconf = spec_pathconf, - .vop_advlock = spec_advlock, - .vop_bwrite = vop_generic_bwrite, +int (**spec_vnodeop_p)(void *); +struct vnodeopv_entry_desc spec_vnodeop_entries[] = { + { &vop_default_desc, eopnotsupp }, + { &vop_lookup_desc, vop_generic_lookup }, + { &vop_create_desc, spec_badop }, + { &vop_mknod_desc, spec_badop }, + { &vop_open_desc, spec_open }, + { &vop_close_desc, spec_close }, + { &vop_access_desc, spec_access }, + { &vop_getattr_desc, spec_getattr }, + { &vop_setattr_desc, spec_setattr }, + { &vop_read_desc, spec_read }, + { &vop_write_desc, spec_write }, + { &vop_ioctl_desc, spec_ioctl }, + { &vop_poll_desc, spec_poll }, + { &vop_kqfilter_desc, spec_kqfilter }, + { &vop_revoke_desc, vop_generic_revoke }, + { &vop_fsync_desc, spec_fsync }, + { &vop_remove_desc, spec_badop }, + { &vop_link_desc, spec_badop }, + { &vop_rename_desc, spec_badop }, + { &vop_mkdir_desc, spec_badop }, + { &vop_rmdir_desc, spec_badop }, + { &vop_symlink_desc, spec_badop }, + { &vop_readdir_desc, spec_badop }, + { &vop_readlink_desc, spec_badop }, + { &vop_abortop_desc, spec_badop }, + { &vop_inactive_desc, spec_inactive }, + { &vop_reclaim_desc, nullop }, + { &vop_lock_desc, vop_generic_lock }, + { &vop_unlock_desc, vop_generic_unlock }, + { &vop_bmap_desc, vop_generic_bmap }, + { &vop_strategy_desc, spec_strategy }, + { &vop_print_desc, spec_print }, + { &vop_islocked_desc, vop_generic_islocked }, + { &vop_pathconf_desc, spec_pathconf }, + { &vop_advlock_desc, spec_advlock }, + { &vop_bwrite_desc, vop_generic_bwrite }, + { NULL, NULL } }; +struct vnodeopv_desc spec_vnodeop_opv_desc = + { &spec_vnodeop_p, spec_vnodeop_entries }; + +int +spec_vnoperate(void *v) +{ + struct vop_generic_args *ap = v; + + return (VOCALL(spec_vnodeop_p, ap->a_desc->vdesc_offset, ap)); +} /* * Open a special file. |