diff options
author | phk <phk@FreeBSD.org> | 1997-10-16 20:32:40 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1997-10-16 20:32:40 +0000 |
commit | 373a865574ccc2ae06911beddc7b809dd8449423 (patch) | |
tree | c9364701073c9acbc48233602bef7453a235a02d /sys/miscfs/devfs | |
parent | 49953d2a8b5e57272bcc9a4179f881d6b847830b (diff) | |
download | FreeBSD-src-373a865574ccc2ae06911beddc7b809dd8449423.zip FreeBSD-src-373a865574ccc2ae06911beddc7b809dd8449423.tar.gz |
Another VFS cleanup "kilo commit"
1. Remove VOP_UPDATE, it is (also) an UFS/{FFS,LFS,EXT2FS,MFS}
intereface function, and now lives in the ufsmount structure.
2. Remove VOP_SEEK, it was unused.
3. Add mode default vops:
VOP_ADVLOCK vop_einval
VOP_CLOSE vop_null
VOP_FSYNC vop_null
VOP_IOCTL vop_enotty
VOP_MMAP vop_einval
VOP_OPEN vop_null
VOP_PATHCONF vop_einval
VOP_READLINK vop_einval
VOP_REALLOCBLKS vop_eopnotsupp
And remove identical functionality from filesystems
4. Add vop_stdpathconf, which returns the canonical stuff. Use
it in the filesystems. (XXX: It's probably wrong that specfs
and fifofs sets this vop, shouldn't it come from the "host"
filesystem, for instance ufs or cd9660 ?)
5. Try to make system wide VOP functions have vop_* names.
6. Initialize the um_* vectors in LFS.
(Recompile your LKMS!!!)
Diffstat (limited to 'sys/miscfs/devfs')
-rw-r--r-- | sys/miscfs/devfs/devfs_vnops.c | 115 |
1 files changed, 2 insertions, 113 deletions
diff --git a/sys/miscfs/devfs/devfs_vnops.c b/sys/miscfs/devfs/devfs_vnops.c index 5ab722c..6bbf46d 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.43 1997/10/15 13:23:01 phk Exp $ + * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vnops.c,v 1.44 1997/10/16 10:48:12 phk Exp $ * * symlinks can wait 'til later. */ @@ -346,34 +346,6 @@ DBPRINT(("mknod\n")); #endif /* notyet */ static int -devfs_open(struct vop_open_args *ap) - /*struct vop_open_args { - struct vnode *a_vp; - int a_mode; - struct ucred *a_cred; - struct proc *a_p; - } */ -{ -DBPRINT(("open\n")); - return 0; -} - -#ifdef notyet -static int -devfs_close( struct vop_close_args *ap) - /*struct vop_close_args { - struct vnode *a_vp; - int a_fflag; - struct ucred *a_cred; - struct proc *a_p; - } */ -{ -DBPRINT(("close\n")); - return 0; -} -#endif /* notyet */ - -static int devfs_access(struct vop_access_args *ap) /*struct vop_access_args { struct vnode *a_vp; @@ -763,47 +735,7 @@ DBPRINT(("select\n")); return 1; /* filesystems never block? */ } -static int -devfs_mmap(struct vop_mmap_args *ap) - /*struct vop_mmap_args { - struct vnode *a_vp; - int a_fflags; - struct ucred *a_cred; - struct proc *a_p; - } */ -{ -DBPRINT(("mmap\n")); - return EINVAL; -} -/* - * Flush the blocks of a file to disk. - */ -static int -devfs_fsync(struct vop_fsync_args *ap) - /*struct vop_fsync_args { - struct vnode *a_vp; - struct ucred *a_cred; - int a_waitfor; - struct proc *a_p; - } */ -{ -DBPRINT(("fsync\n")); - return(0); -} - -static int -devfs_seek(struct vop_seek_args *ap) - /*struct vop_seek_args { - struct vnode *a_vp; - off_t a_oldoff; - off_t a_newoff; - struct ucred *a_cred; - } */ -{ -DBPRINT(("seek\n")); - return 0; -} #endif /* notyet */ static int @@ -1525,44 +1457,6 @@ DBPRINT(("reclaim\n")); } /* - * Return POSIX pathconf information applicable to special devices. - */ -static int -devfs_pathconf(struct vop_pathconf_args *ap) - /*struct vop_pathconf_args { - struct vnode *a_vp; - int a_name; - int *a_retval; - } */ -{ - - switch (ap->a_name) { - case _PC_LINK_MAX: - *ap->a_retval = LINK_MAX; - return (0); - case _PC_MAX_CANON: - *ap->a_retval = MAX_CANON; - return (0); - case _PC_MAX_INPUT: - *ap->a_retval = MAX_INPUT; - return (0); - case _PC_PIPE_BUF: - *ap->a_retval = PIPE_BUF; - return (0); - case _PC_CHOWN_RESTRICTED: - *ap->a_retval = 1; - return (0); - case _PC_VDISABLE: - *ap->a_retval = _POSIX_VDISABLE; - return (0); - default: - return (EINVAL); - } - /* NOTREACHED */ -} - - -/* * Print out the contents of a /devfs vnode. */ static int @@ -1629,19 +1523,15 @@ devfs_dropvnode(dn_p dnp) vop_t **devfs_vnodeop_p; static struct vnodeopv_entry_desc devfs_vnodeop_entries[] = { { &vop_default_desc, (vop_t *) vn_default_error }, - { &vop_abortop_desc, (vop_t *) nullop }, { &vop_access_desc, (vop_t *) devfs_access }, { &vop_bmap_desc, (vop_t *) devfs_badop }, - { &vop_close_desc, (vop_t *) nullop }, - { &vop_fsync_desc, (vop_t *) nullop }, { &vop_getattr_desc, (vop_t *) devfs_getattr }, { &vop_inactive_desc, (vop_t *) devfs_inactive }, { &vop_islocked_desc, (vop_t *) vop_noislocked }, { &vop_link_desc, (vop_t *) devfs_link }, { &vop_lock_desc, (vop_t *) vop_nolock }, { &vop_lookup_desc, (vop_t *) devfs_lookup }, - { &vop_open_desc, (vop_t *) devfs_open }, - { &vop_pathconf_desc, (vop_t *) devfs_pathconf }, + { &vop_pathconf_desc, (vop_t *) vop_stdpathconf }, { &vop_print_desc, (vop_t *) devfs_print }, { &vop_read_desc, (vop_t *) devfs_read }, { &vop_readdir_desc, (vop_t *) devfs_readdir }, @@ -1649,7 +1539,6 @@ static struct vnodeopv_entry_desc devfs_vnodeop_entries[] = { { &vop_reclaim_desc, (vop_t *) devfs_reclaim }, { &vop_remove_desc, (vop_t *) devfs_remove }, { &vop_rename_desc, (vop_t *) devfs_rename }, - { &vop_seek_desc, (vop_t *) nullop }, { &vop_setattr_desc, (vop_t *) devfs_setattr }, { &vop_symlink_desc, (vop_t *) devfs_symlink }, { &vop_unlock_desc, (vop_t *) vop_nounlock }, |