From 138ec1f71aaaede702a0d6fa33094874d8b6f5e0 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Wed, 15 Oct 1997 13:24:07 +0000 Subject: 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. --- sys/miscfs/devfs/devfs_vnops.c | 41 ++++------------------------------------- 1 file changed, 4 insertions(+), 37 deletions(-) (limited to 'sys/miscfs/devfs') diff --git a/sys/miscfs/devfs/devfs_vnops.c b/sys/miscfs/devfs/devfs_vnops.c index 6ca4e19d34acb..a97b5a9aeacef 100644 --- a/sys/miscfs/devfs/devfs_vnops.c +++ b/sys/miscfs/devfs/devfs_vnops.c @@ -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 } }; -- cgit v1.3