vnops megacommit

1.  Use the default function to access all the specfs operations.
2.  Use the default function to access all the fifofs operations.
3.  Use the default function to access all the ufs operations.
4.  Fix VCALL usage in vfs_cache.c
5.  Use VOCALL to access specfs functions in devfs_vnops.c
6.  Staticize most of the spec and fifofs vnops functions.
7.  Make UFS panic if it lacks bits of the underlying storage handling.
This commit is contained in:
Poul-Henning Kamp 1997-10-15 13:24:07 +00:00
parent 28185a1971
commit 138ec1f71a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=30439
20 changed files with 490 additions and 1029 deletions

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95
* $Id: cd9660_vnops.c,v 1.41 1997/10/15 09:20:47 phk Exp $
* $Id: cd9660_vnops.c,v 1.42 1997/10/15 10:03:58 phk Exp $
*/
#include <sys/param.h>
@ -1050,49 +1050,18 @@ VNODEOP_SET(cd9660_vnodeop_opv_desc);
*/
vop_t **cd9660_specop_p;
struct vnodeopv_entry_desc cd9660_specop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_blkatoff },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) spec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_fsync_desc, (vop_t *) spec_fsync },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
{ &vop_lease_desc, (vop_t *) spec_lease_check },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) cd9660_lock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) cd9660_print },
{ &vop_read_desc, (vop_t *) spec_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_revoke_desc, (vop_t *) spec_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_symlink },
{ &vop_truncate_desc, (vop_t *) spec_truncate },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
{ &vop_update_desc, (vop_t *) cd9660_update },
{ &vop_valloc_desc, (vop_t *) spec_valloc },
{ &vop_vfree_desc, (vop_t *) spec_vfree },
{ &vop_write_desc, (vop_t *) spec_write },
{ NULL, NULL }
};
static struct vnodeopv_desc cd9660_specop_opv_desc =
@ -1101,49 +1070,18 @@ VNODEOP_SET(cd9660_specop_opv_desc);
vop_t **cd9660_fifoop_p;
struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fifo_abortop },
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_blkatoff_desc, (vop_t *) fifo_blkatoff },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) fifo_close },
{ &vop_create_desc, (vop_t *) fifo_create },
{ &vop_fsync_desc, (vop_t *) fifo_fsync },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
{ &vop_ioctl_desc, (vop_t *) fifo_ioctl },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
{ &vop_lease_desc, (vop_t *) fifo_lease_check },
{ &vop_link_desc, (vop_t *) fifo_link },
{ &vop_lock_desc, (vop_t *) cd9660_lock },
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &vop_mkdir_desc, (vop_t *) fifo_mkdir },
{ &vop_mknod_desc, (vop_t *) fifo_mknod },
{ &vop_mmap_desc, (vop_t *) fifo_mmap },
{ &vop_open_desc, (vop_t *) fifo_open },
{ &vop_pathconf_desc, (vop_t *) fifo_pathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) cd9660_print },
{ &vop_read_desc, (vop_t *) fifo_read },
{ &vop_readdir_desc, (vop_t *) fifo_readdir },
{ &vop_readlink_desc, (vop_t *) fifo_readlink },
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
{ &vop_remove_desc, (vop_t *) fifo_remove },
{ &vop_rename_desc, (vop_t *) fifo_rename },
{ &vop_revoke_desc, (vop_t *) fifo_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_rmdir },
{ &vop_seek_desc, (vop_t *) fifo_seek },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_strategy_desc, (vop_t *) fifo_strategy },
{ &vop_symlink_desc, (vop_t *) fifo_symlink },
{ &vop_truncate_desc, (vop_t *) fifo_truncate },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
{ &vop_update_desc, (vop_t *) cd9660_update },
{ &vop_valloc_desc, (vop_t *) fifo_valloc },
{ &vop_vfree_desc, (vop_t *) fifo_vfree },
{ &vop_write_desc, (vop_t *) fifo_write },
{ NULL, NULL }
};
static struct vnodeopv_desc cd9660_fifoop_opv_desc =

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)fifo.h 8.6 (Berkeley) 5/21/95
* $Id: fifo.h,v 1.13 1997/02/22 09:40:17 peter Exp $
* $Id: fifo.h,v 1.14 1997/09/14 02:57:51 peter Exp $
*/
extern vop_t **fifo_vnodeop_p;
@ -39,48 +39,6 @@ extern vop_t **fifo_vnodeop_p;
/*
* Prototypes for fifo operations on vnodes.
*/
int fifo_badop __P((void));
int fifo_vnoperate __P((struct vop_generic_args *));
int fifo_printinfo __P((struct vnode *));
int fifo_lookup __P((struct vop_lookup_args *));
#define fifo_create ((int (*) __P((struct vop_create_args *)))fifo_badop)
#define fifo_mknod ((int (*) __P((struct vop_mknod_args *)))fifo_badop)
int fifo_open __P((struct vop_open_args *));
int fifo_close __P((struct vop_close_args *));
#define fifo_access ((int (*) __P((struct vop_access_args *)))fifo_ebadf)
#define fifo_getattr ((int (*) __P((struct vop_getattr_args *)))fifo_ebadf)
#define fifo_setattr ((int (*) __P((struct vop_setattr_args *)))fifo_ebadf)
int fifo_read __P((struct vop_read_args *));
int fifo_write __P((struct vop_write_args *));
#define fifo_lease_check ((int (*) __P((struct vop_lease_args *)))nullop)
int fifo_ioctl __P((struct vop_ioctl_args *));
int fifo_poll __P((struct vop_poll_args *));
#define fifo_revoke vop_revoke
#define fifo_mmap ((int (*) __P((struct vop_mmap_args *)))fifo_badop)
#define fifo_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define fifo_seek ((int (*) __P((struct vop_seek_args *)))fifo_badop)
#define fifo_remove ((int (*) __P((struct vop_remove_args *)))fifo_badop)
#define fifo_link ((int (*) __P((struct vop_link_args *)))fifo_badop)
#define fifo_rename ((int (*) __P((struct vop_rename_args *)))fifo_badop)
#define fifo_mkdir ((int (*) __P((struct vop_mkdir_args *)))fifo_badop)
#define fifo_rmdir ((int (*) __P((struct vop_rmdir_args *)))fifo_badop)
#define fifo_symlink ((int (*) __P((struct vop_symlink_args *)))fifo_badop)
#define fifo_readdir ((int (*) __P((struct vop_readdir_args *)))fifo_badop)
#define fifo_readlink ((int (*) __P((struct vop_readlink_args *)))fifo_badop)
#define fifo_abortop ((int (*) __P((struct vop_abortop_args *)))fifo_badop)
int fifo_inactive __P((struct vop_inactive_args *));
#define fifo_reclaim ((int (*) __P((struct vop_reclaim_args *)))nullop)
#define fifo_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define fifo_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
int fifo_bmap __P((struct vop_bmap_args *));
#define fifo_strategy ((int (*) __P((struct vop_strategy_args *)))fifo_badop)
#define fifo_islocked ((int(*) __P((struct vop_islocked_args *)))vop_noislocked)
int fifo_pathconf __P((struct vop_pathconf_args *));
int fifo_advlock __P((struct vop_advlock_args *));
#define fifo_blkatoff ((int (*) __P((struct vop_blkatoff_args *)))fifo_badop)
#define fifo_valloc ((int (*) __P((struct vop_valloc_args *)))fifo_badop)
#define fifo_reallocblks \
((int (*) __P((struct vop_reallocblks_args *)))fifo_badop)
#define fifo_vfree ((int (*) __P((struct vop_vfree_args *)))fifo_badop)
#define fifo_truncate ((int (*) __P((struct vop_truncate_args *)))nullop)
#define fifo_update ((int (*) __P((struct vop_update_args *)))nullop)
#define fifo_bwrite ((int (*) __P((struct vop_bwrite_args *)))nullop)

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)fifo_vnops.c 8.10 (Berkeley) 5/27/95
* $Id: fifo_vnops.c,v 1.29 1997/10/15 09:21:00 phk Exp $
* $Id: fifo_vnops.c,v 1.30 1997/10/15 10:04:18 phk Exp $
*/
#include <sys/param.h>
@ -61,52 +61,66 @@ struct fifoinfo {
};
static int fifo_ebadf __P((void));
static int fifo_badop __P((void));
static int fifo_print __P((struct vop_print_args *));
static int fifo_lookup __P((struct vop_lookup_args *));
static int fifo_open __P((struct vop_open_args *));
static int fifo_close __P((struct vop_close_args *));
static int fifo_read __P((struct vop_read_args *));
static int fifo_write __P((struct vop_write_args *));
static int fifo_ioctl __P((struct vop_ioctl_args *));
static int fifo_poll __P((struct vop_poll_args *));
static int fifo_inactive __P((struct vop_inactive_args *));
static int fifo_bmap __P((struct vop_bmap_args *));
static int fifo_pathconf __P((struct vop_pathconf_args *));
static int fifo_advlock __P((struct vop_advlock_args *));
vop_t **fifo_vnodeop_p;
static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fifo_abortop },
{ &vop_access_desc, (vop_t *) fifo_access },
{ &vop_abortop_desc, (vop_t *) fifo_badop },
{ &vop_access_desc, (vop_t *) fifo_ebadf },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_blkatoff_desc, (vop_t *) fifo_blkatoff },
{ &vop_blkatoff_desc, (vop_t *) fifo_badop },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) fifo_bwrite },
{ &vop_bwrite_desc, (vop_t *) nullop },
{ &vop_close_desc, (vop_t *) fifo_close },
{ &vop_create_desc, (vop_t *) fifo_create },
{ &vop_fsync_desc, (vop_t *) fifo_fsync },
{ &vop_getattr_desc, (vop_t *) fifo_getattr },
{ &vop_create_desc, (vop_t *) fifo_badop },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) fifo_ebadf },
{ &vop_inactive_desc, (vop_t *) fifo_inactive },
{ &vop_ioctl_desc, (vop_t *) fifo_ioctl },
{ &vop_islocked_desc, (vop_t *) fifo_islocked },
{ &vop_lease_desc, (vop_t *) fifo_lease_check },
{ &vop_link_desc, (vop_t *) fifo_link },
{ &vop_lock_desc, (vop_t *) fifo_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lease_desc, (vop_t *) nullop },
{ &vop_link_desc, (vop_t *) fifo_badop },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &vop_mkdir_desc, (vop_t *) fifo_mkdir },
{ &vop_mknod_desc, (vop_t *) fifo_mknod },
{ &vop_mmap_desc, (vop_t *) fifo_mmap },
{ &vop_mkdir_desc, (vop_t *) fifo_badop },
{ &vop_mknod_desc, (vop_t *) fifo_badop },
{ &vop_mmap_desc, (vop_t *) fifo_badop },
{ &vop_open_desc, (vop_t *) fifo_open },
{ &vop_pathconf_desc, (vop_t *) fifo_pathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) fifo_print },
{ &vop_read_desc, (vop_t *) fifo_read },
{ &vop_readdir_desc, (vop_t *) fifo_readdir },
{ &vop_readlink_desc, (vop_t *) fifo_readlink },
{ &vop_reclaim_desc, (vop_t *) fifo_reclaim },
{ &vop_remove_desc, (vop_t *) fifo_remove },
{ &vop_rename_desc, (vop_t *) fifo_rename },
{ &vop_revoke_desc, (vop_t *) fifo_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_rmdir },
{ &vop_seek_desc, (vop_t *) fifo_seek },
{ &vop_setattr_desc, (vop_t *) fifo_setattr },
{ &vop_strategy_desc, (vop_t *) fifo_strategy },
{ &vop_symlink_desc, (vop_t *) fifo_symlink },
{ &vop_truncate_desc, (vop_t *) fifo_truncate },
{ &vop_unlock_desc, (vop_t *) fifo_unlock },
{ &vop_update_desc, (vop_t *) fifo_update },
{ &vop_valloc_desc, (vop_t *) fifo_valloc },
{ &vop_vfree_desc, (vop_t *) fifo_vfree },
{ &vop_readdir_desc, (vop_t *) fifo_badop },
{ &vop_readlink_desc, (vop_t *) fifo_badop },
{ &vop_reallocblks_desc, (vop_t *) fifo_badop },
{ &vop_reclaim_desc, (vop_t *) nullop },
{ &vop_remove_desc, (vop_t *) fifo_badop },
{ &vop_rename_desc, (vop_t *) fifo_badop },
{ &vop_revoke_desc, (vop_t *) vop_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_badop },
{ &vop_seek_desc, (vop_t *) fifo_badop },
{ &vop_setattr_desc, (vop_t *) fifo_ebadf },
{ &vop_strategy_desc, (vop_t *) fifo_badop },
{ &vop_symlink_desc, (vop_t *) fifo_badop },
{ &vop_truncate_desc, (vop_t *) fifo_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_valloc_desc, (vop_t *) fifo_badop },
{ &vop_vfree_desc, (vop_t *) fifo_badop },
{ &vop_write_desc, (vop_t *) fifo_write },
{ NULL, NULL }
};
@ -115,11 +129,21 @@ static struct vnodeopv_desc fifo_vnodeop_opv_desc =
VNODEOP_SET(fifo_vnodeop_opv_desc);
int
fifo_vnoperate(ap)
struct vop_generic_args /* {
struct vnodeop_desc *a_desc;
<other random data follows, presumably>
} */ *ap;
{
return (VOCALL(fifo_vnodeop_p, ap->a_desc->vdesc_offset, ap));
}
/*
* Trivial lookup routine that always fails.
*/
/* ARGSUSED */
int
static int
fifo_lookup(ap)
struct vop_lookup_args /* {
struct vnode * a_dvp;
@ -137,7 +161,7 @@ fifo_lookup(ap)
* to find an active instance of a fifo.
*/
/* ARGSUSED */
int
static int
fifo_open(ap)
struct vop_open_args /* {
struct vnode *a_vp;
@ -236,7 +260,7 @@ fifo_open(ap)
* Vnode op for read
*/
/* ARGSUSED */
int
static int
fifo_read(ap)
struct vop_read_args /* {
struct vnode *a_vp;
@ -277,7 +301,7 @@ fifo_read(ap)
* Vnode op for write
*/
/* ARGSUSED */
int
static int
fifo_write(ap)
struct vop_write_args /* {
struct vnode *a_vp;
@ -309,7 +333,7 @@ fifo_write(ap)
* Device ioctl operation.
*/
/* ARGSUSED */
int
static int
fifo_ioctl(ap)
struct vop_ioctl_args /* {
struct vnode *a_vp;
@ -341,7 +365,7 @@ fifo_ioctl(ap)
}
/* ARGSUSED */
int
static int
fifo_poll(ap)
struct vop_poll_args /* {
struct vnode *a_vp;
@ -368,7 +392,7 @@ fifo_poll(ap)
return (revents);
}
int
static int
fifo_inactive(ap)
struct vop_inactive_args /* {
struct vnode *a_vp;
@ -383,7 +407,7 @@ fifo_inactive(ap)
/*
* This is a noop, simply returning what one has been given.
*/
int
static int
fifo_bmap(ap)
struct vop_bmap_args /* {
struct vnode *a_vp;
@ -410,7 +434,7 @@ fifo_bmap(ap)
* Device close routine
*/
/* ARGSUSED */
int
static int
fifo_close(ap)
struct vop_close_args /* {
struct vnode *a_vp;
@ -478,7 +502,7 @@ fifo_print(ap)
/*
* Return POSIX pathconf information applicable to fifo's.
*/
int
static int
fifo_pathconf(ap)
struct vop_pathconf_args /* {
struct vnode *a_vp;
@ -517,7 +541,7 @@ fifo_ebadf()
* Fifo advisory byte-level locks.
*/
/* ARGSUSED */
int
static int
fifo_advlock(ap)
struct vop_advlock_args /* {
struct vnode *a_vp;
@ -534,7 +558,7 @@ fifo_advlock(ap)
/*
* Fifo bad operation
*/
int
static int
fifo_badop()
{

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)spec_vnops.c 8.14 (Berkeley) 5/21/95
* $Id: spec_vnops.c,v 1.44 1997/10/15 09:21:22 phk Exp $
* $Id: spec_vnops.c,v 1.45 1997/10/15 10:04:43 phk Exp $
*/
#include <sys/param.h>
@ -60,53 +60,70 @@
static int spec_ebadf __P((void));
static int spec_getattr __P((struct vop_getattr_args *));
static int spec_badop __P((void));
static int spec_strategy __P((struct vop_strategy_args *));
static int spec_print __P((struct vop_print_args *));
static int spec_lookup __P((struct vop_lookup_args *));
static int spec_open __P((struct vop_open_args *));
static int spec_close __P((struct vop_close_args *));
static int spec_read __P((struct vop_read_args *));
static int spec_write __P((struct vop_write_args *));
static int spec_ioctl __P((struct vop_ioctl_args *));
static int spec_poll __P((struct vop_poll_args *));
static int spec_inactive __P((struct vop_inactive_args *));
static int spec_fsync __P((struct vop_fsync_args *));
static int spec_bmap __P((struct vop_bmap_args *));
static int spec_pathconf __P((struct vop_pathconf_args *));
static int spec_advlock __P((struct vop_advlock_args *));
static int spec_getpages __P((struct vop_getpages_args *));
struct vnode *speclisth[SPECHSZ];
vop_t **spec_vnodeop_p;
static struct vnodeopv_entry_desc spec_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_access_desc, (vop_t *) spec_access },
{ &vop_abortop_desc, (vop_t *) spec_badop },
{ &vop_access_desc, (vop_t *) spec_ebadf },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_blkatoff },
{ &vop_blkatoff_desc, (vop_t *) spec_badop },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_bwrite_desc, (vop_t *) nullop },
{ &vop_close_desc, (vop_t *) spec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_create_desc, (vop_t *) spec_badop },
{ &vop_fsync_desc, (vop_t *) spec_fsync },
{ &vop_getattr_desc, (vop_t *) spec_getattr },
{ &vop_getpages_desc, (vop_t *) spec_getpages },
{ &vop_inactive_desc, (vop_t *) spec_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) spec_islocked },
{ &vop_lease_desc, (vop_t *) spec_lease_check },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) spec_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lease_desc, (vop_t *) nullop },
{ &vop_link_desc, (vop_t *) spec_badop },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_mkdir_desc, (vop_t *) spec_badop },
{ &vop_mknod_desc, (vop_t *) spec_badop },
{ &vop_mmap_desc, (vop_t *) spec_badop },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) spec_print },
{ &vop_read_desc, (vop_t *) spec_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reclaim_desc, (vop_t *) spec_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_revoke_desc, (vop_t *) spec_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) spec_setattr },
{ &vop_readdir_desc, (vop_t *) spec_badop },
{ &vop_readlink_desc, (vop_t *) spec_badop },
{ &vop_reallocblks_desc, (vop_t *) spec_badop },
{ &vop_reclaim_desc, (vop_t *) nullop },
{ &vop_remove_desc, (vop_t *) spec_badop },
{ &vop_rename_desc, (vop_t *) spec_badop },
{ &vop_revoke_desc, (vop_t *) vop_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_badop },
{ &vop_seek_desc, (vop_t *) spec_badop },
{ &vop_setattr_desc, (vop_t *) spec_ebadf },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_symlink },
{ &vop_truncate_desc, (vop_t *) spec_truncate },
{ &vop_unlock_desc, (vop_t *) spec_unlock },
{ &vop_update_desc, (vop_t *) spec_update },
{ &vop_valloc_desc, (vop_t *) spec_valloc },
{ &vop_vfree_desc, (vop_t *) spec_vfree },
{ &vop_symlink_desc, (vop_t *) spec_badop },
{ &vop_truncate_desc, (vop_t *) nullop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_valloc_desc, (vop_t *) spec_badop },
{ &vop_vfree_desc, (vop_t *) spec_badop },
{ &vop_write_desc, (vop_t *) spec_write },
{ NULL, NULL }
};
@ -115,12 +132,23 @@ static struct vnodeopv_desc spec_vnodeop_opv_desc =
VNODEOP_SET(spec_vnodeop_opv_desc);
int
spec_vnoperate(ap)
struct vop_generic_args /* {
struct vnodeop_desc *a_desc;
<other random data follows, presumably>
} */ *ap;
{
return (VOCALL(spec_vnodeop_p, ap->a_desc->vdesc_offset, ap));
}
static void spec_getpages_iodone __P((struct buf *bp));
/*
* Trivial lookup routine that always fails.
*/
int
static int
spec_lookup(ap)
struct vop_lookup_args /* {
struct vnode *a_dvp;
@ -137,7 +165,7 @@ spec_lookup(ap)
* Open a special file.
*/
/* ARGSUSED */
int
static int
spec_open(ap)
struct vop_open_args /* {
struct vnode *a_vp;
@ -236,7 +264,7 @@ spec_open(ap)
* Vnode op for read
*/
/* ARGSUSED */
int
static int
spec_read(ap)
struct vop_read_args /* {
struct vnode *a_vp;
@ -318,7 +346,7 @@ spec_read(ap)
* Vnode op for write
*/
/* ARGSUSED */
int
static int
spec_write(ap)
struct vop_write_args /* {
struct vnode *a_vp;
@ -399,7 +427,7 @@ spec_write(ap)
* Device ioctl operation.
*/
/* ARGSUSED */
int
static int
spec_ioctl(ap)
struct vop_ioctl_args /* {
struct vnode *a_vp;
@ -435,7 +463,7 @@ spec_ioctl(ap)
}
/* ARGSUSED */
int
static int
spec_poll(ap)
struct vop_poll_args /* {
struct vnode *a_vp;
@ -460,7 +488,7 @@ spec_poll(ap)
* Synch buffers associated with a block device
*/
/* ARGSUSED */
int
static int
spec_fsync(ap)
struct vop_fsync_args /* {
struct vnode *a_vp;
@ -510,7 +538,7 @@ spec_fsync(ap)
return (0);
}
int
static int
spec_inactive(ap)
struct vop_inactive_args /* {
struct vnode *a_vp;
@ -525,7 +553,7 @@ spec_inactive(ap)
/*
* Just call the device strategy routine
*/
int
static int
spec_strategy(ap)
struct vop_strategy_args /* {
struct buf *a_bp;
@ -539,7 +567,7 @@ spec_strategy(ap)
/*
* This is a noop, simply returning what one has been given.
*/
int
static int
spec_bmap(ap)
struct vop_bmap_args /* {
struct vnode *a_vp;
@ -566,7 +594,7 @@ spec_bmap(ap)
* Device close routine
*/
/* ARGSUSED */
int
static int
spec_close(ap)
struct vop_close_args /* {
struct vnode *a_vp;
@ -652,7 +680,7 @@ spec_close(ap)
/*
* Print out the contents of a special device vnode.
*/
int
static int
spec_print(ap)
struct vop_print_args /* {
struct vnode *a_vp;
@ -667,7 +695,7 @@ spec_print(ap)
/*
* Return POSIX pathconf information applicable to special devices.
*/
int
static int
spec_pathconf(ap)
struct vop_pathconf_args /* {
struct vnode *a_vp;
@ -705,7 +733,7 @@ spec_pathconf(ap)
* Special device advisory byte-level locks.
*/
/* ARGSUSED */
int
static int
spec_advlock(ap)
struct vop_advlock_args /* {
struct vnode *a_vp;
@ -732,7 +760,7 @@ spec_ebadf()
/*
* Special device bad operation
*/
int
static int
spec_badop()
{
@ -749,7 +777,7 @@ spec_getpages_iodone(bp)
wakeup(bp);
}
int
static int
spec_getpages(ap)
struct vop_getpages_args *ap;
{

View File

@ -83,45 +83,15 @@ static int ext2_write __P((struct vop_write_args *));
/* Global vfs data structures for ufs. */
vop_t **ext2_vnodeop_p;
static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) ufs_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) ufs_advlock },
{ &vop_default_desc, (vop_t *) ufs_vnoperate },
{ &vop_blkatoff_desc, (vop_t *) ext2_blkatoff },
{ &vop_bmap_desc, (vop_t *) ufs_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_cachedlookup_desc, (vop_t *) ext2_lookup },
{ &vop_close_desc, (vop_t *) ufs_close },
{ &vop_create_desc, (vop_t *) ufs_create },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_ioctl_desc, (vop_t *) ufs_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_link_desc, (vop_t *) ufs_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
{ &vop_mkdir_desc, (vop_t *) ufs_mkdir },
{ &vop_mknod_desc, (vop_t *) ufs_mknod },
{ &vop_mmap_desc, (vop_t *) ufs_mmap },
{ &vop_open_desc, (vop_t *) ufs_open },
{ &vop_pathconf_desc, (vop_t *) ufs_pathconf },
{ &vop_poll_desc, (vop_t *) ufs_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ext2_read },
{ &vop_readdir_desc, (vop_t *) ext2_readdir },
{ &vop_readlink_desc, (vop_t *) ufs_readlink },
{ &vop_reallocblks_desc, (vop_t *) ext2_reallocblks },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) ufs_remove },
{ &vop_rename_desc, (vop_t *) ufs_rename },
{ &vop_rmdir_desc, (vop_t *) ufs_rmdir },
{ &vop_seek_desc, (vop_t *) ufs_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) ufs_strategy },
{ &vop_symlink_desc, (vop_t *) ufs_symlink },
{ &vop_truncate_desc, (vop_t *) ext2_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_valloc_desc, (vop_t *) ext2_valloc },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
@ -133,48 +103,11 @@ static struct vnodeopv_desc ext2fs_vnodeop_opv_desc =
vop_t **ext2_specop_p;
static struct vnodeopv_entry_desc ext2_specop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_blkatoff },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) ufsspec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_default_desc, (vop_t *) ufs_vnoperatespec },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ufsspec_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reallocblks_desc, (vop_t *) spec_reallocblks },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_symlink },
{ &vop_truncate_desc, (vop_t *) spec_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_valloc_desc, (vop_t *) spec_valloc },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
{ &vop_write_desc, (vop_t *) ufsspec_write },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_specop_opv_desc =
@ -182,48 +115,11 @@ static struct vnodeopv_desc ext2fs_specop_opv_desc =
vop_t **ext2_fifoop_p;
static struct vnodeopv_entry_desc ext2_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fifo_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_blkatoff_desc, (vop_t *) fifo_blkatoff },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) ufsfifo_close },
{ &vop_create_desc, (vop_t *) fifo_create },
{ &vop_default_desc, (vop_t *) ufs_vnoperatefifo },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_ioctl_desc, (vop_t *) fifo_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_link_desc, (vop_t *) fifo_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &vop_mkdir_desc, (vop_t *) fifo_mkdir },
{ &vop_mknod_desc, (vop_t *) fifo_mknod },
{ &vop_mmap_desc, (vop_t *) fifo_mmap },
{ &vop_open_desc, (vop_t *) fifo_open },
{ &vop_pathconf_desc, (vop_t *) fifo_pathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ufsfifo_read },
{ &vop_readdir_desc, (vop_t *) fifo_readdir },
{ &vop_readlink_desc, (vop_t *) fifo_readlink },
{ &vop_reallocblks_desc, (vop_t *) fifo_reallocblks },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) fifo_remove },
{ &vop_rename_desc, (vop_t *) fifo_rename },
{ &vop_rmdir_desc, (vop_t *) fifo_rmdir },
{ &vop_seek_desc, (vop_t *) fifo_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) fifo_strategy },
{ &vop_symlink_desc, (vop_t *) fifo_symlink },
{ &vop_truncate_desc, (vop_t *) fifo_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_valloc_desc, (vop_t *) fifo_valloc },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
{ &vop_write_desc, (vop_t *) ufsfifo_write },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_fifoop_opv_desc =

View File

@ -83,45 +83,15 @@ static int ext2_write __P((struct vop_write_args *));
/* Global vfs data structures for ufs. */
vop_t **ext2_vnodeop_p;
static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) ufs_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) ufs_advlock },
{ &vop_default_desc, (vop_t *) ufs_vnoperate },
{ &vop_blkatoff_desc, (vop_t *) ext2_blkatoff },
{ &vop_bmap_desc, (vop_t *) ufs_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_cachedlookup_desc, (vop_t *) ext2_lookup },
{ &vop_close_desc, (vop_t *) ufs_close },
{ &vop_create_desc, (vop_t *) ufs_create },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_ioctl_desc, (vop_t *) ufs_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_link_desc, (vop_t *) ufs_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
{ &vop_mkdir_desc, (vop_t *) ufs_mkdir },
{ &vop_mknod_desc, (vop_t *) ufs_mknod },
{ &vop_mmap_desc, (vop_t *) ufs_mmap },
{ &vop_open_desc, (vop_t *) ufs_open },
{ &vop_pathconf_desc, (vop_t *) ufs_pathconf },
{ &vop_poll_desc, (vop_t *) ufs_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ext2_read },
{ &vop_readdir_desc, (vop_t *) ext2_readdir },
{ &vop_readlink_desc, (vop_t *) ufs_readlink },
{ &vop_reallocblks_desc, (vop_t *) ext2_reallocblks },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) ufs_remove },
{ &vop_rename_desc, (vop_t *) ufs_rename },
{ &vop_rmdir_desc, (vop_t *) ufs_rmdir },
{ &vop_seek_desc, (vop_t *) ufs_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) ufs_strategy },
{ &vop_symlink_desc, (vop_t *) ufs_symlink },
{ &vop_truncate_desc, (vop_t *) ext2_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_valloc_desc, (vop_t *) ext2_valloc },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
@ -133,48 +103,11 @@ static struct vnodeopv_desc ext2fs_vnodeop_opv_desc =
vop_t **ext2_specop_p;
static struct vnodeopv_entry_desc ext2_specop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_blkatoff },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) ufsspec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_default_desc, (vop_t *) ufs_vnoperatespec },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ufsspec_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reallocblks_desc, (vop_t *) spec_reallocblks },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_symlink },
{ &vop_truncate_desc, (vop_t *) spec_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_valloc_desc, (vop_t *) spec_valloc },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
{ &vop_write_desc, (vop_t *) ufsspec_write },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_specop_opv_desc =
@ -182,48 +115,11 @@ static struct vnodeopv_desc ext2fs_specop_opv_desc =
vop_t **ext2_fifoop_p;
static struct vnodeopv_entry_desc ext2_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fifo_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_blkatoff_desc, (vop_t *) fifo_blkatoff },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) ufsfifo_close },
{ &vop_create_desc, (vop_t *) fifo_create },
{ &vop_default_desc, (vop_t *) ufs_vnoperatefifo },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_ioctl_desc, (vop_t *) fifo_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_link_desc, (vop_t *) fifo_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &vop_mkdir_desc, (vop_t *) fifo_mkdir },
{ &vop_mknod_desc, (vop_t *) fifo_mknod },
{ &vop_mmap_desc, (vop_t *) fifo_mmap },
{ &vop_open_desc, (vop_t *) fifo_open },
{ &vop_pathconf_desc, (vop_t *) fifo_pathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ufsfifo_read },
{ &vop_readdir_desc, (vop_t *) fifo_readdir },
{ &vop_readlink_desc, (vop_t *) fifo_readlink },
{ &vop_reallocblks_desc, (vop_t *) fifo_reallocblks },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) fifo_remove },
{ &vop_rename_desc, (vop_t *) fifo_rename },
{ &vop_rmdir_desc, (vop_t *) fifo_rmdir },
{ &vop_seek_desc, (vop_t *) fifo_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) fifo_strategy },
{ &vop_symlink_desc, (vop_t *) fifo_symlink },
{ &vop_truncate_desc, (vop_t *) fifo_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_valloc_desc, (vop_t *) fifo_valloc },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
{ &vop_write_desc, (vop_t *) ufsfifo_write },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_fifoop_opv_desc =

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95
* $Id: cd9660_vnops.c,v 1.41 1997/10/15 09:20:47 phk Exp $
* $Id: cd9660_vnops.c,v 1.42 1997/10/15 10:03:58 phk Exp $
*/
#include <sys/param.h>
@ -1050,49 +1050,18 @@ VNODEOP_SET(cd9660_vnodeop_opv_desc);
*/
vop_t **cd9660_specop_p;
struct vnodeopv_entry_desc cd9660_specop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_blkatoff },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) spec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_fsync_desc, (vop_t *) spec_fsync },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
{ &vop_lease_desc, (vop_t *) spec_lease_check },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) cd9660_lock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) cd9660_print },
{ &vop_read_desc, (vop_t *) spec_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_revoke_desc, (vop_t *) spec_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_symlink },
{ &vop_truncate_desc, (vop_t *) spec_truncate },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
{ &vop_update_desc, (vop_t *) cd9660_update },
{ &vop_valloc_desc, (vop_t *) spec_valloc },
{ &vop_vfree_desc, (vop_t *) spec_vfree },
{ &vop_write_desc, (vop_t *) spec_write },
{ NULL, NULL }
};
static struct vnodeopv_desc cd9660_specop_opv_desc =
@ -1101,49 +1070,18 @@ VNODEOP_SET(cd9660_specop_opv_desc);
vop_t **cd9660_fifoop_p;
struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fifo_abortop },
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_blkatoff_desc, (vop_t *) fifo_blkatoff },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) fifo_close },
{ &vop_create_desc, (vop_t *) fifo_create },
{ &vop_fsync_desc, (vop_t *) fifo_fsync },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
{ &vop_ioctl_desc, (vop_t *) fifo_ioctl },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
{ &vop_lease_desc, (vop_t *) fifo_lease_check },
{ &vop_link_desc, (vop_t *) fifo_link },
{ &vop_lock_desc, (vop_t *) cd9660_lock },
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &vop_mkdir_desc, (vop_t *) fifo_mkdir },
{ &vop_mknod_desc, (vop_t *) fifo_mknod },
{ &vop_mmap_desc, (vop_t *) fifo_mmap },
{ &vop_open_desc, (vop_t *) fifo_open },
{ &vop_pathconf_desc, (vop_t *) fifo_pathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) cd9660_print },
{ &vop_read_desc, (vop_t *) fifo_read },
{ &vop_readdir_desc, (vop_t *) fifo_readdir },
{ &vop_readlink_desc, (vop_t *) fifo_readlink },
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
{ &vop_remove_desc, (vop_t *) fifo_remove },
{ &vop_rename_desc, (vop_t *) fifo_rename },
{ &vop_revoke_desc, (vop_t *) fifo_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_rmdir },
{ &vop_seek_desc, (vop_t *) fifo_seek },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_strategy_desc, (vop_t *) fifo_strategy },
{ &vop_symlink_desc, (vop_t *) fifo_symlink },
{ &vop_truncate_desc, (vop_t *) fifo_truncate },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
{ &vop_update_desc, (vop_t *) cd9660_update },
{ &vop_valloc_desc, (vop_t *) fifo_valloc },
{ &vop_vfree_desc, (vop_t *) fifo_vfree },
{ &vop_write_desc, (vop_t *) fifo_write },
{ NULL, NULL }
};
static struct vnodeopv_desc cd9660_fifoop_opv_desc =

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_cache.c 8.5 (Berkeley) 3/22/95
* $Id: vfs_cache.c,v 1.32 1997/09/24 07:46:52 phk Exp $
* $Id: vfs_cache.c,v 1.33 1997/09/24 15:54:10 phk Exp $
*/
#include <sys/param.h>
@ -415,8 +415,7 @@ vfs_cache_lookup(ap)
error = cache_lookup(vdp, vpp, cnp);
if (!error)
return (VCALL(vdp, VOFFSET(vop_cachedlookup),
(struct vop_cachedlookup_args *)ap));
return (VOP_CACHEDLOOKUP(ap->a_dvp, ap->a_vpp, ap->a_cnp));
if (error == ENOENT)
return (error);

View File

@ -1,7 +1,7 @@
/*
* Written by Julian Elischer (julian@DIALix.oz.au)
*
* $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vnops.c,v 1.41 1997/10/15 09:20:53 phk Exp $
* $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vnops.c,v 1.42 1997/10/15 10:04:08 phk Exp $
*
* symlinks can wait 'til later.
*/
@ -682,7 +682,7 @@ DBPRINT(("read\n"));
NULL,NULL,NULL);
case VCHR:
case VBLK:
error = spec_read(ap);
error = VOCALL(spec_vnodeop_p, VOFFSET(vop_read), ap);
TIMEVAL_TO_TIMESPEC(&time,&(file_node->atime))
return(error);
@ -722,7 +722,7 @@ DBPRINT(("write\n"));
return(EISDIR);
case VCHR:
case VBLK:
error = spec_write(ap);
error = VOCALL(spec_vnodeop_p, VOFFSET(vop_write), ap);
TIMEVAL_TO_TIMESPEC(&time,&(file_node->mtime))
return(error);
@ -1779,47 +1779,14 @@ VNODEOP_SET(devfs_vnodeop_opv_desc);
vop_t **dev_spec_vnodeop_p;
static struct vnodeopv_entry_desc dev_spec_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_access_desc, (vop_t *) devfs_access },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_blkatoff },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) spec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_fsync_desc, (vop_t *) spec_fsync },
{ &vop_getattr_desc, (vop_t *) devfs_getattr },
{ &vop_getpages_desc, (vop_t *) spec_getpages },
{ &vop_inactive_desc, (vop_t *) spec_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) spec_islocked },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) spec_lock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) spec_print },
{ &vop_read_desc, (vop_t *) devfs_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reclaim_desc, (vop_t *) devfs_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) devfs_setattr },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) devfs_symlink },
{ &vop_truncate_desc, (vop_t *) spec_truncate },
{ &vop_unlock_desc, (vop_t *) spec_unlock },
{ &vop_update_desc, (vop_t *) spec_update },
{ &vop_valloc_desc, (vop_t *) spec_valloc },
{ &vop_vfree_desc, (vop_t *) spec_vfree },
{ &vop_write_desc, (vop_t *) devfs_write },
{ NULL, NULL }
};

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)fifo.h 8.6 (Berkeley) 5/21/95
* $Id: fifo.h,v 1.13 1997/02/22 09:40:17 peter Exp $
* $Id: fifo.h,v 1.14 1997/09/14 02:57:51 peter Exp $
*/
extern vop_t **fifo_vnodeop_p;
@ -39,48 +39,6 @@ extern vop_t **fifo_vnodeop_p;
/*
* Prototypes for fifo operations on vnodes.
*/
int fifo_badop __P((void));
int fifo_vnoperate __P((struct vop_generic_args *));
int fifo_printinfo __P((struct vnode *));
int fifo_lookup __P((struct vop_lookup_args *));
#define fifo_create ((int (*) __P((struct vop_create_args *)))fifo_badop)
#define fifo_mknod ((int (*) __P((struct vop_mknod_args *)))fifo_badop)
int fifo_open __P((struct vop_open_args *));
int fifo_close __P((struct vop_close_args *));
#define fifo_access ((int (*) __P((struct vop_access_args *)))fifo_ebadf)
#define fifo_getattr ((int (*) __P((struct vop_getattr_args *)))fifo_ebadf)
#define fifo_setattr ((int (*) __P((struct vop_setattr_args *)))fifo_ebadf)
int fifo_read __P((struct vop_read_args *));
int fifo_write __P((struct vop_write_args *));
#define fifo_lease_check ((int (*) __P((struct vop_lease_args *)))nullop)
int fifo_ioctl __P((struct vop_ioctl_args *));
int fifo_poll __P((struct vop_poll_args *));
#define fifo_revoke vop_revoke
#define fifo_mmap ((int (*) __P((struct vop_mmap_args *)))fifo_badop)
#define fifo_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define fifo_seek ((int (*) __P((struct vop_seek_args *)))fifo_badop)
#define fifo_remove ((int (*) __P((struct vop_remove_args *)))fifo_badop)
#define fifo_link ((int (*) __P((struct vop_link_args *)))fifo_badop)
#define fifo_rename ((int (*) __P((struct vop_rename_args *)))fifo_badop)
#define fifo_mkdir ((int (*) __P((struct vop_mkdir_args *)))fifo_badop)
#define fifo_rmdir ((int (*) __P((struct vop_rmdir_args *)))fifo_badop)
#define fifo_symlink ((int (*) __P((struct vop_symlink_args *)))fifo_badop)
#define fifo_readdir ((int (*) __P((struct vop_readdir_args *)))fifo_badop)
#define fifo_readlink ((int (*) __P((struct vop_readlink_args *)))fifo_badop)
#define fifo_abortop ((int (*) __P((struct vop_abortop_args *)))fifo_badop)
int fifo_inactive __P((struct vop_inactive_args *));
#define fifo_reclaim ((int (*) __P((struct vop_reclaim_args *)))nullop)
#define fifo_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define fifo_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
int fifo_bmap __P((struct vop_bmap_args *));
#define fifo_strategy ((int (*) __P((struct vop_strategy_args *)))fifo_badop)
#define fifo_islocked ((int(*) __P((struct vop_islocked_args *)))vop_noislocked)
int fifo_pathconf __P((struct vop_pathconf_args *));
int fifo_advlock __P((struct vop_advlock_args *));
#define fifo_blkatoff ((int (*) __P((struct vop_blkatoff_args *)))fifo_badop)
#define fifo_valloc ((int (*) __P((struct vop_valloc_args *)))fifo_badop)
#define fifo_reallocblks \
((int (*) __P((struct vop_reallocblks_args *)))fifo_badop)
#define fifo_vfree ((int (*) __P((struct vop_vfree_args *)))fifo_badop)
#define fifo_truncate ((int (*) __P((struct vop_truncate_args *)))nullop)
#define fifo_update ((int (*) __P((struct vop_update_args *)))nullop)
#define fifo_bwrite ((int (*) __P((struct vop_bwrite_args *)))nullop)

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)fifo_vnops.c 8.10 (Berkeley) 5/27/95
* $Id: fifo_vnops.c,v 1.29 1997/10/15 09:21:00 phk Exp $
* $Id: fifo_vnops.c,v 1.30 1997/10/15 10:04:18 phk Exp $
*/
#include <sys/param.h>
@ -61,52 +61,66 @@ struct fifoinfo {
};
static int fifo_ebadf __P((void));
static int fifo_badop __P((void));
static int fifo_print __P((struct vop_print_args *));
static int fifo_lookup __P((struct vop_lookup_args *));
static int fifo_open __P((struct vop_open_args *));
static int fifo_close __P((struct vop_close_args *));
static int fifo_read __P((struct vop_read_args *));
static int fifo_write __P((struct vop_write_args *));
static int fifo_ioctl __P((struct vop_ioctl_args *));
static int fifo_poll __P((struct vop_poll_args *));
static int fifo_inactive __P((struct vop_inactive_args *));
static int fifo_bmap __P((struct vop_bmap_args *));
static int fifo_pathconf __P((struct vop_pathconf_args *));
static int fifo_advlock __P((struct vop_advlock_args *));
vop_t **fifo_vnodeop_p;
static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fifo_abortop },
{ &vop_access_desc, (vop_t *) fifo_access },
{ &vop_abortop_desc, (vop_t *) fifo_badop },
{ &vop_access_desc, (vop_t *) fifo_ebadf },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_blkatoff_desc, (vop_t *) fifo_blkatoff },
{ &vop_blkatoff_desc, (vop_t *) fifo_badop },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) fifo_bwrite },
{ &vop_bwrite_desc, (vop_t *) nullop },
{ &vop_close_desc, (vop_t *) fifo_close },
{ &vop_create_desc, (vop_t *) fifo_create },
{ &vop_fsync_desc, (vop_t *) fifo_fsync },
{ &vop_getattr_desc, (vop_t *) fifo_getattr },
{ &vop_create_desc, (vop_t *) fifo_badop },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) fifo_ebadf },
{ &vop_inactive_desc, (vop_t *) fifo_inactive },
{ &vop_ioctl_desc, (vop_t *) fifo_ioctl },
{ &vop_islocked_desc, (vop_t *) fifo_islocked },
{ &vop_lease_desc, (vop_t *) fifo_lease_check },
{ &vop_link_desc, (vop_t *) fifo_link },
{ &vop_lock_desc, (vop_t *) fifo_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lease_desc, (vop_t *) nullop },
{ &vop_link_desc, (vop_t *) fifo_badop },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &vop_mkdir_desc, (vop_t *) fifo_mkdir },
{ &vop_mknod_desc, (vop_t *) fifo_mknod },
{ &vop_mmap_desc, (vop_t *) fifo_mmap },
{ &vop_mkdir_desc, (vop_t *) fifo_badop },
{ &vop_mknod_desc, (vop_t *) fifo_badop },
{ &vop_mmap_desc, (vop_t *) fifo_badop },
{ &vop_open_desc, (vop_t *) fifo_open },
{ &vop_pathconf_desc, (vop_t *) fifo_pathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) fifo_print },
{ &vop_read_desc, (vop_t *) fifo_read },
{ &vop_readdir_desc, (vop_t *) fifo_readdir },
{ &vop_readlink_desc, (vop_t *) fifo_readlink },
{ &vop_reclaim_desc, (vop_t *) fifo_reclaim },
{ &vop_remove_desc, (vop_t *) fifo_remove },
{ &vop_rename_desc, (vop_t *) fifo_rename },
{ &vop_revoke_desc, (vop_t *) fifo_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_rmdir },
{ &vop_seek_desc, (vop_t *) fifo_seek },
{ &vop_setattr_desc, (vop_t *) fifo_setattr },
{ &vop_strategy_desc, (vop_t *) fifo_strategy },
{ &vop_symlink_desc, (vop_t *) fifo_symlink },
{ &vop_truncate_desc, (vop_t *) fifo_truncate },
{ &vop_unlock_desc, (vop_t *) fifo_unlock },
{ &vop_update_desc, (vop_t *) fifo_update },
{ &vop_valloc_desc, (vop_t *) fifo_valloc },
{ &vop_vfree_desc, (vop_t *) fifo_vfree },
{ &vop_readdir_desc, (vop_t *) fifo_badop },
{ &vop_readlink_desc, (vop_t *) fifo_badop },
{ &vop_reallocblks_desc, (vop_t *) fifo_badop },
{ &vop_reclaim_desc, (vop_t *) nullop },
{ &vop_remove_desc, (vop_t *) fifo_badop },
{ &vop_rename_desc, (vop_t *) fifo_badop },
{ &vop_revoke_desc, (vop_t *) vop_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_badop },
{ &vop_seek_desc, (vop_t *) fifo_badop },
{ &vop_setattr_desc, (vop_t *) fifo_ebadf },
{ &vop_strategy_desc, (vop_t *) fifo_badop },
{ &vop_symlink_desc, (vop_t *) fifo_badop },
{ &vop_truncate_desc, (vop_t *) fifo_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_valloc_desc, (vop_t *) fifo_badop },
{ &vop_vfree_desc, (vop_t *) fifo_badop },
{ &vop_write_desc, (vop_t *) fifo_write },
{ NULL, NULL }
};
@ -115,11 +129,21 @@ static struct vnodeopv_desc fifo_vnodeop_opv_desc =
VNODEOP_SET(fifo_vnodeop_opv_desc);
int
fifo_vnoperate(ap)
struct vop_generic_args /* {
struct vnodeop_desc *a_desc;
<other random data follows, presumably>
} */ *ap;
{
return (VOCALL(fifo_vnodeop_p, ap->a_desc->vdesc_offset, ap));
}
/*
* Trivial lookup routine that always fails.
*/
/* ARGSUSED */
int
static int
fifo_lookup(ap)
struct vop_lookup_args /* {
struct vnode * a_dvp;
@ -137,7 +161,7 @@ fifo_lookup(ap)
* to find an active instance of a fifo.
*/
/* ARGSUSED */
int
static int
fifo_open(ap)
struct vop_open_args /* {
struct vnode *a_vp;
@ -236,7 +260,7 @@ fifo_open(ap)
* Vnode op for read
*/
/* ARGSUSED */
int
static int
fifo_read(ap)
struct vop_read_args /* {
struct vnode *a_vp;
@ -277,7 +301,7 @@ fifo_read(ap)
* Vnode op for write
*/
/* ARGSUSED */
int
static int
fifo_write(ap)
struct vop_write_args /* {
struct vnode *a_vp;
@ -309,7 +333,7 @@ fifo_write(ap)
* Device ioctl operation.
*/
/* ARGSUSED */
int
static int
fifo_ioctl(ap)
struct vop_ioctl_args /* {
struct vnode *a_vp;
@ -341,7 +365,7 @@ fifo_ioctl(ap)
}
/* ARGSUSED */
int
static int
fifo_poll(ap)
struct vop_poll_args /* {
struct vnode *a_vp;
@ -368,7 +392,7 @@ fifo_poll(ap)
return (revents);
}
int
static int
fifo_inactive(ap)
struct vop_inactive_args /* {
struct vnode *a_vp;
@ -383,7 +407,7 @@ fifo_inactive(ap)
/*
* This is a noop, simply returning what one has been given.
*/
int
static int
fifo_bmap(ap)
struct vop_bmap_args /* {
struct vnode *a_vp;
@ -410,7 +434,7 @@ fifo_bmap(ap)
* Device close routine
*/
/* ARGSUSED */
int
static int
fifo_close(ap)
struct vop_close_args /* {
struct vnode *a_vp;
@ -478,7 +502,7 @@ fifo_print(ap)
/*
* Return POSIX pathconf information applicable to fifo's.
*/
int
static int
fifo_pathconf(ap)
struct vop_pathconf_args /* {
struct vnode *a_vp;
@ -517,7 +541,7 @@ fifo_ebadf()
* Fifo advisory byte-level locks.
*/
/* ARGSUSED */
int
static int
fifo_advlock(ap)
struct vop_advlock_args /* {
struct vnode *a_vp;
@ -534,7 +558,7 @@ fifo_advlock(ap)
/*
* Fifo bad operation
*/
int
static int
fifo_badop()
{

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)spec_vnops.c 8.14 (Berkeley) 5/21/95
* $Id: spec_vnops.c,v 1.44 1997/10/15 09:21:22 phk Exp $
* $Id: spec_vnops.c,v 1.45 1997/10/15 10:04:43 phk Exp $
*/
#include <sys/param.h>
@ -60,53 +60,70 @@
static int spec_ebadf __P((void));
static int spec_getattr __P((struct vop_getattr_args *));
static int spec_badop __P((void));
static int spec_strategy __P((struct vop_strategy_args *));
static int spec_print __P((struct vop_print_args *));
static int spec_lookup __P((struct vop_lookup_args *));
static int spec_open __P((struct vop_open_args *));
static int spec_close __P((struct vop_close_args *));
static int spec_read __P((struct vop_read_args *));
static int spec_write __P((struct vop_write_args *));
static int spec_ioctl __P((struct vop_ioctl_args *));
static int spec_poll __P((struct vop_poll_args *));
static int spec_inactive __P((struct vop_inactive_args *));
static int spec_fsync __P((struct vop_fsync_args *));
static int spec_bmap __P((struct vop_bmap_args *));
static int spec_pathconf __P((struct vop_pathconf_args *));
static int spec_advlock __P((struct vop_advlock_args *));
static int spec_getpages __P((struct vop_getpages_args *));
struct vnode *speclisth[SPECHSZ];
vop_t **spec_vnodeop_p;
static struct vnodeopv_entry_desc spec_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_access_desc, (vop_t *) spec_access },
{ &vop_abortop_desc, (vop_t *) spec_badop },
{ &vop_access_desc, (vop_t *) spec_ebadf },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_blkatoff },
{ &vop_blkatoff_desc, (vop_t *) spec_badop },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_bwrite_desc, (vop_t *) nullop },
{ &vop_close_desc, (vop_t *) spec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_create_desc, (vop_t *) spec_badop },
{ &vop_fsync_desc, (vop_t *) spec_fsync },
{ &vop_getattr_desc, (vop_t *) spec_getattr },
{ &vop_getpages_desc, (vop_t *) spec_getpages },
{ &vop_inactive_desc, (vop_t *) spec_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) spec_islocked },
{ &vop_lease_desc, (vop_t *) spec_lease_check },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) spec_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lease_desc, (vop_t *) nullop },
{ &vop_link_desc, (vop_t *) spec_badop },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_mkdir_desc, (vop_t *) spec_badop },
{ &vop_mknod_desc, (vop_t *) spec_badop },
{ &vop_mmap_desc, (vop_t *) spec_badop },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) spec_print },
{ &vop_read_desc, (vop_t *) spec_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reclaim_desc, (vop_t *) spec_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_revoke_desc, (vop_t *) spec_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) spec_setattr },
{ &vop_readdir_desc, (vop_t *) spec_badop },
{ &vop_readlink_desc, (vop_t *) spec_badop },
{ &vop_reallocblks_desc, (vop_t *) spec_badop },
{ &vop_reclaim_desc, (vop_t *) nullop },
{ &vop_remove_desc, (vop_t *) spec_badop },
{ &vop_rename_desc, (vop_t *) spec_badop },
{ &vop_revoke_desc, (vop_t *) vop_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_badop },
{ &vop_seek_desc, (vop_t *) spec_badop },
{ &vop_setattr_desc, (vop_t *) spec_ebadf },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_symlink },
{ &vop_truncate_desc, (vop_t *) spec_truncate },
{ &vop_unlock_desc, (vop_t *) spec_unlock },
{ &vop_update_desc, (vop_t *) spec_update },
{ &vop_valloc_desc, (vop_t *) spec_valloc },
{ &vop_vfree_desc, (vop_t *) spec_vfree },
{ &vop_symlink_desc, (vop_t *) spec_badop },
{ &vop_truncate_desc, (vop_t *) nullop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_valloc_desc, (vop_t *) spec_badop },
{ &vop_vfree_desc, (vop_t *) spec_badop },
{ &vop_write_desc, (vop_t *) spec_write },
{ NULL, NULL }
};
@ -115,12 +132,23 @@ static struct vnodeopv_desc spec_vnodeop_opv_desc =
VNODEOP_SET(spec_vnodeop_opv_desc);
int
spec_vnoperate(ap)
struct vop_generic_args /* {
struct vnodeop_desc *a_desc;
<other random data follows, presumably>
} */ *ap;
{
return (VOCALL(spec_vnodeop_p, ap->a_desc->vdesc_offset, ap));
}
static void spec_getpages_iodone __P((struct buf *bp));
/*
* Trivial lookup routine that always fails.
*/
int
static int
spec_lookup(ap)
struct vop_lookup_args /* {
struct vnode *a_dvp;
@ -137,7 +165,7 @@ spec_lookup(ap)
* Open a special file.
*/
/* ARGSUSED */
int
static int
spec_open(ap)
struct vop_open_args /* {
struct vnode *a_vp;
@ -236,7 +264,7 @@ spec_open(ap)
* Vnode op for read
*/
/* ARGSUSED */
int
static int
spec_read(ap)
struct vop_read_args /* {
struct vnode *a_vp;
@ -318,7 +346,7 @@ spec_read(ap)
* Vnode op for write
*/
/* ARGSUSED */
int
static int
spec_write(ap)
struct vop_write_args /* {
struct vnode *a_vp;
@ -399,7 +427,7 @@ spec_write(ap)
* Device ioctl operation.
*/
/* ARGSUSED */
int
static int
spec_ioctl(ap)
struct vop_ioctl_args /* {
struct vnode *a_vp;
@ -435,7 +463,7 @@ spec_ioctl(ap)
}
/* ARGSUSED */
int
static int
spec_poll(ap)
struct vop_poll_args /* {
struct vnode *a_vp;
@ -460,7 +488,7 @@ spec_poll(ap)
* Synch buffers associated with a block device
*/
/* ARGSUSED */
int
static int
spec_fsync(ap)
struct vop_fsync_args /* {
struct vnode *a_vp;
@ -510,7 +538,7 @@ spec_fsync(ap)
return (0);
}
int
static int
spec_inactive(ap)
struct vop_inactive_args /* {
struct vnode *a_vp;
@ -525,7 +553,7 @@ spec_inactive(ap)
/*
* Just call the device strategy routine
*/
int
static int
spec_strategy(ap)
struct vop_strategy_args /* {
struct buf *a_bp;
@ -539,7 +567,7 @@ spec_strategy(ap)
/*
* This is a noop, simply returning what one has been given.
*/
int
static int
spec_bmap(ap)
struct vop_bmap_args /* {
struct vnode *a_vp;
@ -566,7 +594,7 @@ spec_bmap(ap)
* Device close routine
*/
/* ARGSUSED */
int
static int
spec_close(ap)
struct vop_close_args /* {
struct vnode *a_vp;
@ -652,7 +680,7 @@ spec_close(ap)
/*
* Print out the contents of a special device vnode.
*/
int
static int
spec_print(ap)
struct vop_print_args /* {
struct vnode *a_vp;
@ -667,7 +695,7 @@ spec_print(ap)
/*
* Return POSIX pathconf information applicable to special devices.
*/
int
static int
spec_pathconf(ap)
struct vop_pathconf_args /* {
struct vnode *a_vp;
@ -705,7 +733,7 @@ spec_pathconf(ap)
* Special device advisory byte-level locks.
*/
/* ARGSUSED */
int
static int
spec_advlock(ap)
struct vop_advlock_args /* {
struct vnode *a_vp;
@ -732,7 +760,7 @@ spec_ebadf()
/*
* Special device bad operation
*/
int
static int
spec_badop()
{
@ -749,7 +777,7 @@ spec_getpages_iodone(bp)
wakeup(bp);
}
int
static int
spec_getpages(ap)
struct vop_getpages_args *ap;
{

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)specdev.h 8.6 (Berkeley) 5/21/95
* $Id: specdev.h,v 1.11 1997/02/22 09:40:35 peter Exp $
* $Id: specdev.h,v 1.12 1997/09/14 02:58:03 peter Exp $
*/
/*
@ -81,48 +81,4 @@ struct flock;
struct buf;
struct uio;
int spec_badop __P((void));
int spec_lookup __P((struct vop_lookup_args *));
#define spec_create ((int (*) __P((struct vop_create_args *)))spec_badop)
#define spec_mknod ((int (*) __P((struct vop_mknod_args *)))spec_badop)
int spec_open __P((struct vop_open_args *));
int spec_close __P((struct vop_close_args *));
#define spec_access ((int (*) __P((struct vop_access_args *)))spec_ebadf)
#define spec_setattr ((int (*) __P((struct vop_setattr_args *)))spec_ebadf)
int spec_read __P((struct vop_read_args *));
int spec_write __P((struct vop_write_args *));
#define spec_lease_check ((int (*) __P((struct vop_lease_args *)))nullop)
int spec_ioctl __P((struct vop_ioctl_args *));
int spec_poll __P((struct vop_poll_args *));
#define spec_revoke vop_revoke
#define spec_mmap ((int (*) __P((struct vop_mmap_args *)))spec_badop)
int spec_fsync __P((struct vop_fsync_args *));
#define spec_seek ((int (*) __P((struct vop_seek_args *)))spec_badop)
#define spec_remove ((int (*) __P((struct vop_remove_args *)))spec_badop)
#define spec_link ((int (*) __P((struct vop_link_args *)))spec_badop)
#define spec_rename ((int (*) __P((struct vop_rename_args *)))spec_badop)
#define spec_mkdir ((int (*) __P((struct vop_mkdir_args *)))spec_badop)
#define spec_rmdir ((int (*) __P((struct vop_rmdir_args *)))spec_badop)
#define spec_symlink ((int (*) __P((struct vop_symlink_args *)))spec_badop)
#define spec_readdir ((int (*) __P((struct vop_readdir_args *)))spec_badop)
#define spec_readlink ((int (*) __P((struct vop_readlink_args *)))spec_badop)
#define spec_abortop ((int (*) __P((struct vop_abortop_args *)))spec_badop)
int spec_inactive __P((struct vop_inactive_args *));
#define spec_reclaim ((int (*) __P((struct vop_reclaim_args *)))nullop)
#define spec_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define spec_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
int spec_bmap __P((struct vop_bmap_args *));
int spec_strategy __P((struct vop_strategy_args *));
int spec_print __P((struct vop_print_args *));
#define spec_islocked ((int(*) __P((struct vop_islocked_args *)))vop_noislocked)
int spec_pathconf __P((struct vop_pathconf_args *));
int spec_advlock __P((struct vop_advlock_args *));
int spec_getpages __P((struct vop_getpages_args *));
#define spec_blkatoff ((int (*) __P((struct vop_blkatoff_args *)))spec_badop)
#define spec_valloc ((int (*) __P((struct vop_valloc_args *)))spec_badop)
#define spec_reallocblks \
((int (*) __P((struct vop_reallocblks_args *)))spec_badop)
#define spec_vfree ((int (*) __P((struct vop_vfree_args *)))spec_badop)
#define spec_truncate ((int (*) __P((struct vop_truncate_args *)))nullop)
#define spec_update ((int (*) __P((struct vop_update_args *)))nullop)
#define spec_bwrite ((int (*) __P((struct vop_bwrite_args *)))nullop)
int spec_vnoperate __P((struct vop_generic_args *));

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
* $Id: nfs_vnops.c,v 1.64 1997/10/15 09:21:45 phk Exp $
* $Id: nfs_vnops.c,v 1.65 1997/10/15 10:05:10 phk Exp $
*/
@ -185,42 +185,19 @@ VNODEOP_SET(nfsv2_vnodeop_opv_desc);
*/
vop_t **spec_nfsv2nodeop_p;
static struct vnodeopv_entry_desc spec_nfsv2nodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_access_desc, (vop_t *) nfsspec_access },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) nfsspec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) nfs_islocked },
{ &vop_lease_desc, (vop_t *) spec_lease_check },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) nfs_lock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) nfs_print },
{ &vop_read_desc, (vop_t *) nfsspec_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reclaim_desc, (vop_t *) nfs_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_revoke_desc, (vop_t *) spec_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_symlink },
{ &vop_unlock_desc, (vop_t *) nfs_unlock },
{ &vop_write_desc, (vop_t *) nfsspec_write },
{ NULL, NULL }
@ -231,42 +208,19 @@ VNODEOP_SET(spec_nfsv2nodeop_opv_desc);
vop_t **fifo_nfsv2nodeop_p;
static struct vnodeopv_entry_desc fifo_nfsv2nodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fifo_abortop },
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
{ &vop_access_desc, (vop_t *) nfsspec_access },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) nfsfifo_close },
{ &vop_create_desc, (vop_t *) fifo_create },
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_ioctl_desc, (vop_t *) fifo_ioctl },
{ &vop_islocked_desc, (vop_t *) nfs_islocked },
{ &vop_lease_desc, (vop_t *) fifo_lease_check },
{ &vop_link_desc, (vop_t *) fifo_link },
{ &vop_lock_desc, (vop_t *) nfs_lock },
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &vop_mkdir_desc, (vop_t *) fifo_mkdir },
{ &vop_mknod_desc, (vop_t *) fifo_mknod },
{ &vop_mmap_desc, (vop_t *) fifo_mmap },
{ &vop_open_desc, (vop_t *) fifo_open },
{ &vop_pathconf_desc, (vop_t *) fifo_pathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) nfs_print },
{ &vop_read_desc, (vop_t *) nfsfifo_read },
{ &vop_readdir_desc, (vop_t *) fifo_readdir },
{ &vop_readlink_desc, (vop_t *) fifo_readlink },
{ &vop_reclaim_desc, (vop_t *) nfs_reclaim },
{ &vop_remove_desc, (vop_t *) fifo_remove },
{ &vop_rename_desc, (vop_t *) fifo_rename },
{ &vop_revoke_desc, (vop_t *) fifo_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_rmdir },
{ &vop_seek_desc, (vop_t *) fifo_seek },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_strategy_desc, (vop_t *) fifo_strategy },
{ &vop_symlink_desc, (vop_t *) fifo_symlink },
{ &vop_unlock_desc, (vop_t *) nfs_unlock },
{ &vop_write_desc, (vop_t *) nfsfifo_write },
{ NULL, NULL }

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
* $Id: nfs_vnops.c,v 1.64 1997/10/15 09:21:45 phk Exp $
* $Id: nfs_vnops.c,v 1.65 1997/10/15 10:05:10 phk Exp $
*/
@ -185,42 +185,19 @@ VNODEOP_SET(nfsv2_vnodeop_opv_desc);
*/
vop_t **spec_nfsv2nodeop_p;
static struct vnodeopv_entry_desc spec_nfsv2nodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_access_desc, (vop_t *) nfsspec_access },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) nfsspec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) nfs_islocked },
{ &vop_lease_desc, (vop_t *) spec_lease_check },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) nfs_lock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) nfs_print },
{ &vop_read_desc, (vop_t *) nfsspec_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reclaim_desc, (vop_t *) nfs_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_revoke_desc, (vop_t *) spec_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_symlink },
{ &vop_unlock_desc, (vop_t *) nfs_unlock },
{ &vop_write_desc, (vop_t *) nfsspec_write },
{ NULL, NULL }
@ -231,42 +208,19 @@ VNODEOP_SET(spec_nfsv2nodeop_opv_desc);
vop_t **fifo_nfsv2nodeop_p;
static struct vnodeopv_entry_desc fifo_nfsv2nodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fifo_abortop },
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
{ &vop_access_desc, (vop_t *) nfsspec_access },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) nfsfifo_close },
{ &vop_create_desc, (vop_t *) fifo_create },
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_ioctl_desc, (vop_t *) fifo_ioctl },
{ &vop_islocked_desc, (vop_t *) nfs_islocked },
{ &vop_lease_desc, (vop_t *) fifo_lease_check },
{ &vop_link_desc, (vop_t *) fifo_link },
{ &vop_lock_desc, (vop_t *) nfs_lock },
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &vop_mkdir_desc, (vop_t *) fifo_mkdir },
{ &vop_mknod_desc, (vop_t *) fifo_mknod },
{ &vop_mmap_desc, (vop_t *) fifo_mmap },
{ &vop_open_desc, (vop_t *) fifo_open },
{ &vop_pathconf_desc, (vop_t *) fifo_pathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) nfs_print },
{ &vop_read_desc, (vop_t *) nfsfifo_read },
{ &vop_readdir_desc, (vop_t *) fifo_readdir },
{ &vop_readlink_desc, (vop_t *) fifo_readlink },
{ &vop_reclaim_desc, (vop_t *) nfs_reclaim },
{ &vop_remove_desc, (vop_t *) fifo_remove },
{ &vop_rename_desc, (vop_t *) fifo_rename },
{ &vop_revoke_desc, (vop_t *) fifo_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_rmdir },
{ &vop_seek_desc, (vop_t *) fifo_seek },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_strategy_desc, (vop_t *) fifo_strategy },
{ &vop_symlink_desc, (vop_t *) fifo_symlink },
{ &vop_unlock_desc, (vop_t *) nfs_unlock },
{ &vop_write_desc, (vop_t *) nfsfifo_write },
{ NULL, NULL }

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_vnops.c 8.15 (Berkeley) 5/14/95
* $Id: ffs_vnops.c,v 1.32 1997/10/15 09:21:56 phk Exp $
* $Id: ffs_vnops.c,v 1.33 1997/10/15 10:05:17 phk Exp $
*/
#include <sys/param.h>
@ -72,52 +72,16 @@ static int ffs_write __P((struct vop_write_args *));
/* Global vfs data structures for ufs. */
vop_t **ffs_vnodeop_p;
static struct vnodeopv_entry_desc ffs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) ufs_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) ufs_advlock },
{ &vop_default_desc, (vop_t *) ufs_vnoperate },
{ &vop_blkatoff_desc, (vop_t *) ffs_blkatoff },
{ &vop_bmap_desc, (vop_t *) ufs_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_cachedlookup_desc, (vop_t *) ufs_lookup },
{ &vop_close_desc, (vop_t *) ufs_close },
{ &vop_create_desc, (vop_t *) ufs_create },
{ &vop_fsync_desc, (vop_t *) ffs_fsync },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_getpages_desc, (vop_t *) ffs_getpages },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
{ &vop_ioctl_desc, (vop_t *) ufs_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_lease_desc, (vop_t *) ufs_lease_check },
{ &vop_link_desc, (vop_t *) ufs_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
{ &vop_mkdir_desc, (vop_t *) ufs_mkdir },
{ &vop_mknod_desc, (vop_t *) ufs_mknod },
{ &vop_mmap_desc, (vop_t *) ufs_mmap },
{ &vop_open_desc, (vop_t *) ufs_open },
{ &vop_pathconf_desc, (vop_t *) ufs_pathconf },
{ &vop_poll_desc, (vop_t *) ufs_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ffs_read },
{ &vop_readdir_desc, (vop_t *) ufs_readdir },
{ &vop_readlink_desc, (vop_t *) ufs_readlink },
{ &vop_reallocblks_desc, (vop_t *) ffs_reallocblks },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) ufs_remove },
{ &vop_rename_desc, (vop_t *) ufs_rename },
{ &vop_revoke_desc, (vop_t *) ufs_revoke },
{ &vop_rmdir_desc, (vop_t *) ufs_rmdir },
{ &vop_seek_desc, (vop_t *) ufs_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) ufs_strategy },
{ &vop_symlink_desc, (vop_t *) ufs_symlink },
{ &vop_truncate_desc, (vop_t *) ffs_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) ffs_update },
{ &vop_valloc_desc, (vop_t *) ffs_valloc },
{ &vop_vfree_desc, (vop_t *) ffs_vfree },
{ &vop_whiteout_desc, (vop_t *) ufs_whiteout },
{ &vop_write_desc, (vop_t *) ffs_write },
{ NULL, NULL }
};
@ -126,51 +90,10 @@ static struct vnodeopv_desc ffs_vnodeop_opv_desc =
vop_t **ffs_specop_p;
static struct vnodeopv_entry_desc ffs_specop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_blkatoff },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) ufsspec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_default_desc, (vop_t *) ufs_vnoperatespec },
{ &vop_fsync_desc, (vop_t *) ffs_fsync },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_getpages_desc, (vop_t *) spec_getpages },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_lease_desc, (vop_t *) spec_lease_check },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ufsspec_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reallocblks_desc, (vop_t *) spec_reallocblks },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_revoke_desc, (vop_t *) spec_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_symlink },
{ &vop_truncate_desc, (vop_t *) spec_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) ffs_update },
{ &vop_valloc_desc, (vop_t *) spec_valloc },
{ &vop_vfree_desc, (vop_t *) ffs_vfree },
{ &vop_write_desc, (vop_t *) ufsspec_write },
{ NULL, NULL }
};
static struct vnodeopv_desc ffs_specop_opv_desc =
@ -178,50 +101,10 @@ static struct vnodeopv_desc ffs_specop_opv_desc =
vop_t **ffs_fifoop_p;
static struct vnodeopv_entry_desc ffs_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fifo_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_blkatoff_desc, (vop_t *) fifo_blkatoff },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) ufsfifo_close },
{ &vop_create_desc, (vop_t *) fifo_create },
{ &vop_default_desc, (vop_t *) ufs_vnoperatefifo },
{ &vop_fsync_desc, (vop_t *) ffs_fsync },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
{ &vop_ioctl_desc, (vop_t *) fifo_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_lease_desc, (vop_t *) fifo_lease_check },
{ &vop_link_desc, (vop_t *) fifo_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &vop_mkdir_desc, (vop_t *) fifo_mkdir },
{ &vop_mknod_desc, (vop_t *) fifo_mknod },
{ &vop_mmap_desc, (vop_t *) fifo_mmap },
{ &vop_open_desc, (vop_t *) fifo_open },
{ &vop_pathconf_desc, (vop_t *) fifo_pathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ufsfifo_read },
{ &vop_readdir_desc, (vop_t *) fifo_readdir },
{ &vop_readlink_desc, (vop_t *) fifo_readlink },
{ &vop_reallocblks_desc, (vop_t *) fifo_reallocblks },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) fifo_remove },
{ &vop_rename_desc, (vop_t *) fifo_rename },
{ &vop_revoke_desc, (vop_t *) fifo_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_rmdir },
{ &vop_seek_desc, (vop_t *) fifo_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) fifo_strategy },
{ &vop_symlink_desc, (vop_t *) fifo_symlink },
{ &vop_truncate_desc, (vop_t *) fifo_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) ffs_update },
{ &vop_valloc_desc, (vop_t *) fifo_valloc },
{ &vop_vfree_desc, (vop_t *) ffs_vfree },
{ &vop_write_desc, (vop_t *) ufsfifo_write },
{ NULL, NULL }
};
static struct vnodeopv_desc ffs_fifoop_opv_desc =

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)lfs_vnops.c 8.13 (Berkeley) 6/10/95
* $Id: lfs_vnops.c,v 1.25 1997/10/15 09:21:59 phk Exp $
* $Id: lfs_vnops.c,v 1.26 1997/10/15 10:05:23 phk Exp $
*/
#include <sys/param.h>
@ -72,50 +72,20 @@ static int lfs_write __P((struct vop_write_args *));
/* Global vfs data structures for lfs. */
vop_t **lfs_vnodeop_p;
static struct vnodeopv_entry_desc lfs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) ufs_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) ufs_advlock },
{ &vop_default_desc, (vop_t *) ufs_vnoperate },
{ &vop_blkatoff_desc, (vop_t *) lfs_blkatoff },
{ &vop_bmap_desc, (vop_t *) ufs_bmap },
{ &vop_bwrite_desc, (vop_t *) lfs_bwrite },
{ &vop_close_desc, (vop_t *) lfs_close },
{ &vop_create_desc, (vop_t *) ufs_create },
{ &vop_fsync_desc, (vop_t *) lfs_fsync },
{ &vop_getattr_desc, (vop_t *) lfs_getattr },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
{ &vop_ioctl_desc, (vop_t *) ufs_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_lease_desc, (vop_t *) ufs_lease_check },
{ &vop_link_desc, (vop_t *) ufs_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) ufs_lookup },
{ &vop_mkdir_desc, (vop_t *) ufs_mkdir },
{ &vop_mknod_desc, (vop_t *) ufs_mknod },
{ &vop_mmap_desc, (vop_t *) ufs_mmap },
{ &vop_open_desc, (vop_t *) ufs_open },
{ &vop_pathconf_desc, (vop_t *) ufs_pathconf },
{ &vop_poll_desc, (vop_t *) ufs_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) lfs_read },
{ &vop_readdir_desc, (vop_t *) ufs_readdir },
{ &vop_readlink_desc, (vop_t *) ufs_readlink },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) ufs_remove },
{ &vop_rename_desc, (vop_t *) ufs_rename },
{ &vop_revoke_desc, (vop_t *) ufs_revoke },
{ &vop_rmdir_desc, (vop_t *) ufs_rmdir },
{ &vop_seek_desc, (vop_t *) ufs_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) ufs_strategy },
{ &vop_symlink_desc, (vop_t *) ufs_symlink },
{ &vop_truncate_desc, (vop_t *) lfs_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) lfs_update },
{ &vop_valloc_desc, (vop_t *) lfs_valloc },
{ &vop_vfree_desc, (vop_t *) lfs_vfree },
{ &vop_whiteout_desc, (vop_t *) ufs_whiteout },
{ &vop_write_desc, (vop_t *) lfs_write },
{ &vop_lookup_desc, (vop_t *) ufs_lookup },
{ NULL, NULL }
};
static struct vnodeopv_desc lfs_vnodeop_opv_desc =
@ -123,49 +93,11 @@ static struct vnodeopv_desc lfs_vnodeop_opv_desc =
vop_t **lfs_specop_p;
static struct vnodeopv_entry_desc lfs_specop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_blkatoff },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_default_desc, (vop_t *) ufs_vnoperatespec },
{ &vop_bwrite_desc, (vop_t *) lfs_bwrite },
{ &vop_close_desc, (vop_t *) ufsspec_close },
{ &vop_create_desc, (vop_t *) spec_create },
{ &vop_fsync_desc, (vop_t *) spec_fsync },
{ &vop_getattr_desc, (vop_t *) lfs_getattr },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
{ &vop_ioctl_desc, (vop_t *) spec_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_lease_desc, (vop_t *) spec_lease_check },
{ &vop_link_desc, (vop_t *) spec_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &vop_mkdir_desc, (vop_t *) spec_mkdir },
{ &vop_mknod_desc, (vop_t *) spec_mknod },
{ &vop_mmap_desc, (vop_t *) spec_mmap },
{ &vop_open_desc, (vop_t *) spec_open },
{ &vop_pathconf_desc, (vop_t *) spec_pathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ufsspec_read },
{ &vop_readdir_desc, (vop_t *) spec_readdir },
{ &vop_readlink_desc, (vop_t *) spec_readlink },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) spec_remove },
{ &vop_rename_desc, (vop_t *) spec_rename },
{ &vop_revoke_desc, (vop_t *) spec_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_rmdir },
{ &vop_seek_desc, (vop_t *) spec_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_symlink },
{ &vop_truncate_desc, (vop_t *) spec_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) lfs_update },
{ &vop_valloc_desc, (vop_t *) spec_valloc },
{ &vop_vfree_desc, (vop_t *) lfs_vfree },
{ &vop_write_desc, (vop_t *) ufsspec_write },
{ NULL, NULL }
};
static struct vnodeopv_desc lfs_specop_opv_desc =
@ -173,49 +105,11 @@ static struct vnodeopv_desc lfs_specop_opv_desc =
vop_t **lfs_fifoop_p;
static struct vnodeopv_entry_desc lfs_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fifo_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_blkatoff_desc, (vop_t *) fifo_blkatoff },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_default_desc, (vop_t *) ufs_vnoperatefifo },
{ &vop_bwrite_desc, (vop_t *) lfs_bwrite },
{ &vop_close_desc, (vop_t *) ufsfifo_close },
{ &vop_create_desc, (vop_t *) fifo_create },
{ &vop_fsync_desc, (vop_t *) fifo_fsync },
{ &vop_getattr_desc, (vop_t *) lfs_getattr },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
{ &vop_ioctl_desc, (vop_t *) fifo_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_lease_desc, (vop_t *) fifo_lease_check },
{ &vop_link_desc, (vop_t *) fifo_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &vop_mkdir_desc, (vop_t *) fifo_mkdir },
{ &vop_mknod_desc, (vop_t *) fifo_mknod },
{ &vop_mmap_desc, (vop_t *) fifo_mmap },
{ &vop_open_desc, (vop_t *) fifo_open },
{ &vop_pathconf_desc, (vop_t *) fifo_pathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ufsfifo_read },
{ &vop_readdir_desc, (vop_t *) fifo_readdir },
{ &vop_readlink_desc, (vop_t *) fifo_readlink },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) fifo_remove },
{ &vop_rename_desc, (vop_t *) fifo_rename },
{ &vop_revoke_desc, (vop_t *) fifo_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_rmdir },
{ &vop_seek_desc, (vop_t *) fifo_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) fifo_strategy },
{ &vop_symlink_desc, (vop_t *) fifo_symlink },
{ &vop_truncate_desc, (vop_t *) fifo_truncate },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_update_desc, (vop_t *) lfs_update },
{ &vop_valloc_desc, (vop_t *) fifo_valloc },
{ &vop_vfree_desc, (vop_t *) lfs_vfree },
{ &vop_write_desc, (vop_t *) ufsfifo_write },
{ NULL, NULL }
};
static struct vnodeopv_desc lfs_fifoop_opv_desc =

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)mfs_vnops.c 8.11 (Berkeley) 5/22/95
* $Id: mfs_vnops.c,v 1.22 1997/10/15 09:22:02 phk Exp $
* $Id: mfs_vnops.c,v 1.23 1997/10/15 10:05:29 phk Exp $
*/
#include <sys/param.h>
@ -55,6 +55,7 @@
static int mfs_badop __P((void));
static int mfs_bmap __P((struct vop_bmap_args *));
static int mfs_close __P((struct vop_close_args *));
static int mfs_fsync __P((struct vop_fsync_args *));
static int mfs_ioctl __P((struct vop_ioctl_args *));
static int mfs_inactive __P((struct vop_inactive_args *)); /* XXX */
static int mfs_open __P((struct vop_open_args *));
@ -74,7 +75,7 @@ static struct vnodeopv_entry_desc mfs_vnodeop_entries[] = {
{ &vop_bwrite_desc, (vop_t *) mfs_bwrite },
{ &vop_close_desc, (vop_t *) mfs_close },
{ &vop_create_desc, (vop_t *) mfs_create },
{ &vop_fsync_desc, (vop_t *) spec_fsync },
{ &vop_fsync_desc, (vop_t *) mfs_fsync },
{ &vop_getattr_desc, (vop_t *) mfs_getattr },
{ &vop_inactive_desc, (vop_t *) mfs_inactive },
{ &vop_ioctl_desc, (vop_t *) mfs_ioctl },
@ -139,6 +140,14 @@ mfs_open(ap)
return (0);
}
static int
mfs_fsync(ap)
struct vop_fsync_args *ap;
{
return (VOCALL(spec_vnodeop_p, VOFFSET(vop_fsync), ap));
}
/*
* Ioctl operation.
*/

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_extern.h 8.10 (Berkeley) 5/14/95
* $Id: ufs_extern.h,v 1.17 1997/09/14 02:58:10 peter Exp $
* $Id: ufs_extern.h,v 1.18 1997/10/10 18:18:12 phk Exp $
*/
#ifndef _UFS_UFS_EXTERN_H_
@ -52,6 +52,10 @@ struct vattr;
struct vfsconf;
struct vnode;
int ufs_vnoperate __P((struct vop_generic_args *));
int ufs_vnoperatefifo __P((struct vop_generic_args *));
int ufs_vnoperatespec __P((struct vop_generic_args *));
int ufs_abortop __P((struct vop_abortop_args *));
int ufs_access __P((struct vop_access_args *));
int ufs_advlock __P((struct vop_advlock_args *));

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95
* $Id: ufs_vnops.c,v 1.57 1997/09/14 02:58:12 peter Exp $
* $Id: ufs_vnops.c,v 1.58 1997/09/21 04:24:14 dyson Exp $
*/
#include "opt_quota.h"
@ -68,6 +68,7 @@
static int ufs_chmod __P((struct vnode *, int, struct ucred *, struct proc *));
static int ufs_chown
__P((struct vnode *, uid_t, gid_t, struct ucred *, struct proc *));
static int ufs_missingop __P((struct vop_generic_args *ap));
#ifdef EXT2FS
#include <gnu/ext2fs/ext2_extern.h>
@ -2158,3 +2159,155 @@ ufs_makeinode(mode, dvp, vpp, cnp)
vput(tvp);
return (error);
}
static int
ufs_missingop(ap)
struct vop_generic_args *ap;
{
printf("Missing VOP function (%s) in UFS child",
ap->a_desc->vdesc_name);
panic("Missing VOP function in UFS");
return(EOPNOTSUPP);
}
/* Global vfs data structures for ufs. */
vop_t **ufs_vnodeop_p;
static struct vnodeopv_entry_desc ufs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_blkatoff_desc, (vop_t *) ufs_missingop },
{ &vop_fsync_desc, (vop_t *) ufs_missingop },
{ &vop_getpages_desc, (vop_t *) ufs_missingop },
{ &vop_read_desc, (vop_t *) ufs_missingop },
{ &vop_reallocblks_desc, (vop_t *) ufs_missingop },
{ &vop_truncate_desc, (vop_t *) ufs_missingop },
{ &vop_update_desc, (vop_t *) ufs_missingop },
{ &vop_valloc_desc, (vop_t *) ufs_missingop },
{ &vop_vfree_desc, (vop_t *) ufs_missingop },
{ &vop_write_desc, (vop_t *) ufs_missingop },
{ &vop_abortop_desc, (vop_t *) ufs_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) ufs_advlock },
{ &vop_bmap_desc, (vop_t *) ufs_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_cachedlookup_desc, (vop_t *) ufs_lookup },
{ &vop_close_desc, (vop_t *) ufs_close },
{ &vop_create_desc, (vop_t *) ufs_create },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
{ &vop_ioctl_desc, (vop_t *) ufs_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_lease_desc, (vop_t *) ufs_lease_check },
{ &vop_link_desc, (vop_t *) ufs_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
{ &vop_mkdir_desc, (vop_t *) ufs_mkdir },
{ &vop_mknod_desc, (vop_t *) ufs_mknod },
{ &vop_mmap_desc, (vop_t *) ufs_mmap },
{ &vop_open_desc, (vop_t *) ufs_open },
{ &vop_pathconf_desc, (vop_t *) ufs_pathconf },
{ &vop_poll_desc, (vop_t *) ufs_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_readdir_desc, (vop_t *) ufs_readdir },
{ &vop_readlink_desc, (vop_t *) ufs_readlink },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) ufs_remove },
{ &vop_rename_desc, (vop_t *) ufs_rename },
{ &vop_revoke_desc, (vop_t *) ufs_revoke },
{ &vop_rmdir_desc, (vop_t *) ufs_rmdir },
{ &vop_seek_desc, (vop_t *) ufs_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_strategy_desc, (vop_t *) ufs_strategy },
{ &vop_symlink_desc, (vop_t *) ufs_symlink },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_whiteout_desc, (vop_t *) ufs_whiteout },
{ NULL, NULL }
};
static struct vnodeopv_desc ufs_vnodeop_opv_desc =
{ &ufs_vnodeop_p, ufs_vnodeop_entries };
vop_t **ufs_specop_p;
static struct vnodeopv_entry_desc ufs_specop_entries[] = {
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_fsync_desc, (vop_t *) ufs_missingop },
{ &vop_update_desc, (vop_t *) ufs_missingop },
{ &vop_vfree_desc, (vop_t *) ufs_missingop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) ufsspec_close },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ufsspec_read },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_write_desc, (vop_t *) ufsspec_write },
{ NULL, NULL }
};
static struct vnodeopv_desc ufs_specop_opv_desc =
{ &ufs_specop_p, ufs_specop_entries };
vop_t **ufs_fifoop_p;
static struct vnodeopv_entry_desc ufs_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
{ &vop_fsync_desc, (vop_t *) ufs_missingop },
{ &vop_update_desc, (vop_t *) ufs_missingop },
{ &vop_vfree_desc, (vop_t *) ufs_missingop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) ufsfifo_close },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_read_desc, (vop_t *) ufsfifo_read },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
{ &vop_unlock_desc, (vop_t *) ufs_unlock },
{ &vop_write_desc, (vop_t *) ufsfifo_write },
{ NULL, NULL }
};
static struct vnodeopv_desc ufs_fifoop_opv_desc =
{ &ufs_fifoop_p, ufs_fifoop_entries };
VNODEOP_SET(ufs_vnodeop_opv_desc);
VNODEOP_SET(ufs_specop_opv_desc);
VNODEOP_SET(ufs_fifoop_opv_desc);
int
ufs_vnoperate(ap)
struct vop_generic_args /* {
struct vnodeop_desc *a_desc;
} */ *ap;
{
return (VOCALL(ufs_vnodeop_p, ap->a_desc->vdesc_offset, ap));
}
int
ufs_vnoperatefifo(ap)
struct vop_generic_args /* {
struct vnodeop_desc *a_desc;
} */ *ap;
{
return (VOCALL(ufs_fifoop_p, ap->a_desc->vdesc_offset, ap));
}
int
ufs_vnoperatespec(ap)
struct vop_generic_args /* {
struct vnodeop_desc *a_desc;
} */ *ap;
{
return (VOCALL(ufs_specop_p, ap->a_desc->vdesc_offset, ap));
}