summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1997-10-16 20:32:40 +0000
committerphk <phk@FreeBSD.org>1997-10-16 20:32:40 +0000
commit373a865574ccc2ae06911beddc7b809dd8449423 (patch)
treec9364701073c9acbc48233602bef7453a235a02d
parent49953d2a8b5e57272bcc9a4179f881d6b847830b (diff)
downloadFreeBSD-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!!!)
-rw-r--r--sys/fs/cd9660/cd9660_vnops.c103
-rw-r--r--sys/fs/deadfs/dead_vnops.c8
-rw-r--r--sys/fs/fdescfs/fdesc_vnops.c45
-rw-r--r--sys/fs/fifofs/fifo_vnops.c37
-rw-r--r--sys/fs/msdosfs/msdosfs_vnops.c123
-rw-r--r--sys/fs/portalfs/portal_vnops.c44
-rw-r--r--sys/fs/procfs/procfs_vnops.c65
-rw-r--r--sys/fs/specfs/spec_vnops.c47
-rw-r--r--sys/fs/unionfs/union_vnops.c19
-rw-r--r--sys/gnu/ext2fs/ext2_alloc.c2
-rw-r--r--sys/gnu/ext2fs/ext2_extern.h2
-rw-r--r--sys/gnu/ext2fs/ext2_inode.c31
-rw-r--r--sys/gnu/ext2fs/ext2_mount.h4
-rw-r--r--sys/gnu/ext2fs/ext2_readwrite.c2
-rw-r--r--sys/gnu/ext2fs/ext2_vfsops.c1
-rw-r--r--sys/gnu/ext2fs/ext2_vnops.c5
-rw-r--r--sys/gnu/fs/ext2fs/ext2_alloc.c2
-rw-r--r--sys/gnu/fs/ext2fs/ext2_extern.h2
-rw-r--r--sys/gnu/fs/ext2fs/ext2_inode.c31
-rw-r--r--sys/gnu/fs/ext2fs/ext2_mount.h4
-rw-r--r--sys/gnu/fs/ext2fs/ext2_readwrite.c2
-rw-r--r--sys/gnu/fs/ext2fs/ext2_vfsops.c1
-rw-r--r--sys/gnu/fs/ext2fs/ext2_vnops.c5
-rw-r--r--sys/isofs/cd9660/cd9660_vnops.c103
-rw-r--r--sys/kern/vfs_default.c82
-rw-r--r--sys/kern/vnode_if.src23
-rw-r--r--sys/miscfs/deadfs/dead_vnops.c8
-rw-r--r--sys/miscfs/devfs/devfs_vnops.c115
-rw-r--r--sys/miscfs/fdesc/fdesc_vnops.c45
-rw-r--r--sys/miscfs/fifofs/fifo_vnops.c37
-rw-r--r--sys/miscfs/kernfs/kernfs_vnops.c59
-rw-r--r--sys/miscfs/portal/portal_vnops.c44
-rw-r--r--sys/miscfs/procfs/procfs_vnops.c65
-rw-r--r--sys/miscfs/specfs/spec_vnops.c47
-rw-r--r--sys/miscfs/union/union_vnops.c19
-rw-r--r--sys/msdosfs/msdosfs_vnops.c123
-rw-r--r--sys/nfs/nfs_vnops.c38
-rw-r--r--sys/nfsclient/nfs_vnops.c38
-rw-r--r--sys/sys/vnode.h20
-rw-r--r--sys/ufs/ffs/ffs_alloc.c4
-rw-r--r--sys/ufs/ffs/ffs_extern.h4
-rw-r--r--sys/ufs/ffs/ffs_inode.c33
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c7
-rw-r--r--sys/ufs/ffs/ffs_vnops.c7
-rw-r--r--sys/ufs/lfs/lfs_extern.h4
-rw-r--r--sys/ufs/lfs/lfs_inode.c29
-rw-r--r--sys/ufs/lfs/lfs_vfsops.c7
-rw-r--r--sys/ufs/lfs/lfs_vnops.c7
-rw-r--r--sys/ufs/mfs/mfs_vnops.c23
-rw-r--r--sys/ufs/ufs/ufs_inode.c4
-rw-r--r--sys/ufs/ufs/ufs_readwrite.c4
-rw-r--r--sys/ufs/ufs/ufs_vnops.c100
-rw-r--r--sys/ufs/ufs/ufsmount.h4
53 files changed, 240 insertions, 1448 deletions
diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c
index b794436..0318324 100644
--- a/sys/fs/cd9660/cd9660_vnops.c
+++ b/sys/fs/cd9660/cd9660_vnops.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95
- * $Id: cd9660_vnops.c,v 1.43 1997/10/15 13:22:39 phk Exp $
+ * $Id: cd9660_vnops.c,v 1.44 1997/10/16 10:47:47 phk Exp $
*/
#include <sys/param.h>
@@ -59,14 +59,9 @@
#include <isofs/cd9660/iso_rrip.h>
static int cd9660_setattr __P((struct vop_setattr_args *));
-static int cd9660_open __P((struct vop_open_args *));
-static int cd9660_close __P((struct vop_close_args *));
static int cd9660_access __P((struct vop_access_args *));
static int cd9660_getattr __P((struct vop_getattr_args *));
static int cd9660_read __P((struct vop_read_args *));
-static int cd9660_ioctl __P((struct vop_ioctl_args *));
-static int cd9660_mmap __P((struct vop_mmap_args *));
-static int cd9660_seek __P((struct vop_seek_args *));
struct isoreaddir;
static int iso_uiodir __P((struct isoreaddir *idp, struct dirent *dp,
off_t off));
@@ -118,42 +113,6 @@ cd9660_setattr(ap)
}
/*
- * Open called.
- *
- * Nothing to do.
- */
-/* ARGSUSED */
-static int
-cd9660_open(ap)
- struct vop_open_args /* {
- struct vnode *a_vp;
- int a_mode;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return (0);
-}
-
-/*
- * Close called
- *
- * Update the times on the inode on writeable file systems.
- */
-/* ARGSUSED */
-static int
-cd9660_close(ap)
- struct vop_close_args /* {
- struct vnode *a_vp;
- int a_fflag;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return (0);
-}
-
-/*
* Check mode permission on inode pointer. Mode is READ, WRITE or EXEC.
* The mode is shifted to select the owner/group/other fields. The
* super user is granted all permissions.
@@ -357,60 +316,6 @@ cd9660_read(ap)
return (error);
}
-/* ARGSUSED */
-static int
-cd9660_ioctl(ap)
- struct vop_ioctl_args /* {
- struct vnode *a_vp;
- u_long a_command;
- caddr_t a_data;
- int a_fflag;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- printf("You did ioctl for isofs !!\n");
- return (ENOTTY);
-}
-
-/*
- * Mmap a file
- *
- * NB Currently unsupported.
- */
-/* ARGSUSED */
-static int
-cd9660_mmap(ap)
- struct vop_mmap_args /* {
- struct vnode *a_vp;
- int a_fflags;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
-
- return (EINVAL);
-}
-
-/*
- * Seek on a file
- *
- * Nothing to do, so just return.
- */
-/* ARGSUSED */
-static int
-cd9660_seek(ap)
- struct vop_seek_args /* {
- struct vnode *a_vp;
- off_t a_oldoff;
- off_t a_newoff;
- struct ucred *a_cred;
- } */ *ap;
-{
-
- return (0);
-}
-
/*
* Structure for reading directories
*/
@@ -962,23 +867,17 @@ struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = {
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_bmap_desc, (vop_t *) cd9660_bmap },
{ &vop_cachedlookup_desc, (vop_t *) cd9660_lookup },
- { &vop_close_desc, (vop_t *) cd9660_close },
- { &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
- { &vop_ioctl_desc, (vop_t *) cd9660_ioctl },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
{ &vop_lock_desc, (vop_t *) cd9660_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
- { &vop_mmap_desc, (vop_t *) cd9660_mmap },
- { &vop_open_desc, (vop_t *) cd9660_open },
{ &vop_pathconf_desc, (vop_t *) cd9660_pathconf },
{ &vop_print_desc, (vop_t *) cd9660_print },
{ &vop_read_desc, (vop_t *) cd9660_read },
{ &vop_readdir_desc, (vop_t *) cd9660_readdir },
{ &vop_readlink_desc, (vop_t *) cd9660_readlink },
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
- { &vop_seek_desc, (vop_t *) cd9660_seek },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_strategy_desc, (vop_t *) cd9660_strategy },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
diff --git a/sys/fs/deadfs/dead_vnops.c b/sys/fs/deadfs/dead_vnops.c
index 3c41130..051977f 100644
--- a/sys/fs/deadfs/dead_vnops.c
+++ b/sys/fs/deadfs/dead_vnops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)dead_vnops.c 8.1 (Berkeley) 6/10/93
- * $Id: dead_vnops.c,v 1.17 1997/10/15 10:04:03 phk Exp $
+ * $Id: dead_vnops.c,v 1.18 1997/10/16 10:48:06 phk Exp $
*/
#include <sys/param.h>
@@ -61,9 +61,7 @@ static struct vnodeopv_entry_desc dead_vnodeop_entries[] = {
{ &vop_access_desc, (vop_t *) dead_ebadf },
{ &vop_advlock_desc, (vop_t *) dead_ebadf },
{ &vop_bmap_desc, (vop_t *) dead_bmap },
- { &vop_close_desc, (vop_t *) nullop },
{ &vop_create_desc, (vop_t *) dead_badop },
- { &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) dead_ebadf },
{ &vop_inactive_desc, (vop_t *) nullop },
{ &vop_ioctl_desc, (vop_t *) dead_ioctl },
@@ -75,7 +73,7 @@ static struct vnodeopv_entry_desc dead_vnodeop_entries[] = {
{ &vop_mknod_desc, (vop_t *) dead_badop },
{ &vop_mmap_desc, (vop_t *) dead_badop },
{ &vop_open_desc, (vop_t *) dead_open },
- { &vop_pathconf_desc, (vop_t *) dead_ebadf },
+ { &vop_pathconf_desc, (vop_t *) dead_ebadf }, /* per pathconf(2) */
{ &vop_print_desc, (vop_t *) dead_print },
{ &vop_read_desc, (vop_t *) dead_read },
{ &vop_readdir_desc, (vop_t *) dead_ebadf },
@@ -84,11 +82,9 @@ static struct vnodeopv_entry_desc dead_vnodeop_entries[] = {
{ &vop_remove_desc, (vop_t *) dead_badop },
{ &vop_rename_desc, (vop_t *) dead_badop },
{ &vop_rmdir_desc, (vop_t *) dead_badop },
- { &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) dead_ebadf },
{ &vop_symlink_desc, (vop_t *) dead_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
- { &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) dead_write },
{ NULL, NULL }
};
diff --git a/sys/fs/fdescfs/fdesc_vnops.c b/sys/fs/fdescfs/fdesc_vnops.c
index 7793177..ccc5e5b 100644
--- a/sys/fs/fdescfs/fdesc_vnops.c
+++ b/sys/fs/fdescfs/fdesc_vnops.c
@@ -35,7 +35,7 @@
*
* @(#)fdesc_vnops.c 8.9 (Berkeley) 1/21/94
*
- * $Id: fdesc_vnops.c,v 1.28 1997/10/15 10:04:12 phk Exp $
+ * $Id: fdesc_vnops.c,v 1.29 1997/10/16 10:48:18 phk Exp $
*/
/*
@@ -91,7 +91,6 @@ static int fdesc_inactive __P((struct vop_inactive_args *ap));
static int fdesc_ioctl __P((struct vop_ioctl_args *ap));
static int fdesc_lookup __P((struct vop_lookup_args *ap));
static int fdesc_open __P((struct vop_open_args *ap));
-static int fdesc_pathconf __P((struct vop_pathconf_args *ap));
static int fdesc_print __P((struct vop_print_args *ap));
static int fdesc_read __P((struct vop_read_args *ap));
static int fdesc_readdir __P((struct vop_readdir_args *ap));
@@ -831,43 +830,6 @@ fdesc_reclaim(ap)
}
/*
- * Return POSIX pathconf information applicable to special devices.
- */
-static int
-fdesc_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- 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 /dev/fd vnode.
*/
/* ARGSUSED */
@@ -897,8 +859,6 @@ static struct vnodeopv_entry_desc fdesc_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_access_desc, (vop_t *) nullop },
{ &vop_bmap_desc, (vop_t *) fdesc_badop },
- { &vop_close_desc, (vop_t *) nullop },
- { &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) fdesc_getattr },
{ &vop_inactive_desc, (vop_t *) fdesc_inactive },
{ &vop_ioctl_desc, (vop_t *) fdesc_ioctl },
@@ -906,14 +866,13 @@ static struct vnodeopv_entry_desc fdesc_vnodeop_entries[] = {
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) fdesc_lookup },
{ &vop_open_desc, (vop_t *) fdesc_open },
- { &vop_pathconf_desc, (vop_t *) fdesc_pathconf },
+ { &vop_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_poll_desc, (vop_t *) fdesc_poll },
{ &vop_print_desc, (vop_t *) fdesc_print },
{ &vop_read_desc, (vop_t *) fdesc_read },
{ &vop_readdir_desc, (vop_t *) fdesc_readdir },
{ &vop_readlink_desc, (vop_t *) fdesc_readlink },
{ &vop_reclaim_desc, (vop_t *) fdesc_reclaim },
- { &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) fdesc_setattr },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) fdesc_write },
diff --git a/sys/fs/fifofs/fifo_vnops.c b/sys/fs/fifofs/fifo_vnops.c
index 0b157a54..8c46042 100644
--- a/sys/fs/fifofs/fifo_vnops.c
+++ b/sys/fs/fifofs/fifo_vnops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)fifo_vnops.c 8.10 (Berkeley) 5/27/95
- * $Id: fifo_vnops.c,v 1.31 1997/10/15 13:23:12 phk Exp $
+ * $Id: fifo_vnops.c,v 1.32 1997/10/16 10:48:25 phk Exp $
*/
#include <sys/param.h>
@@ -72,7 +72,6 @@ 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 *));
@@ -85,7 +84,6 @@ static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_close_desc, (vop_t *) fifo_close },
{ &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 },
@@ -96,9 +94,8 @@ static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &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_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) fifo_print },
{ &vop_read_desc, (vop_t *) fifo_read },
@@ -109,11 +106,9 @@ static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_remove_desc, (vop_t *) fifo_badop },
{ &vop_rename_desc, (vop_t *) fifo_badop },
{ &vop_rmdir_desc, (vop_t *) fifo_badop },
- { &vop_seek_desc, (vop_t *) fifo_badop },
{ &vop_setattr_desc, (vop_t *) fifo_ebadf },
{ &vop_symlink_desc, (vop_t *) fifo_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
- { &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) fifo_write },
{ NULL, NULL }
};
@@ -493,34 +488,6 @@ fifo_print(ap)
}
/*
- * Return POSIX pathconf information applicable to fifo's.
- */
-static int
-fifo_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- switch (ap->a_name) {
- case _PC_LINK_MAX:
- *ap->a_retval = LINK_MAX;
- return (0);
- case _PC_PIPE_BUF:
- *ap->a_retval = PIPE_BUF;
- return (0);
- case _PC_CHOWN_RESTRICTED:
- *ap->a_retval = 1;
- return (0);
- default:
- return (EINVAL);
- }
- /* NOTREACHED */
-}
-
-/*
* Fifo failed operation
*/
static int
diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c
index 6871b10..5adce6f 100644
--- a/sys/fs/msdosfs/msdosfs_vnops.c
+++ b/sys/fs/msdosfs/msdosfs_vnops.c
@@ -1,4 +1,4 @@
-/* $Id: msdosfs_vnops.c,v 1.47 1997/10/15 10:05:03 phk Exp $ */
+/* $Id: msdosfs_vnops.c,v 1.48 1997/10/16 10:48:52 phk Exp $ */
/* $NetBSD: msdosfs_vnops.c,v 1.20 1994/08/21 18:44:13 ws Exp $ */
/*-
@@ -79,18 +79,13 @@
*/
static int msdosfs_create __P((struct vop_create_args *));
static int msdosfs_mknod __P((struct vop_mknod_args *));
-static int msdosfs_open __P((struct vop_open_args *));
static int msdosfs_close __P((struct vop_close_args *));
static int msdosfs_access __P((struct vop_access_args *));
static int msdosfs_getattr __P((struct vop_getattr_args *));
static int msdosfs_setattr __P((struct vop_setattr_args *));
static int msdosfs_read __P((struct vop_read_args *));
static int msdosfs_write __P((struct vop_write_args *));
-static int msdosfs_ioctl __P((struct vop_ioctl_args *));
-static int msdosfs_poll __P((struct vop_poll_args *));
-static int msdosfs_mmap __P((struct vop_mmap_args *));
static int msdosfs_fsync __P((struct vop_fsync_args *));
-static int msdosfs_seek __P((struct vop_seek_args *));
static int msdosfs_remove __P((struct vop_remove_args *));
static int msdosfs_link __P((struct vop_link_args *));
static int msdosfs_rename __P((struct vop_rename_args *));
@@ -98,7 +93,6 @@ static int msdosfs_mkdir __P((struct vop_mkdir_args *));
static int msdosfs_rmdir __P((struct vop_rmdir_args *));
static int msdosfs_symlink __P((struct vop_symlink_args *));
static int msdosfs_readdir __P((struct vop_readdir_args *));
-static int msdosfs_readlink __P((struct vop_readlink_args *));
static int msdosfs_abortop __P((struct vop_abortop_args *));
static int msdosfs_lock __P((struct vop_lock_args *));
static int msdosfs_unlock __P((struct vop_unlock_args *));
@@ -106,9 +100,7 @@ static int msdosfs_bmap __P((struct vop_bmap_args *));
static int msdosfs_strategy __P((struct vop_strategy_args *));
static int msdosfs_print __P((struct vop_print_args *));
static int msdosfs_islocked __P((struct vop_islocked_args *));
-static int msdosfs_advlock __P((struct vop_advlock_args *));
static int msdosfs_pathconf __P((struct vop_pathconf_args *ap));
-static int msdosfs_reallocblks __P((struct vop_reallocblks_args *));
/*
* Some general notes:
@@ -215,18 +207,6 @@ msdosfs_mknod(ap)
}
static int
-msdosfs_open(ap)
- struct vop_open_args /* {
- struct vnode *a_vp;
- int a_mode;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return 0;
-}
-
-static int
msdosfs_close(ap)
struct vop_close_args /* {
struct vnode *a_vp;
@@ -826,45 +806,6 @@ errexit:
return error;
}
-static int
-msdosfs_ioctl(ap)
- struct vop_ioctl_args /* {
- struct vnode *a_vp;
- int a_command;
- caddr_t a_data;
- int a_fflag;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return ENOTTY;
-}
-
-static int
-msdosfs_poll(ap)
- struct vop_poll_args /* {
- struct vnode *a_vp;
- int a_events;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- /* DOS filesystems never block? */
- return (ap->a_events & (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM));
-}
-
-static int
-msdosfs_mmap(ap)
- struct vop_mmap_args /* {
- struct vnode *a_vp;
- int a_fflags;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return EINVAL;
-}
-
/*
* Flush the blocks of a file to disk.
*
@@ -919,22 +860,6 @@ loop:
return deupdat(VTODE(vp), &ts, wait);
}
-/*
- * Now the whole work of extending a file is done in the write function.
- * So nothing to do here.
- */
-static int
-msdosfs_seek(ap)
- struct vop_seek_args /* {
- struct vnode *a_vp;
- off_t a_oldoff;
- off_t a_newoff;
- struct ucred *a_cred;
- } */ *ap;
-{
- return 0;
-}
-
static int
msdosfs_remove(ap)
struct vop_remove_args /* {
@@ -1772,20 +1697,6 @@ out: ;
return error;
}
-/*
- * DOS filesystems don't know what symlinks are.
- */
-static int
-msdosfs_readlink(ap)
- struct vop_readlink_args /* {
- struct vnode *a_vp;
- struct uio *a_uio;
- struct ucred *a_cred;
- } */ *ap;
-{
- return EINVAL;
-}
-
static int
msdosfs_abortop(ap)
struct vop_abortop_args /* {
@@ -1873,17 +1784,6 @@ msdosfs_bmap(ap)
}
static int
-msdosfs_reallocblks(ap)
- struct vop_reallocblks_args /* {
- struct vnode *a_vp;
- struct cluster_save *a_buflist;
- } */ *ap;
-{
- /* Currently no support for clustering */ /* XXX */
- return ENOSPC;
-}
-
-static int
msdosfs_strategy(ap)
struct vop_strategy_args /* {
struct buf *a_bp;
@@ -1943,19 +1843,6 @@ msdosfs_print(ap)
}
static int
-msdosfs_advlock(ap)
- struct vop_advlock_args /* {
- struct vnode *a_vp;
- caddr_t a_id;
- int a_op;
- struct flock *a_fl;
- int a_flags;
- } */ *ap;
-{
- return EINVAL; /* we don't do locking yet */
-}
-
-static int
msdosfs_pathconf(ap)
struct vop_pathconf_args /* {
struct vnode *a_vp;
@@ -1990,7 +1877,6 @@ static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) msdosfs_abortop },
{ &vop_access_desc, (vop_t *) msdosfs_access },
- { &vop_advlock_desc, (vop_t *) msdosfs_advlock },
{ &vop_bmap_desc, (vop_t *) msdosfs_bmap },
{ &vop_cachedlookup_desc, (vop_t *) msdosfs_lookup },
{ &vop_close_desc, (vop_t *) msdosfs_close },
@@ -1998,27 +1884,20 @@ static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
{ &vop_fsync_desc, (vop_t *) msdosfs_fsync },
{ &vop_getattr_desc, (vop_t *) msdosfs_getattr },
{ &vop_inactive_desc, (vop_t *) msdosfs_inactive },
- { &vop_ioctl_desc, (vop_t *) msdosfs_ioctl },
{ &vop_islocked_desc, (vop_t *) msdosfs_islocked },
{ &vop_link_desc, (vop_t *) msdosfs_link },
{ &vop_lock_desc, (vop_t *) msdosfs_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
{ &vop_mkdir_desc, (vop_t *) msdosfs_mkdir },
{ &vop_mknod_desc, (vop_t *) msdosfs_mknod },
- { &vop_mmap_desc, (vop_t *) msdosfs_mmap },
- { &vop_open_desc, (vop_t *) msdosfs_open },
{ &vop_pathconf_desc, (vop_t *) msdosfs_pathconf },
- { &vop_poll_desc, (vop_t *) msdosfs_poll },
{ &vop_print_desc, (vop_t *) msdosfs_print },
{ &vop_read_desc, (vop_t *) msdosfs_read },
{ &vop_readdir_desc, (vop_t *) msdosfs_readdir },
- { &vop_readlink_desc, (vop_t *) msdosfs_readlink },
- { &vop_reallocblks_desc, (vop_t *) msdosfs_reallocblks },
{ &vop_reclaim_desc, (vop_t *) msdosfs_reclaim },
{ &vop_remove_desc, (vop_t *) msdosfs_remove },
{ &vop_rename_desc, (vop_t *) msdosfs_rename },
{ &vop_rmdir_desc, (vop_t *) msdosfs_rmdir },
- { &vop_seek_desc, (vop_t *) msdosfs_seek },
{ &vop_setattr_desc, (vop_t *) msdosfs_setattr },
{ &vop_strategy_desc, (vop_t *) msdosfs_strategy },
{ &vop_symlink_desc, (vop_t *) msdosfs_symlink },
diff --git a/sys/fs/portalfs/portal_vnops.c b/sys/fs/portalfs/portal_vnops.c
index d8c2230..df35f0c 100644
--- a/sys/fs/portalfs/portal_vnops.c
+++ b/sys/fs/portalfs/portal_vnops.c
@@ -35,7 +35,7 @@
*
* @(#)portal_vnops.c 8.14 (Berkeley) 5/21/95
*
- * $Id: portal_vnops.c,v 1.23 1997/10/15 10:04:34 phk Exp $
+ * $Id: portal_vnops.c,v 1.24 1997/10/16 10:48:35 phk Exp $
*/
/*
@@ -73,7 +73,6 @@ static int portal_getattr __P((struct vop_getattr_args *ap));
static int portal_inactive __P((struct vop_inactive_args *ap));
static int portal_lookup __P((struct vop_lookup_args *ap));
static int portal_open __P((struct vop_open_args *ap));
-static int portal_pathconf __P((struct vop_pathconf_args *ap));
static int portal_print __P((struct vop_print_args *ap));
static int portal_readdir __P((struct vop_readdir_args *ap));
static int portal_reclaim __P((struct vop_reclaim_args *ap));
@@ -559,42 +558,6 @@ portal_reclaim(ap)
return (0);
}
-/*
- * Return POSIX pathconf information applicable to special devices.
- */
-static int
-portal_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- 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 Portal vnode.
@@ -638,19 +601,16 @@ static struct vnodeopv_entry_desc portal_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_access_desc, (vop_t *) nullop },
{ &vop_bmap_desc, (vop_t *) portal_badop },
- { &vop_close_desc, (vop_t *) nullop },
- { &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) portal_getattr },
{ &vop_inactive_desc, (vop_t *) portal_inactive },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) portal_lookup },
{ &vop_open_desc, (vop_t *) portal_open },
- { &vop_pathconf_desc, (vop_t *) portal_pathconf },
+ { &vop_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_print_desc, (vop_t *) portal_print },
{ &vop_readdir_desc, (vop_t *) portal_readdir },
{ &vop_reclaim_desc, (vop_t *) portal_reclaim },
- { &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) portal_setattr },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ NULL, NULL }
diff --git a/sys/fs/procfs/procfs_vnops.c b/sys/fs/procfs/procfs_vnops.c
index ab62a4d..8caf5fe 100644
--- a/sys/fs/procfs/procfs_vnops.c
+++ b/sys/fs/procfs/procfs_vnops.c
@@ -36,7 +36,7 @@
*
* @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95
*
- * $Id: procfs_vnops.c,v 1.35 1997/10/15 10:04:38 phk Exp $
+ * $Id: procfs_vnops.c,v 1.36 1997/10/16 10:48:40 phk Exp $
*/
/*
@@ -64,10 +64,8 @@ static int procfs_bmap __P((struct vop_bmap_args *));
static int procfs_close __P((struct vop_close_args *));
static int procfs_getattr __P((struct vop_getattr_args *));
static int procfs_inactive __P((struct vop_inactive_args *));
-static int procfs_ioctl __P((struct vop_ioctl_args *));
static int procfs_lookup __P((struct vop_lookup_args *));
static int procfs_open __P((struct vop_open_args *));
-static int procfs_pathconf __P((struct vop_pathconf_args *ap));
static int procfs_print __P((struct vop_print_args *));
static int procfs_readdir __P((struct vop_readdir_args *));
static int procfs_readlink __P((struct vop_readlink_args *));
@@ -185,24 +183,6 @@ procfs_close(ap)
}
/*
- * do an ioctl operation on pfsnode (vp).
- * (vp) is not locked on entry or exit.
- */
-static int
-procfs_ioctl(ap)
- struct vop_ioctl_args /* {
- struct vnode *a_vp;
- int a_command;
- caddr_t a_data;
- int a_fflag;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return (ENOTTY);
-}
-
-/*
* do block mapping for pfsnode (vp).
* since we don't use the buffer cache
* for procfs this function should never
@@ -282,43 +262,6 @@ procfs_reclaim(ap)
}
/*
- * Return POSIX pathconf information applicable to special devices.
- */
-static int
-procfs_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- 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 is used for debugging.
* just print a readable description
* of (vp).
@@ -950,16 +893,14 @@ static struct vnodeopv_entry_desc procfs_vnodeop_entries[] = {
{ &vop_create_desc, (vop_t *) procfs_badop },
{ &vop_getattr_desc, (vop_t *) procfs_getattr },
{ &vop_inactive_desc, (vop_t *) procfs_inactive },
- { &vop_ioctl_desc, (vop_t *) procfs_ioctl },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_link_desc, (vop_t *) procfs_badop },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) procfs_lookup },
{ &vop_mkdir_desc, (vop_t *) procfs_badop },
{ &vop_mknod_desc, (vop_t *) procfs_badop },
- { &vop_mmap_desc, (vop_t *) procfs_badop },
{ &vop_open_desc, (vop_t *) procfs_open },
- { &vop_pathconf_desc, (vop_t *) procfs_pathconf },
+ { &vop_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_print_desc, (vop_t *) procfs_print },
{ &vop_read_desc, (vop_t *) procfs_rw },
{ &vop_readdir_desc, (vop_t *) procfs_readdir },
@@ -968,11 +909,9 @@ static struct vnodeopv_entry_desc procfs_vnodeop_entries[] = {
{ &vop_remove_desc, (vop_t *) procfs_badop },
{ &vop_rename_desc, (vop_t *) procfs_badop },
{ &vop_rmdir_desc, (vop_t *) procfs_badop },
- { &vop_seek_desc, (vop_t *) procfs_badop },
{ &vop_setattr_desc, (vop_t *) procfs_setattr },
{ &vop_symlink_desc, (vop_t *) procfs_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
- { &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) procfs_rw },
{ NULL, NULL }
};
diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c
index 12a9f29..bdf769b 100644
--- a/sys/fs/specfs/spec_vnops.c
+++ b/sys/fs/specfs/spec_vnops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)spec_vnops.c 8.14 (Berkeley) 5/21/95
- * $Id: spec_vnops.c,v 1.46 1997/10/15 13:23:18 phk Exp $
+ * $Id: spec_vnops.c,v 1.47 1997/10/16 10:48:46 phk Exp $
*/
#include <sys/param.h>
@@ -73,7 +73,6 @@ 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 *));
@@ -98,9 +97,8 @@ static struct vnodeopv_entry_desc spec_vnodeop_entries[] = {
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &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_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) spec_print },
{ &vop_read_desc, (vop_t *) spec_read },
@@ -111,12 +109,10 @@ static struct vnodeopv_entry_desc spec_vnodeop_entries[] = {
{ &vop_remove_desc, (vop_t *) spec_badop },
{ &vop_rename_desc, (vop_t *) spec_badop },
{ &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_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
- { &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) spec_write },
{ NULL, NULL }
};
@@ -473,7 +469,7 @@ spec_poll(ap)
dev = ap->a_vp->v_rdev;
return (*cdevsw[major(dev)]->d_poll)(dev, ap->a_events, ap->a_p);
default:
- return (vn_defaultop((struct vop_generic_args *)ap));
+ return (vop_defaultop((struct vop_generic_args *)ap));
}
}
@@ -686,43 +682,6 @@ spec_print(ap)
}
/*
- * Return POSIX pathconf information applicable to special devices.
- */
-static int
-spec_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- 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 */
-}
-
-/*
* Special device advisory byte-level locks.
*/
/* ARGSUSED */
diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c
index 9358834..e1c9a87 100644
--- a/sys/fs/unionfs/union_vnops.c
+++ b/sys/fs/unionfs/union_vnops.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* @(#)union_vnops.c 8.32 (Berkeley) 6/23/95
- * $Id: union_vnops.c,v 1.43 1997/10/15 09:21:32 phk Exp $
+ * $Id: union_vnops.c,v 1.44 1997/10/15 10:04:54 phk Exp $
*/
#include <sys/param.h>
@@ -94,7 +94,6 @@ static int union_remove __P((struct vop_remove_args *ap));
static int union_rename __P((struct vop_rename_args *ap));
static int union_revoke __P((struct vop_revoke_args *ap));
static int union_rmdir __P((struct vop_rmdir_args *ap));
-static int union_seek __P((struct vop_seek_args *ap));
static int union_poll __P((struct vop_poll_args *ap));
static int union_setattr __P((struct vop_setattr_args *ap));
static int union_strategy __P((struct vop_strategy_args *ap));
@@ -1035,21 +1034,6 @@ union_fsync(ap)
}
static int
-union_seek(ap)
- struct vop_seek_args /* {
- struct vnode *a_vp;
- off_t a_oldoff;
- off_t a_newoff;
- struct ucred *a_cred;
- } */ *ap;
-{
- register struct vnode *ovp = OTHERVP(ap->a_vp);
-
- ap->a_vp = ovp;
- return (VCALL(ovp, VOFFSET(vop_seek), ap));
-}
-
-static int
union_remove(ap)
struct vop_remove_args /* {
struct vnode *a_dvp;
@@ -1786,7 +1770,6 @@ static struct vnodeopv_entry_desc union_vnodeop_entries[] = {
{ &vop_rename_desc, (vop_t *) union_rename },
{ &vop_revoke_desc, (vop_t *) union_revoke },
{ &vop_rmdir_desc, (vop_t *) union_rmdir },
- { &vop_seek_desc, (vop_t *) union_seek },
{ &vop_setattr_desc, (vop_t *) union_setattr },
{ &vop_strategy_desc, (vop_t *) union_strategy },
{ &vop_symlink_desc, (vop_t *) union_symlink },
diff --git a/sys/gnu/ext2fs/ext2_alloc.c b/sys/gnu/ext2fs/ext2_alloc.c
index f78b6a5..ef0338d 100644
--- a/sys/gnu/ext2fs/ext2_alloc.c
+++ b/sys/gnu/ext2fs/ext2_alloc.c
@@ -349,7 +349,7 @@ return ENOSPC;
ip->i_flag |= IN_CHANGE | IN_UPDATE;
if (!doasyncfree) {
gettime(&tv);
- VOP_UPDATE(vp, &tv, &tv, MNT_WAIT);
+ UFS_UPDATE(vp, &tv, &tv, MNT_WAIT);
}
}
if (ssize < len)
diff --git a/sys/gnu/ext2fs/ext2_extern.h b/sys/gnu/ext2fs/ext2_extern.h
index b185f52..d6b04d0 100644
--- a/sys/gnu/ext2fs/ext2_extern.h
+++ b/sys/gnu/ext2fs/ext2_extern.h
@@ -62,7 +62,7 @@ int ext2_reallocblks __P((struct vop_reallocblks_args *));
int ext2_reclaim __P((struct vop_reclaim_args *));
void ext2_setblock __P((struct ext2_sb_info *, u_char *, daddr_t));
int ext2_truncate __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
-int ext2_update __P((struct vop_update_args *));
+int ext2_update __P((struct vnode *, struct timeval *, struct timeval *, int));
int ext2_valloc __P((struct vnode *, int, struct ucred *, struct vnode **));
int ext2_vfree __P((struct vnode *, ino_t, int));
int ext2_lookup __P((struct vop_cachedlookup_args *));
diff --git a/sys/gnu/ext2fs/ext2_inode.c b/sys/gnu/ext2fs/ext2_inode.c
index 0514022..001fd2d 100644
--- a/sys/gnu/ext2fs/ext2_inode.c
+++ b/sys/gnu/ext2fs/ext2_inode.c
@@ -63,6 +63,7 @@
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
+#include <ufs/ufs/ufsmount.h>
#include <ufs/ufs/ufs_extern.h>
#include <gnu/ext2fs/ext2_fs.h>
@@ -89,13 +90,11 @@ ext2_init(struct vfsconf *vfsp)
* complete.
*/
int
-ext2_update(ap)
- struct vop_update_args /* {
- struct vnode *a_vp;
- struct timeval *a_access;
- struct timeval *a_modify;
- int a_waitfor;
- } */ *ap;
+ext2_update(vp, access, modify, waitfor)
+ struct vnode *vp;
+ struct timeval *access;
+ struct timeval *modify;
+ int waitfor;
{
register struct ext2_sb_info *fs;
struct buf *bp;
@@ -105,8 +104,8 @@ ext2_update(ap)
struct timeval time;
#endif
- ip = VTOI(ap->a_vp);
- if (ap->a_vp->v_mount->mnt_flag & MNT_RDONLY) {
+ ip = VTOI(vp);
+ if (vp->v_mount->mnt_flag & MNT_RDONLY) {
ip->i_flag &=
~(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE);
return (0);
@@ -115,9 +114,9 @@ ext2_update(ap)
(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) == 0)
return (0);
if (ip->i_flag & IN_ACCESS)
- ip->i_atime = ap->a_access->tv_sec;
+ ip->i_atime = access->tv_sec;
if (ip->i_flag & IN_UPDATE) {
- ip->i_mtime = ap->a_modify->tv_sec;
+ ip->i_mtime = modify->tv_sec;
ip->i_modrev++;
}
if (ip->i_flag & IN_CHANGE) {
@@ -137,7 +136,7 @@ ext2_update(ap)
ext2_di2ei( &ip->i_din, (struct ext2_inode *) ((char *)bp->b_data + EXT2_INODE_SIZE *
ino_to_fsbo(fs, ip->i_number)));
/*
- if (ap->a_waitfor && (ap->a_vp->v_mount->mnt_flag & MNT_ASYNC) == 0)
+ if (waitfor && (vp->v_mount->mnt_flag & MNT_ASYNC) == 0)
return (bwrite(bp));
else {
*/
@@ -196,11 +195,11 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, length);
bzero((char *)&oip->i_shortlink, (u_int)oip->i_size);
oip->i_size = 0;
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(ovp, &tv, &tv, 1));
+ return (UFS_UPDATE(ovp, &tv, &tv, 1));
}
if (oip->i_size == length) {
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(ovp, &tv, &tv, 0));
+ return (UFS_UPDATE(ovp, &tv, &tv, 0));
}
#if QUOTA
if (error = getinoquota(oip))
@@ -233,7 +232,7 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, length);
else
bawrite(bp);
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(ovp, &tv, &tv, 1));
+ return (UFS_UPDATE(ovp, &tv, &tv, 1));
}
/*
* Shorten the size of the file. If the file is not being
@@ -292,7 +291,7 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, length);
for (i = NDADDR - 1; i > lastblock; i--)
oip->i_db[i] = 0;
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- if (error = VOP_UPDATE(ovp, &tv, &tv, MNT_WAIT))
+ if (error = UFS_UPDATE(ovp, &tv, &tv, MNT_WAIT))
allerror = error;
/*
* Having written the new inode to disk, save its new configuration
diff --git a/sys/gnu/ext2fs/ext2_mount.h b/sys/gnu/ext2fs/ext2_mount.h
index 50bfe57..ee79631 100644
--- a/sys/gnu/ext2fs/ext2_mount.h
+++ b/sys/gnu/ext2fs/ext2_mount.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ufsmount.h 8.6 (Berkeley) 3/30/95
- * $Id: ufsmount.h,v 1.10 1997/10/12 20:26:28 phk Exp $
+ * $Id: ufsmount.h,v 1.11 1997/10/16 10:50:27 phk Exp $
*/
#ifndef _UFS_UFS_UFSMOUNT_H_
@@ -99,12 +99,14 @@ struct ufsmount {
struct malloc_type *um_malloctype; /* The inodes malloctype */
int (*um_blkatoff) __P((struct vnode *, off_t, char **, struct buf **));
int (*um_truncate) __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
+ int (*um_update) __P((struct vnode *, struct timeval *, struct timeval *, int));
int (*um_valloc) __P((struct vnode *, int, struct ucred *, struct vnode **));
int (*um_vfree) __P((struct vnode *, ino_t, int));
};
#define UFS_BLKATOFF(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_blkatoff(aa, bb, cc, dd)
#define UFS_TRUNCATE(aa, bb, cc, dd, ee) VFSTOUFS((aa)->v_mount)->um_truncate(aa, bb, cc, dd, ee)
+#define UFS_UPDATE(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_update(aa, bb, cc, dd)
#define UFS_VALLOC(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_valloc(aa, bb, cc, dd)
#define UFS_VFREE(aa, bb, cc) VFSTOUFS((aa)->v_mount)->um_vfree(aa, bb, cc)
diff --git a/sys/gnu/ext2fs/ext2_readwrite.c b/sys/gnu/ext2fs/ext2_readwrite.c
index e1ab506..d748999 100644
--- a/sys/gnu/ext2fs/ext2_readwrite.c
+++ b/sys/gnu/ext2fs/ext2_readwrite.c
@@ -314,7 +314,7 @@ WRITE(ap)
}
} else if (resid > uio->uio_resid && (ioflag & IO_SYNC)) {
gettime(&tv);
- error = VOP_UPDATE(vp, &tv, &tv, 1);
+ error = UFS_UPDATE(vp, &tv, &tv, 1);
}
return (error);
}
diff --git a/sys/gnu/ext2fs/ext2_vfsops.c b/sys/gnu/ext2fs/ext2_vfsops.c
index 95ffa52..7112758 100644
--- a/sys/gnu/ext2fs/ext2_vfsops.c
+++ b/sys/gnu/ext2fs/ext2_vfsops.c
@@ -623,6 +623,7 @@ ext2_mountfs(devvp, mp, p)
ump->um_malloctype = M_EXT2NODE;
ump->um_blkatoff = ext2_blkatoff;
ump->um_truncate = ext2_truncate;
+ ump->um_update = ext2_update;
ump->um_valloc = ext2_valloc;
ump->um_vfree = ext2_vfree;
/* I don't know whether this is the right strategy. Note that
diff --git a/sys/gnu/ext2fs/ext2_vnops.c b/sys/gnu/ext2fs/ext2_vnops.c
index 48b5907..2fc383e 100644
--- a/sys/gnu/ext2fs/ext2_vnops.c
+++ b/sys/gnu/ext2fs/ext2_vnops.c
@@ -91,7 +91,6 @@ static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = {
{ &vop_read_desc, (vop_t *) ext2_read },
{ &vop_readdir_desc, (vop_t *) ext2_readdir },
{ &vop_reallocblks_desc, (vop_t *) ext2_reallocblks },
- { &vop_update_desc, (vop_t *) ext2_update },
{ &vop_write_desc, (vop_t *) ext2_write },
{ NULL, NULL }
};
@@ -103,7 +102,6 @@ static struct vnodeopv_entry_desc ext2_specop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperatespec },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
- { &vop_update_desc, (vop_t *) ext2_update },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_specop_opv_desc =
@@ -114,7 +112,6 @@ static struct vnodeopv_entry_desc ext2_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperatefifo },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
- { &vop_update_desc, (vop_t *) ext2_update },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_fifoop_opv_desc =
@@ -200,5 +197,5 @@ loop:
}
splx(s);
gettime(&tv);
- return (VOP_UPDATE(ap->a_vp, &tv, &tv, ap->a_waitfor == MNT_WAIT));
+ return (UFS_UPDATE(ap->a_vp, &tv, &tv, ap->a_waitfor == MNT_WAIT));
}
diff --git a/sys/gnu/fs/ext2fs/ext2_alloc.c b/sys/gnu/fs/ext2fs/ext2_alloc.c
index f78b6a5..ef0338d 100644
--- a/sys/gnu/fs/ext2fs/ext2_alloc.c
+++ b/sys/gnu/fs/ext2fs/ext2_alloc.c
@@ -349,7 +349,7 @@ return ENOSPC;
ip->i_flag |= IN_CHANGE | IN_UPDATE;
if (!doasyncfree) {
gettime(&tv);
- VOP_UPDATE(vp, &tv, &tv, MNT_WAIT);
+ UFS_UPDATE(vp, &tv, &tv, MNT_WAIT);
}
}
if (ssize < len)
diff --git a/sys/gnu/fs/ext2fs/ext2_extern.h b/sys/gnu/fs/ext2fs/ext2_extern.h
index b185f52..d6b04d0 100644
--- a/sys/gnu/fs/ext2fs/ext2_extern.h
+++ b/sys/gnu/fs/ext2fs/ext2_extern.h
@@ -62,7 +62,7 @@ int ext2_reallocblks __P((struct vop_reallocblks_args *));
int ext2_reclaim __P((struct vop_reclaim_args *));
void ext2_setblock __P((struct ext2_sb_info *, u_char *, daddr_t));
int ext2_truncate __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
-int ext2_update __P((struct vop_update_args *));
+int ext2_update __P((struct vnode *, struct timeval *, struct timeval *, int));
int ext2_valloc __P((struct vnode *, int, struct ucred *, struct vnode **));
int ext2_vfree __P((struct vnode *, ino_t, int));
int ext2_lookup __P((struct vop_cachedlookup_args *));
diff --git a/sys/gnu/fs/ext2fs/ext2_inode.c b/sys/gnu/fs/ext2fs/ext2_inode.c
index 0514022..001fd2d 100644
--- a/sys/gnu/fs/ext2fs/ext2_inode.c
+++ b/sys/gnu/fs/ext2fs/ext2_inode.c
@@ -63,6 +63,7 @@
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
+#include <ufs/ufs/ufsmount.h>
#include <ufs/ufs/ufs_extern.h>
#include <gnu/ext2fs/ext2_fs.h>
@@ -89,13 +90,11 @@ ext2_init(struct vfsconf *vfsp)
* complete.
*/
int
-ext2_update(ap)
- struct vop_update_args /* {
- struct vnode *a_vp;
- struct timeval *a_access;
- struct timeval *a_modify;
- int a_waitfor;
- } */ *ap;
+ext2_update(vp, access, modify, waitfor)
+ struct vnode *vp;
+ struct timeval *access;
+ struct timeval *modify;
+ int waitfor;
{
register struct ext2_sb_info *fs;
struct buf *bp;
@@ -105,8 +104,8 @@ ext2_update(ap)
struct timeval time;
#endif
- ip = VTOI(ap->a_vp);
- if (ap->a_vp->v_mount->mnt_flag & MNT_RDONLY) {
+ ip = VTOI(vp);
+ if (vp->v_mount->mnt_flag & MNT_RDONLY) {
ip->i_flag &=
~(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE);
return (0);
@@ -115,9 +114,9 @@ ext2_update(ap)
(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) == 0)
return (0);
if (ip->i_flag & IN_ACCESS)
- ip->i_atime = ap->a_access->tv_sec;
+ ip->i_atime = access->tv_sec;
if (ip->i_flag & IN_UPDATE) {
- ip->i_mtime = ap->a_modify->tv_sec;
+ ip->i_mtime = modify->tv_sec;
ip->i_modrev++;
}
if (ip->i_flag & IN_CHANGE) {
@@ -137,7 +136,7 @@ ext2_update(ap)
ext2_di2ei( &ip->i_din, (struct ext2_inode *) ((char *)bp->b_data + EXT2_INODE_SIZE *
ino_to_fsbo(fs, ip->i_number)));
/*
- if (ap->a_waitfor && (ap->a_vp->v_mount->mnt_flag & MNT_ASYNC) == 0)
+ if (waitfor && (vp->v_mount->mnt_flag & MNT_ASYNC) == 0)
return (bwrite(bp));
else {
*/
@@ -196,11 +195,11 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, length);
bzero((char *)&oip->i_shortlink, (u_int)oip->i_size);
oip->i_size = 0;
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(ovp, &tv, &tv, 1));
+ return (UFS_UPDATE(ovp, &tv, &tv, 1));
}
if (oip->i_size == length) {
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(ovp, &tv, &tv, 0));
+ return (UFS_UPDATE(ovp, &tv, &tv, 0));
}
#if QUOTA
if (error = getinoquota(oip))
@@ -233,7 +232,7 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, length);
else
bawrite(bp);
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(ovp, &tv, &tv, 1));
+ return (UFS_UPDATE(ovp, &tv, &tv, 1));
}
/*
* Shorten the size of the file. If the file is not being
@@ -292,7 +291,7 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, length);
for (i = NDADDR - 1; i > lastblock; i--)
oip->i_db[i] = 0;
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- if (error = VOP_UPDATE(ovp, &tv, &tv, MNT_WAIT))
+ if (error = UFS_UPDATE(ovp, &tv, &tv, MNT_WAIT))
allerror = error;
/*
* Having written the new inode to disk, save its new configuration
diff --git a/sys/gnu/fs/ext2fs/ext2_mount.h b/sys/gnu/fs/ext2fs/ext2_mount.h
index 50bfe57..ee79631 100644
--- a/sys/gnu/fs/ext2fs/ext2_mount.h
+++ b/sys/gnu/fs/ext2fs/ext2_mount.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ufsmount.h 8.6 (Berkeley) 3/30/95
- * $Id: ufsmount.h,v 1.10 1997/10/12 20:26:28 phk Exp $
+ * $Id: ufsmount.h,v 1.11 1997/10/16 10:50:27 phk Exp $
*/
#ifndef _UFS_UFS_UFSMOUNT_H_
@@ -99,12 +99,14 @@ struct ufsmount {
struct malloc_type *um_malloctype; /* The inodes malloctype */
int (*um_blkatoff) __P((struct vnode *, off_t, char **, struct buf **));
int (*um_truncate) __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
+ int (*um_update) __P((struct vnode *, struct timeval *, struct timeval *, int));
int (*um_valloc) __P((struct vnode *, int, struct ucred *, struct vnode **));
int (*um_vfree) __P((struct vnode *, ino_t, int));
};
#define UFS_BLKATOFF(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_blkatoff(aa, bb, cc, dd)
#define UFS_TRUNCATE(aa, bb, cc, dd, ee) VFSTOUFS((aa)->v_mount)->um_truncate(aa, bb, cc, dd, ee)
+#define UFS_UPDATE(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_update(aa, bb, cc, dd)
#define UFS_VALLOC(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_valloc(aa, bb, cc, dd)
#define UFS_VFREE(aa, bb, cc) VFSTOUFS((aa)->v_mount)->um_vfree(aa, bb, cc)
diff --git a/sys/gnu/fs/ext2fs/ext2_readwrite.c b/sys/gnu/fs/ext2fs/ext2_readwrite.c
index e1ab506..d748999 100644
--- a/sys/gnu/fs/ext2fs/ext2_readwrite.c
+++ b/sys/gnu/fs/ext2fs/ext2_readwrite.c
@@ -314,7 +314,7 @@ WRITE(ap)
}
} else if (resid > uio->uio_resid && (ioflag & IO_SYNC)) {
gettime(&tv);
- error = VOP_UPDATE(vp, &tv, &tv, 1);
+ error = UFS_UPDATE(vp, &tv, &tv, 1);
}
return (error);
}
diff --git a/sys/gnu/fs/ext2fs/ext2_vfsops.c b/sys/gnu/fs/ext2fs/ext2_vfsops.c
index 95ffa52..7112758 100644
--- a/sys/gnu/fs/ext2fs/ext2_vfsops.c
+++ b/sys/gnu/fs/ext2fs/ext2_vfsops.c
@@ -623,6 +623,7 @@ ext2_mountfs(devvp, mp, p)
ump->um_malloctype = M_EXT2NODE;
ump->um_blkatoff = ext2_blkatoff;
ump->um_truncate = ext2_truncate;
+ ump->um_update = ext2_update;
ump->um_valloc = ext2_valloc;
ump->um_vfree = ext2_vfree;
/* I don't know whether this is the right strategy. Note that
diff --git a/sys/gnu/fs/ext2fs/ext2_vnops.c b/sys/gnu/fs/ext2fs/ext2_vnops.c
index 48b5907..2fc383e 100644
--- a/sys/gnu/fs/ext2fs/ext2_vnops.c
+++ b/sys/gnu/fs/ext2fs/ext2_vnops.c
@@ -91,7 +91,6 @@ static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = {
{ &vop_read_desc, (vop_t *) ext2_read },
{ &vop_readdir_desc, (vop_t *) ext2_readdir },
{ &vop_reallocblks_desc, (vop_t *) ext2_reallocblks },
- { &vop_update_desc, (vop_t *) ext2_update },
{ &vop_write_desc, (vop_t *) ext2_write },
{ NULL, NULL }
};
@@ -103,7 +102,6 @@ static struct vnodeopv_entry_desc ext2_specop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperatespec },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
- { &vop_update_desc, (vop_t *) ext2_update },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_specop_opv_desc =
@@ -114,7 +112,6 @@ static struct vnodeopv_entry_desc ext2_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperatefifo },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
- { &vop_update_desc, (vop_t *) ext2_update },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_fifoop_opv_desc =
@@ -200,5 +197,5 @@ loop:
}
splx(s);
gettime(&tv);
- return (VOP_UPDATE(ap->a_vp, &tv, &tv, ap->a_waitfor == MNT_WAIT));
+ return (UFS_UPDATE(ap->a_vp, &tv, &tv, ap->a_waitfor == MNT_WAIT));
}
diff --git a/sys/isofs/cd9660/cd9660_vnops.c b/sys/isofs/cd9660/cd9660_vnops.c
index b794436..0318324 100644
--- a/sys/isofs/cd9660/cd9660_vnops.c
+++ b/sys/isofs/cd9660/cd9660_vnops.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95
- * $Id: cd9660_vnops.c,v 1.43 1997/10/15 13:22:39 phk Exp $
+ * $Id: cd9660_vnops.c,v 1.44 1997/10/16 10:47:47 phk Exp $
*/
#include <sys/param.h>
@@ -59,14 +59,9 @@
#include <isofs/cd9660/iso_rrip.h>
static int cd9660_setattr __P((struct vop_setattr_args *));
-static int cd9660_open __P((struct vop_open_args *));
-static int cd9660_close __P((struct vop_close_args *));
static int cd9660_access __P((struct vop_access_args *));
static int cd9660_getattr __P((struct vop_getattr_args *));
static int cd9660_read __P((struct vop_read_args *));
-static int cd9660_ioctl __P((struct vop_ioctl_args *));
-static int cd9660_mmap __P((struct vop_mmap_args *));
-static int cd9660_seek __P((struct vop_seek_args *));
struct isoreaddir;
static int iso_uiodir __P((struct isoreaddir *idp, struct dirent *dp,
off_t off));
@@ -118,42 +113,6 @@ cd9660_setattr(ap)
}
/*
- * Open called.
- *
- * Nothing to do.
- */
-/* ARGSUSED */
-static int
-cd9660_open(ap)
- struct vop_open_args /* {
- struct vnode *a_vp;
- int a_mode;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return (0);
-}
-
-/*
- * Close called
- *
- * Update the times on the inode on writeable file systems.
- */
-/* ARGSUSED */
-static int
-cd9660_close(ap)
- struct vop_close_args /* {
- struct vnode *a_vp;
- int a_fflag;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return (0);
-}
-
-/*
* Check mode permission on inode pointer. Mode is READ, WRITE or EXEC.
* The mode is shifted to select the owner/group/other fields. The
* super user is granted all permissions.
@@ -357,60 +316,6 @@ cd9660_read(ap)
return (error);
}
-/* ARGSUSED */
-static int
-cd9660_ioctl(ap)
- struct vop_ioctl_args /* {
- struct vnode *a_vp;
- u_long a_command;
- caddr_t a_data;
- int a_fflag;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- printf("You did ioctl for isofs !!\n");
- return (ENOTTY);
-}
-
-/*
- * Mmap a file
- *
- * NB Currently unsupported.
- */
-/* ARGSUSED */
-static int
-cd9660_mmap(ap)
- struct vop_mmap_args /* {
- struct vnode *a_vp;
- int a_fflags;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
-
- return (EINVAL);
-}
-
-/*
- * Seek on a file
- *
- * Nothing to do, so just return.
- */
-/* ARGSUSED */
-static int
-cd9660_seek(ap)
- struct vop_seek_args /* {
- struct vnode *a_vp;
- off_t a_oldoff;
- off_t a_newoff;
- struct ucred *a_cred;
- } */ *ap;
-{
-
- return (0);
-}
-
/*
* Structure for reading directories
*/
@@ -962,23 +867,17 @@ struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = {
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_bmap_desc, (vop_t *) cd9660_bmap },
{ &vop_cachedlookup_desc, (vop_t *) cd9660_lookup },
- { &vop_close_desc, (vop_t *) cd9660_close },
- { &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
- { &vop_ioctl_desc, (vop_t *) cd9660_ioctl },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
{ &vop_lock_desc, (vop_t *) cd9660_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
- { &vop_mmap_desc, (vop_t *) cd9660_mmap },
- { &vop_open_desc, (vop_t *) cd9660_open },
{ &vop_pathconf_desc, (vop_t *) cd9660_pathconf },
{ &vop_print_desc, (vop_t *) cd9660_print },
{ &vop_read_desc, (vop_t *) cd9660_read },
{ &vop_readdir_desc, (vop_t *) cd9660_readdir },
{ &vop_readlink_desc, (vop_t *) cd9660_readlink },
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
- { &vop_seek_desc, (vop_t *) cd9660_seek },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_strategy_desc, (vop_t *) cd9660_strategy },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c
index 0c1f2a6..8583b55 100644
--- a/sys/kern/vfs_default.c
+++ b/sys/kern/vfs_default.c
@@ -41,9 +41,9 @@
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/mount.h>
+#include <sys/unistd.h>
#include <sys/vnode.h>
-int vop_notsupp __P((struct vop_generic_args *ap));
static int vop_nostrategy __P((struct vop_strategy_args *));
/*
@@ -56,11 +56,20 @@ static int vop_nostrategy __P((struct vop_strategy_args *));
vop_t **default_vnodeop_p;
static struct vnodeopv_entry_desc default_vnodeop_entries[] = {
- { &vop_default_desc, (vop_t *) vop_notsupp },
+ { &vop_default_desc, (vop_t *) vop_eopnotsupp },
{ &vop_abortop_desc, (vop_t *) nullop },
+ { &vop_advlock_desc, (vop_t *) vop_einval },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
+ { &vop_close_desc, (vop_t *) vop_null },
+ { &vop_fsync_desc, (vop_t *) vop_null },
+ { &vop_ioctl_desc, (vop_t *) vop_enotty },
{ &vop_lease_desc, (vop_t *) lease_check },
+ { &vop_mmap_desc, (vop_t *) vop_einval },
+ { &vop_open_desc, (vop_t *) vop_null },
+ { &vop_pathconf_desc, (vop_t *) vop_einval },
{ &vop_poll_desc, (vop_t *) vop_nopoll },
+ { &vop_readlink_desc, (vop_t *) vop_einval },
+ { &vop_reallocblks_desc, (vop_t *) vop_eopnotsupp },
{ &vop_revoke_desc, (vop_t *) vop_revoke },
{ &vop_strategy_desc, (vop_t *) vop_nostrategy },
{ NULL, NULL }
@@ -72,22 +81,49 @@ static struct vnodeopv_desc default_vnodeop_opv_desc =
VNODEOP_SET(default_vnodeop_opv_desc);
int
-vop_notsupp(struct vop_generic_args *ap)
+vop_eopnotsupp(struct vop_generic_args *ap)
{
/*
- printf("vn_notsupp[%s]\n", ap->a_desc->vdesc_name);
+ printf("vop_notsupp[%s]\n", ap->a_desc->vdesc_name);
*/
return (EOPNOTSUPP);
}
int
-vn_defaultop(struct vop_generic_args *ap)
+vop_ebadf(struct vop_generic_args *ap)
{
- return (VOCALL(default_vnodeop_p, ap->a_desc->vdesc_offset, ap));
+ return (EBADF);
+}
+
+int
+vop_enotty(struct vop_generic_args *ap)
+{
+
+ return (ENOTTY);
+}
+
+int
+vop_einval(struct vop_generic_args *ap)
+{
+
+ return (EINVAL);
+}
+
+int
+vop_null(struct vop_generic_args *ap)
+{
+
+ return (0);
}
+int
+vop_defaultop(struct vop_generic_args *ap)
+{
+
+ return (VOCALL(default_vnodeop_p, ap->a_desc->vdesc_offset, ap));
+}
static int
vop_nostrategy (struct vop_strategy_args *ap)
@@ -99,3 +135,37 @@ vop_nostrategy (struct vop_strategy_args *ap)
biodone(ap->a_bp);
return (EOPNOTSUPP);
}
+
+int
+vop_stdpathconf(ap)
+ struct vop_pathconf_args /* {
+ struct vnode *a_vp;
+ int a_name;
+ int *a_retval;
+ } */ *ap;
+{
+
+ 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 */
+}
diff --git a/sys/kern/vnode_if.src b/sys/kern/vnode_if.src
index c91c9f3..bedf274 100644
--- a/sys/kern/vnode_if.src
+++ b/sys/kern/vnode_if.src
@@ -31,7 +31,7 @@
# SUCH DAMAGE.
#
# @(#)vnode_if.src 8.12 (Berkeley) 5/14/95
-# $Id: vnode_if.src,v 1.13 1997/09/14 02:35:25 peter Exp $
+# $Id: vnode_if.src,v 1.14 1997/10/16 10:48:00 phk Exp $
#
#
@@ -240,17 +240,6 @@ vop_fsync {
};
#
-# XXX - not used
-# Needs work: Is newoff right? What's it mean?
-#
-vop_seek {
- IN struct vnode *vp;
- IN off_t oldoff;
- IN off_t newoff;
- IN struct ucred *cred;
-};
-
-#
#% remove dvp L U U
#% remove vp L U U
#
@@ -447,16 +436,6 @@ vop_reallocblks {
IN struct cluster_save *buflist;
};
-#
-#% update vp L L L
-#
-vop_update {
- IN struct vnode *vp;
- IN struct timeval *access;
- IN struct timeval *modify;
- IN int waitfor;
-};
-
vop_getpages {
IN struct vnode *vp;
IN vm_page_t *m;
diff --git a/sys/miscfs/deadfs/dead_vnops.c b/sys/miscfs/deadfs/dead_vnops.c
index 3c41130..051977f 100644
--- a/sys/miscfs/deadfs/dead_vnops.c
+++ b/sys/miscfs/deadfs/dead_vnops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)dead_vnops.c 8.1 (Berkeley) 6/10/93
- * $Id: dead_vnops.c,v 1.17 1997/10/15 10:04:03 phk Exp $
+ * $Id: dead_vnops.c,v 1.18 1997/10/16 10:48:06 phk Exp $
*/
#include <sys/param.h>
@@ -61,9 +61,7 @@ static struct vnodeopv_entry_desc dead_vnodeop_entries[] = {
{ &vop_access_desc, (vop_t *) dead_ebadf },
{ &vop_advlock_desc, (vop_t *) dead_ebadf },
{ &vop_bmap_desc, (vop_t *) dead_bmap },
- { &vop_close_desc, (vop_t *) nullop },
{ &vop_create_desc, (vop_t *) dead_badop },
- { &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) dead_ebadf },
{ &vop_inactive_desc, (vop_t *) nullop },
{ &vop_ioctl_desc, (vop_t *) dead_ioctl },
@@ -75,7 +73,7 @@ static struct vnodeopv_entry_desc dead_vnodeop_entries[] = {
{ &vop_mknod_desc, (vop_t *) dead_badop },
{ &vop_mmap_desc, (vop_t *) dead_badop },
{ &vop_open_desc, (vop_t *) dead_open },
- { &vop_pathconf_desc, (vop_t *) dead_ebadf },
+ { &vop_pathconf_desc, (vop_t *) dead_ebadf }, /* per pathconf(2) */
{ &vop_print_desc, (vop_t *) dead_print },
{ &vop_read_desc, (vop_t *) dead_read },
{ &vop_readdir_desc, (vop_t *) dead_ebadf },
@@ -84,11 +82,9 @@ static struct vnodeopv_entry_desc dead_vnodeop_entries[] = {
{ &vop_remove_desc, (vop_t *) dead_badop },
{ &vop_rename_desc, (vop_t *) dead_badop },
{ &vop_rmdir_desc, (vop_t *) dead_badop },
- { &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) dead_ebadf },
{ &vop_symlink_desc, (vop_t *) dead_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
- { &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) dead_write },
{ NULL, NULL }
};
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 },
diff --git a/sys/miscfs/fdesc/fdesc_vnops.c b/sys/miscfs/fdesc/fdesc_vnops.c
index 7793177..ccc5e5b 100644
--- a/sys/miscfs/fdesc/fdesc_vnops.c
+++ b/sys/miscfs/fdesc/fdesc_vnops.c
@@ -35,7 +35,7 @@
*
* @(#)fdesc_vnops.c 8.9 (Berkeley) 1/21/94
*
- * $Id: fdesc_vnops.c,v 1.28 1997/10/15 10:04:12 phk Exp $
+ * $Id: fdesc_vnops.c,v 1.29 1997/10/16 10:48:18 phk Exp $
*/
/*
@@ -91,7 +91,6 @@ static int fdesc_inactive __P((struct vop_inactive_args *ap));
static int fdesc_ioctl __P((struct vop_ioctl_args *ap));
static int fdesc_lookup __P((struct vop_lookup_args *ap));
static int fdesc_open __P((struct vop_open_args *ap));
-static int fdesc_pathconf __P((struct vop_pathconf_args *ap));
static int fdesc_print __P((struct vop_print_args *ap));
static int fdesc_read __P((struct vop_read_args *ap));
static int fdesc_readdir __P((struct vop_readdir_args *ap));
@@ -831,43 +830,6 @@ fdesc_reclaim(ap)
}
/*
- * Return POSIX pathconf information applicable to special devices.
- */
-static int
-fdesc_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- 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 /dev/fd vnode.
*/
/* ARGSUSED */
@@ -897,8 +859,6 @@ static struct vnodeopv_entry_desc fdesc_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_access_desc, (vop_t *) nullop },
{ &vop_bmap_desc, (vop_t *) fdesc_badop },
- { &vop_close_desc, (vop_t *) nullop },
- { &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) fdesc_getattr },
{ &vop_inactive_desc, (vop_t *) fdesc_inactive },
{ &vop_ioctl_desc, (vop_t *) fdesc_ioctl },
@@ -906,14 +866,13 @@ static struct vnodeopv_entry_desc fdesc_vnodeop_entries[] = {
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) fdesc_lookup },
{ &vop_open_desc, (vop_t *) fdesc_open },
- { &vop_pathconf_desc, (vop_t *) fdesc_pathconf },
+ { &vop_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_poll_desc, (vop_t *) fdesc_poll },
{ &vop_print_desc, (vop_t *) fdesc_print },
{ &vop_read_desc, (vop_t *) fdesc_read },
{ &vop_readdir_desc, (vop_t *) fdesc_readdir },
{ &vop_readlink_desc, (vop_t *) fdesc_readlink },
{ &vop_reclaim_desc, (vop_t *) fdesc_reclaim },
- { &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) fdesc_setattr },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) fdesc_write },
diff --git a/sys/miscfs/fifofs/fifo_vnops.c b/sys/miscfs/fifofs/fifo_vnops.c
index 0b157a54..8c46042 100644
--- a/sys/miscfs/fifofs/fifo_vnops.c
+++ b/sys/miscfs/fifofs/fifo_vnops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)fifo_vnops.c 8.10 (Berkeley) 5/27/95
- * $Id: fifo_vnops.c,v 1.31 1997/10/15 13:23:12 phk Exp $
+ * $Id: fifo_vnops.c,v 1.32 1997/10/16 10:48:25 phk Exp $
*/
#include <sys/param.h>
@@ -72,7 +72,6 @@ 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 *));
@@ -85,7 +84,6 @@ static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_close_desc, (vop_t *) fifo_close },
{ &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 },
@@ -96,9 +94,8 @@ static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_lookup_desc, (vop_t *) fifo_lookup },
{ &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_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_poll_desc, (vop_t *) fifo_poll },
{ &vop_print_desc, (vop_t *) fifo_print },
{ &vop_read_desc, (vop_t *) fifo_read },
@@ -109,11 +106,9 @@ static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_remove_desc, (vop_t *) fifo_badop },
{ &vop_rename_desc, (vop_t *) fifo_badop },
{ &vop_rmdir_desc, (vop_t *) fifo_badop },
- { &vop_seek_desc, (vop_t *) fifo_badop },
{ &vop_setattr_desc, (vop_t *) fifo_ebadf },
{ &vop_symlink_desc, (vop_t *) fifo_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
- { &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) fifo_write },
{ NULL, NULL }
};
@@ -493,34 +488,6 @@ fifo_print(ap)
}
/*
- * Return POSIX pathconf information applicable to fifo's.
- */
-static int
-fifo_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- switch (ap->a_name) {
- case _PC_LINK_MAX:
- *ap->a_retval = LINK_MAX;
- return (0);
- case _PC_PIPE_BUF:
- *ap->a_retval = PIPE_BUF;
- return (0);
- case _PC_CHOWN_RESTRICTED:
- *ap->a_retval = 1;
- return (0);
- default:
- return (EINVAL);
- }
- /* NOTREACHED */
-}
-
-/*
* Fifo failed operation
*/
static int
diff --git a/sys/miscfs/kernfs/kernfs_vnops.c b/sys/miscfs/kernfs/kernfs_vnops.c
index 3eea65c..578094f 100644
--- a/sys/miscfs/kernfs/kernfs_vnops.c
+++ b/sys/miscfs/kernfs/kernfs_vnops.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)kernfs_vnops.c 8.15 (Berkeley) 5/21/95
- * $Id: kernfs_vnops.c,v 1.23 1997/10/15 10:04:23 phk Exp $
+ * $Id: kernfs_vnops.c,v 1.24 1997/10/16 10:48:29 phk Exp $
*/
/*
@@ -109,7 +109,6 @@ static int kernfs_enotsupp __P((void));
static int kernfs_getattr __P((struct vop_getattr_args *ap));
static int kernfs_inactive __P((struct vop_inactive_args *ap));
static int kernfs_lookup __P((struct vop_lookup_args *ap));
-static int kernfs_open __P((struct vop_open_args *ap));
static int kernfs_pathconf __P((struct vop_pathconf_args *ap));
static int kernfs_print __P((struct vop_print_args *ap));
static int kernfs_read __P((struct vop_read_args *ap));
@@ -316,20 +315,6 @@ found:
}
static int
-kernfs_open(ap)
- struct vop_open_args /* {
- struct vnode *a_vp;
- int a_mode;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
-
- /* Only need to check access permissions. */
- return (0);
-}
-
-static int
kernfs_access(ap)
struct vop_access_args /* {
struct vnode *a_vp;
@@ -636,42 +621,6 @@ kernfs_reclaim(ap)
return (0);
}
-/*
- * Return POSIX pathconf information applicable to special devices.
- */
-static int
-kernfs_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- 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 kernfs vnode.
@@ -703,20 +652,16 @@ static struct vnodeopv_entry_desc kernfs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_access_desc, (vop_t *) kernfs_access },
{ &vop_bmap_desc, (vop_t *) kernfs_badop },
- { &vop_close_desc, (vop_t *) nullop },
- { &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) kernfs_getattr },
{ &vop_inactive_desc, (vop_t *) kernfs_inactive },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) kernfs_lookup },
- { &vop_open_desc, (vop_t *) kernfs_open },
- { &vop_pathconf_desc, (vop_t *) kernfs_pathconf },
+ { &vop_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_print_desc, (vop_t *) kernfs_print },
{ &vop_read_desc, (vop_t *) kernfs_read },
{ &vop_readdir_desc, (vop_t *) kernfs_readdir },
{ &vop_reclaim_desc, (vop_t *) kernfs_reclaim },
- { &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) kernfs_setattr },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) kernfs_write },
diff --git a/sys/miscfs/portal/portal_vnops.c b/sys/miscfs/portal/portal_vnops.c
index d8c2230..df35f0c 100644
--- a/sys/miscfs/portal/portal_vnops.c
+++ b/sys/miscfs/portal/portal_vnops.c
@@ -35,7 +35,7 @@
*
* @(#)portal_vnops.c 8.14 (Berkeley) 5/21/95
*
- * $Id: portal_vnops.c,v 1.23 1997/10/15 10:04:34 phk Exp $
+ * $Id: portal_vnops.c,v 1.24 1997/10/16 10:48:35 phk Exp $
*/
/*
@@ -73,7 +73,6 @@ static int portal_getattr __P((struct vop_getattr_args *ap));
static int portal_inactive __P((struct vop_inactive_args *ap));
static int portal_lookup __P((struct vop_lookup_args *ap));
static int portal_open __P((struct vop_open_args *ap));
-static int portal_pathconf __P((struct vop_pathconf_args *ap));
static int portal_print __P((struct vop_print_args *ap));
static int portal_readdir __P((struct vop_readdir_args *ap));
static int portal_reclaim __P((struct vop_reclaim_args *ap));
@@ -559,42 +558,6 @@ portal_reclaim(ap)
return (0);
}
-/*
- * Return POSIX pathconf information applicable to special devices.
- */
-static int
-portal_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- 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 Portal vnode.
@@ -638,19 +601,16 @@ static struct vnodeopv_entry_desc portal_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_access_desc, (vop_t *) nullop },
{ &vop_bmap_desc, (vop_t *) portal_badop },
- { &vop_close_desc, (vop_t *) nullop },
- { &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) portal_getattr },
{ &vop_inactive_desc, (vop_t *) portal_inactive },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) portal_lookup },
{ &vop_open_desc, (vop_t *) portal_open },
- { &vop_pathconf_desc, (vop_t *) portal_pathconf },
+ { &vop_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_print_desc, (vop_t *) portal_print },
{ &vop_readdir_desc, (vop_t *) portal_readdir },
{ &vop_reclaim_desc, (vop_t *) portal_reclaim },
- { &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) portal_setattr },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ NULL, NULL }
diff --git a/sys/miscfs/procfs/procfs_vnops.c b/sys/miscfs/procfs/procfs_vnops.c
index ab62a4d..8caf5fe 100644
--- a/sys/miscfs/procfs/procfs_vnops.c
+++ b/sys/miscfs/procfs/procfs_vnops.c
@@ -36,7 +36,7 @@
*
* @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95
*
- * $Id: procfs_vnops.c,v 1.35 1997/10/15 10:04:38 phk Exp $
+ * $Id: procfs_vnops.c,v 1.36 1997/10/16 10:48:40 phk Exp $
*/
/*
@@ -64,10 +64,8 @@ static int procfs_bmap __P((struct vop_bmap_args *));
static int procfs_close __P((struct vop_close_args *));
static int procfs_getattr __P((struct vop_getattr_args *));
static int procfs_inactive __P((struct vop_inactive_args *));
-static int procfs_ioctl __P((struct vop_ioctl_args *));
static int procfs_lookup __P((struct vop_lookup_args *));
static int procfs_open __P((struct vop_open_args *));
-static int procfs_pathconf __P((struct vop_pathconf_args *ap));
static int procfs_print __P((struct vop_print_args *));
static int procfs_readdir __P((struct vop_readdir_args *));
static int procfs_readlink __P((struct vop_readlink_args *));
@@ -185,24 +183,6 @@ procfs_close(ap)
}
/*
- * do an ioctl operation on pfsnode (vp).
- * (vp) is not locked on entry or exit.
- */
-static int
-procfs_ioctl(ap)
- struct vop_ioctl_args /* {
- struct vnode *a_vp;
- int a_command;
- caddr_t a_data;
- int a_fflag;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return (ENOTTY);
-}
-
-/*
* do block mapping for pfsnode (vp).
* since we don't use the buffer cache
* for procfs this function should never
@@ -282,43 +262,6 @@ procfs_reclaim(ap)
}
/*
- * Return POSIX pathconf information applicable to special devices.
- */
-static int
-procfs_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- 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 is used for debugging.
* just print a readable description
* of (vp).
@@ -950,16 +893,14 @@ static struct vnodeopv_entry_desc procfs_vnodeop_entries[] = {
{ &vop_create_desc, (vop_t *) procfs_badop },
{ &vop_getattr_desc, (vop_t *) procfs_getattr },
{ &vop_inactive_desc, (vop_t *) procfs_inactive },
- { &vop_ioctl_desc, (vop_t *) procfs_ioctl },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_link_desc, (vop_t *) procfs_badop },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) procfs_lookup },
{ &vop_mkdir_desc, (vop_t *) procfs_badop },
{ &vop_mknod_desc, (vop_t *) procfs_badop },
- { &vop_mmap_desc, (vop_t *) procfs_badop },
{ &vop_open_desc, (vop_t *) procfs_open },
- { &vop_pathconf_desc, (vop_t *) procfs_pathconf },
+ { &vop_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_print_desc, (vop_t *) procfs_print },
{ &vop_read_desc, (vop_t *) procfs_rw },
{ &vop_readdir_desc, (vop_t *) procfs_readdir },
@@ -968,11 +909,9 @@ static struct vnodeopv_entry_desc procfs_vnodeop_entries[] = {
{ &vop_remove_desc, (vop_t *) procfs_badop },
{ &vop_rename_desc, (vop_t *) procfs_badop },
{ &vop_rmdir_desc, (vop_t *) procfs_badop },
- { &vop_seek_desc, (vop_t *) procfs_badop },
{ &vop_setattr_desc, (vop_t *) procfs_setattr },
{ &vop_symlink_desc, (vop_t *) procfs_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
- { &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) procfs_rw },
{ NULL, NULL }
};
diff --git a/sys/miscfs/specfs/spec_vnops.c b/sys/miscfs/specfs/spec_vnops.c
index 12a9f29..bdf769b 100644
--- a/sys/miscfs/specfs/spec_vnops.c
+++ b/sys/miscfs/specfs/spec_vnops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)spec_vnops.c 8.14 (Berkeley) 5/21/95
- * $Id: spec_vnops.c,v 1.46 1997/10/15 13:23:18 phk Exp $
+ * $Id: spec_vnops.c,v 1.47 1997/10/16 10:48:46 phk Exp $
*/
#include <sys/param.h>
@@ -73,7 +73,6 @@ 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 *));
@@ -98,9 +97,8 @@ static struct vnodeopv_entry_desc spec_vnodeop_entries[] = {
{ &vop_lookup_desc, (vop_t *) spec_lookup },
{ &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_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_poll_desc, (vop_t *) spec_poll },
{ &vop_print_desc, (vop_t *) spec_print },
{ &vop_read_desc, (vop_t *) spec_read },
@@ -111,12 +109,10 @@ static struct vnodeopv_entry_desc spec_vnodeop_entries[] = {
{ &vop_remove_desc, (vop_t *) spec_badop },
{ &vop_rename_desc, (vop_t *) spec_badop },
{ &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_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
- { &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) spec_write },
{ NULL, NULL }
};
@@ -473,7 +469,7 @@ spec_poll(ap)
dev = ap->a_vp->v_rdev;
return (*cdevsw[major(dev)]->d_poll)(dev, ap->a_events, ap->a_p);
default:
- return (vn_defaultop((struct vop_generic_args *)ap));
+ return (vop_defaultop((struct vop_generic_args *)ap));
}
}
@@ -686,43 +682,6 @@ spec_print(ap)
}
/*
- * Return POSIX pathconf information applicable to special devices.
- */
-static int
-spec_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- 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 */
-}
-
-/*
* Special device advisory byte-level locks.
*/
/* ARGSUSED */
diff --git a/sys/miscfs/union/union_vnops.c b/sys/miscfs/union/union_vnops.c
index 9358834..e1c9a87 100644
--- a/sys/miscfs/union/union_vnops.c
+++ b/sys/miscfs/union/union_vnops.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* @(#)union_vnops.c 8.32 (Berkeley) 6/23/95
- * $Id: union_vnops.c,v 1.43 1997/10/15 09:21:32 phk Exp $
+ * $Id: union_vnops.c,v 1.44 1997/10/15 10:04:54 phk Exp $
*/
#include <sys/param.h>
@@ -94,7 +94,6 @@ static int union_remove __P((struct vop_remove_args *ap));
static int union_rename __P((struct vop_rename_args *ap));
static int union_revoke __P((struct vop_revoke_args *ap));
static int union_rmdir __P((struct vop_rmdir_args *ap));
-static int union_seek __P((struct vop_seek_args *ap));
static int union_poll __P((struct vop_poll_args *ap));
static int union_setattr __P((struct vop_setattr_args *ap));
static int union_strategy __P((struct vop_strategy_args *ap));
@@ -1035,21 +1034,6 @@ union_fsync(ap)
}
static int
-union_seek(ap)
- struct vop_seek_args /* {
- struct vnode *a_vp;
- off_t a_oldoff;
- off_t a_newoff;
- struct ucred *a_cred;
- } */ *ap;
-{
- register struct vnode *ovp = OTHERVP(ap->a_vp);
-
- ap->a_vp = ovp;
- return (VCALL(ovp, VOFFSET(vop_seek), ap));
-}
-
-static int
union_remove(ap)
struct vop_remove_args /* {
struct vnode *a_dvp;
@@ -1786,7 +1770,6 @@ static struct vnodeopv_entry_desc union_vnodeop_entries[] = {
{ &vop_rename_desc, (vop_t *) union_rename },
{ &vop_revoke_desc, (vop_t *) union_revoke },
{ &vop_rmdir_desc, (vop_t *) union_rmdir },
- { &vop_seek_desc, (vop_t *) union_seek },
{ &vop_setattr_desc, (vop_t *) union_setattr },
{ &vop_strategy_desc, (vop_t *) union_strategy },
{ &vop_symlink_desc, (vop_t *) union_symlink },
diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c
index 6871b10..5adce6f 100644
--- a/sys/msdosfs/msdosfs_vnops.c
+++ b/sys/msdosfs/msdosfs_vnops.c
@@ -1,4 +1,4 @@
-/* $Id: msdosfs_vnops.c,v 1.47 1997/10/15 10:05:03 phk Exp $ */
+/* $Id: msdosfs_vnops.c,v 1.48 1997/10/16 10:48:52 phk Exp $ */
/* $NetBSD: msdosfs_vnops.c,v 1.20 1994/08/21 18:44:13 ws Exp $ */
/*-
@@ -79,18 +79,13 @@
*/
static int msdosfs_create __P((struct vop_create_args *));
static int msdosfs_mknod __P((struct vop_mknod_args *));
-static int msdosfs_open __P((struct vop_open_args *));
static int msdosfs_close __P((struct vop_close_args *));
static int msdosfs_access __P((struct vop_access_args *));
static int msdosfs_getattr __P((struct vop_getattr_args *));
static int msdosfs_setattr __P((struct vop_setattr_args *));
static int msdosfs_read __P((struct vop_read_args *));
static int msdosfs_write __P((struct vop_write_args *));
-static int msdosfs_ioctl __P((struct vop_ioctl_args *));
-static int msdosfs_poll __P((struct vop_poll_args *));
-static int msdosfs_mmap __P((struct vop_mmap_args *));
static int msdosfs_fsync __P((struct vop_fsync_args *));
-static int msdosfs_seek __P((struct vop_seek_args *));
static int msdosfs_remove __P((struct vop_remove_args *));
static int msdosfs_link __P((struct vop_link_args *));
static int msdosfs_rename __P((struct vop_rename_args *));
@@ -98,7 +93,6 @@ static int msdosfs_mkdir __P((struct vop_mkdir_args *));
static int msdosfs_rmdir __P((struct vop_rmdir_args *));
static int msdosfs_symlink __P((struct vop_symlink_args *));
static int msdosfs_readdir __P((struct vop_readdir_args *));
-static int msdosfs_readlink __P((struct vop_readlink_args *));
static int msdosfs_abortop __P((struct vop_abortop_args *));
static int msdosfs_lock __P((struct vop_lock_args *));
static int msdosfs_unlock __P((struct vop_unlock_args *));
@@ -106,9 +100,7 @@ static int msdosfs_bmap __P((struct vop_bmap_args *));
static int msdosfs_strategy __P((struct vop_strategy_args *));
static int msdosfs_print __P((struct vop_print_args *));
static int msdosfs_islocked __P((struct vop_islocked_args *));
-static int msdosfs_advlock __P((struct vop_advlock_args *));
static int msdosfs_pathconf __P((struct vop_pathconf_args *ap));
-static int msdosfs_reallocblks __P((struct vop_reallocblks_args *));
/*
* Some general notes:
@@ -215,18 +207,6 @@ msdosfs_mknod(ap)
}
static int
-msdosfs_open(ap)
- struct vop_open_args /* {
- struct vnode *a_vp;
- int a_mode;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return 0;
-}
-
-static int
msdosfs_close(ap)
struct vop_close_args /* {
struct vnode *a_vp;
@@ -826,45 +806,6 @@ errexit:
return error;
}
-static int
-msdosfs_ioctl(ap)
- struct vop_ioctl_args /* {
- struct vnode *a_vp;
- int a_command;
- caddr_t a_data;
- int a_fflag;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return ENOTTY;
-}
-
-static int
-msdosfs_poll(ap)
- struct vop_poll_args /* {
- struct vnode *a_vp;
- int a_events;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- /* DOS filesystems never block? */
- return (ap->a_events & (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM));
-}
-
-static int
-msdosfs_mmap(ap)
- struct vop_mmap_args /* {
- struct vnode *a_vp;
- int a_fflags;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
- return EINVAL;
-}
-
/*
* Flush the blocks of a file to disk.
*
@@ -919,22 +860,6 @@ loop:
return deupdat(VTODE(vp), &ts, wait);
}
-/*
- * Now the whole work of extending a file is done in the write function.
- * So nothing to do here.
- */
-static int
-msdosfs_seek(ap)
- struct vop_seek_args /* {
- struct vnode *a_vp;
- off_t a_oldoff;
- off_t a_newoff;
- struct ucred *a_cred;
- } */ *ap;
-{
- return 0;
-}
-
static int
msdosfs_remove(ap)
struct vop_remove_args /* {
@@ -1772,20 +1697,6 @@ out: ;
return error;
}
-/*
- * DOS filesystems don't know what symlinks are.
- */
-static int
-msdosfs_readlink(ap)
- struct vop_readlink_args /* {
- struct vnode *a_vp;
- struct uio *a_uio;
- struct ucred *a_cred;
- } */ *ap;
-{
- return EINVAL;
-}
-
static int
msdosfs_abortop(ap)
struct vop_abortop_args /* {
@@ -1873,17 +1784,6 @@ msdosfs_bmap(ap)
}
static int
-msdosfs_reallocblks(ap)
- struct vop_reallocblks_args /* {
- struct vnode *a_vp;
- struct cluster_save *a_buflist;
- } */ *ap;
-{
- /* Currently no support for clustering */ /* XXX */
- return ENOSPC;
-}
-
-static int
msdosfs_strategy(ap)
struct vop_strategy_args /* {
struct buf *a_bp;
@@ -1943,19 +1843,6 @@ msdosfs_print(ap)
}
static int
-msdosfs_advlock(ap)
- struct vop_advlock_args /* {
- struct vnode *a_vp;
- caddr_t a_id;
- int a_op;
- struct flock *a_fl;
- int a_flags;
- } */ *ap;
-{
- return EINVAL; /* we don't do locking yet */
-}
-
-static int
msdosfs_pathconf(ap)
struct vop_pathconf_args /* {
struct vnode *a_vp;
@@ -1990,7 +1877,6 @@ static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) msdosfs_abortop },
{ &vop_access_desc, (vop_t *) msdosfs_access },
- { &vop_advlock_desc, (vop_t *) msdosfs_advlock },
{ &vop_bmap_desc, (vop_t *) msdosfs_bmap },
{ &vop_cachedlookup_desc, (vop_t *) msdosfs_lookup },
{ &vop_close_desc, (vop_t *) msdosfs_close },
@@ -1998,27 +1884,20 @@ static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
{ &vop_fsync_desc, (vop_t *) msdosfs_fsync },
{ &vop_getattr_desc, (vop_t *) msdosfs_getattr },
{ &vop_inactive_desc, (vop_t *) msdosfs_inactive },
- { &vop_ioctl_desc, (vop_t *) msdosfs_ioctl },
{ &vop_islocked_desc, (vop_t *) msdosfs_islocked },
{ &vop_link_desc, (vop_t *) msdosfs_link },
{ &vop_lock_desc, (vop_t *) msdosfs_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
{ &vop_mkdir_desc, (vop_t *) msdosfs_mkdir },
{ &vop_mknod_desc, (vop_t *) msdosfs_mknod },
- { &vop_mmap_desc, (vop_t *) msdosfs_mmap },
- { &vop_open_desc, (vop_t *) msdosfs_open },
{ &vop_pathconf_desc, (vop_t *) msdosfs_pathconf },
- { &vop_poll_desc, (vop_t *) msdosfs_poll },
{ &vop_print_desc, (vop_t *) msdosfs_print },
{ &vop_read_desc, (vop_t *) msdosfs_read },
{ &vop_readdir_desc, (vop_t *) msdosfs_readdir },
- { &vop_readlink_desc, (vop_t *) msdosfs_readlink },
- { &vop_reallocblks_desc, (vop_t *) msdosfs_reallocblks },
{ &vop_reclaim_desc, (vop_t *) msdosfs_reclaim },
{ &vop_remove_desc, (vop_t *) msdosfs_remove },
{ &vop_rename_desc, (vop_t *) msdosfs_rename },
{ &vop_rmdir_desc, (vop_t *) msdosfs_rmdir },
- { &vop_seek_desc, (vop_t *) msdosfs_seek },
{ &vop_setattr_desc, (vop_t *) msdosfs_setattr },
{ &vop_strategy_desc, (vop_t *) msdosfs_strategy },
{ &vop_symlink_desc, (vop_t *) msdosfs_symlink },
diff --git a/sys/nfs/nfs_vnops.c b/sys/nfs/nfs_vnops.c
index 53e65ea..9019bf4 100644
--- a/sys/nfs/nfs_vnops.c
+++ b/sys/nfs/nfs_vnops.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
- * $Id: nfs_vnops.c,v 1.66 1997/10/15 13:23:35 phk Exp $
+ * $Id: nfs_vnops.c,v 1.67 1997/10/16 10:49:01 phk Exp $
*/
@@ -98,7 +98,6 @@ static int nfsfifo_read __P((struct vop_read_args *));
static int nfsfifo_write __P((struct vop_write_args *));
static int nfsspec_close __P((struct vop_close_args *));
static int nfsfifo_close __P((struct vop_close_args *));
-static int nfs_ioctl __P((struct vop_ioctl_args *));
#define nfs_poll vop_nopoll
static int nfs_flush __P((struct vnode *,struct ucred *,int,struct proc *,int));
static int nfs_setattrrpc __P((struct vnode *,struct vattr *,struct ucred *,struct proc *));
@@ -127,7 +126,6 @@ static int nfs_sillyrename __P((struct vnode *,struct vnode *,struct componentna
static int nfsspec_access __P((struct vop_access_args *));
static int nfs_readlink __P((struct vop_readlink_args *));
static int nfs_print __P((struct vop_print_args *));
-static int nfs_pathconf __P((struct vop_pathconf_args *));
static int nfs_advlock __P((struct vop_advlock_args *));
static int nfs_bwrite __P((struct vop_bwrite_args *));
/*
@@ -147,7 +145,6 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_getpages_desc, (vop_t *) nfs_getpages },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
- { &vop_ioctl_desc, (vop_t *) nfs_ioctl },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lease_desc, (vop_t *) nullop },
{ &vop_link_desc, (vop_t *) nfs_link },
@@ -157,7 +154,6 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
{ &vop_mknod_desc, (vop_t *) nfs_mknod },
{ &vop_mmap_desc, (vop_t *) nfs_mmap },
{ &vop_open_desc, (vop_t *) nfs_open },
- { &vop_pathconf_desc, (vop_t *) nfs_pathconf },
{ &vop_poll_desc, (vop_t *) nfs_poll },
{ &vop_print_desc, (vop_t *) nfs_print },
{ &vop_read_desc, (vop_t *) nfs_read },
@@ -167,7 +163,6 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
{ &vop_remove_desc, (vop_t *) nfs_remove },
{ &vop_rename_desc, (vop_t *) nfs_rename },
{ &vop_rmdir_desc, (vop_t *) nfs_rmdir },
- { &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_strategy_desc, (vop_t *) nfs_strategy },
{ &vop_symlink_desc, (vop_t *) nfs_symlink },
@@ -2932,25 +2927,6 @@ done:
}
/*
- * Return POSIX pathconf information applicable to nfs.
- *
- * The NFS V2 protocol doesn't support this, so just return EINVAL
- * for V2.
- */
-/* ARGSUSED */
-static int
-nfs_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- return (EINVAL);
-}
-
-/*
* NFS advisory byte-level locks.
* Currently unsupported.
*/
@@ -3312,15 +3288,3 @@ nfsfifo_close(ap)
}
return (VOCALL(fifo_vnodeop_p, VOFFSET(vop_close), ap));
}
-
-static int
-nfs_ioctl(ap)
- struct vop_ioctl_args *ap;
-{
-
- /*
- * XXX we were once bogusly enoictl() which returned this (ENOTTY).
- * Probably we should return ENODEV.
- */
- return (ENOTTY);
-}
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c
index 53e65ea..9019bf4 100644
--- a/sys/nfsclient/nfs_vnops.c
+++ b/sys/nfsclient/nfs_vnops.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
- * $Id: nfs_vnops.c,v 1.66 1997/10/15 13:23:35 phk Exp $
+ * $Id: nfs_vnops.c,v 1.67 1997/10/16 10:49:01 phk Exp $
*/
@@ -98,7 +98,6 @@ static int nfsfifo_read __P((struct vop_read_args *));
static int nfsfifo_write __P((struct vop_write_args *));
static int nfsspec_close __P((struct vop_close_args *));
static int nfsfifo_close __P((struct vop_close_args *));
-static int nfs_ioctl __P((struct vop_ioctl_args *));
#define nfs_poll vop_nopoll
static int nfs_flush __P((struct vnode *,struct ucred *,int,struct proc *,int));
static int nfs_setattrrpc __P((struct vnode *,struct vattr *,struct ucred *,struct proc *));
@@ -127,7 +126,6 @@ static int nfs_sillyrename __P((struct vnode *,struct vnode *,struct componentna
static int nfsspec_access __P((struct vop_access_args *));
static int nfs_readlink __P((struct vop_readlink_args *));
static int nfs_print __P((struct vop_print_args *));
-static int nfs_pathconf __P((struct vop_pathconf_args *));
static int nfs_advlock __P((struct vop_advlock_args *));
static int nfs_bwrite __P((struct vop_bwrite_args *));
/*
@@ -147,7 +145,6 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_getpages_desc, (vop_t *) nfs_getpages },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
- { &vop_ioctl_desc, (vop_t *) nfs_ioctl },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lease_desc, (vop_t *) nullop },
{ &vop_link_desc, (vop_t *) nfs_link },
@@ -157,7 +154,6 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
{ &vop_mknod_desc, (vop_t *) nfs_mknod },
{ &vop_mmap_desc, (vop_t *) nfs_mmap },
{ &vop_open_desc, (vop_t *) nfs_open },
- { &vop_pathconf_desc, (vop_t *) nfs_pathconf },
{ &vop_poll_desc, (vop_t *) nfs_poll },
{ &vop_print_desc, (vop_t *) nfs_print },
{ &vop_read_desc, (vop_t *) nfs_read },
@@ -167,7 +163,6 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
{ &vop_remove_desc, (vop_t *) nfs_remove },
{ &vop_rename_desc, (vop_t *) nfs_rename },
{ &vop_rmdir_desc, (vop_t *) nfs_rmdir },
- { &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_strategy_desc, (vop_t *) nfs_strategy },
{ &vop_symlink_desc, (vop_t *) nfs_symlink },
@@ -2932,25 +2927,6 @@ done:
}
/*
- * Return POSIX pathconf information applicable to nfs.
- *
- * The NFS V2 protocol doesn't support this, so just return EINVAL
- * for V2.
- */
-/* ARGSUSED */
-static int
-nfs_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- return (EINVAL);
-}
-
-/*
* NFS advisory byte-level locks.
* Currently unsupported.
*/
@@ -3312,15 +3288,3 @@ nfsfifo_close(ap)
}
return (VOCALL(fifo_vnodeop_p, VOFFSET(vop_close), ap));
}
-
-static int
-nfs_ioctl(ap)
- struct vop_ioctl_args *ap;
-{
-
- /*
- * XXX we were once bogusly enoictl() which returned this (ENOTTY).
- * Probably we should return ENODEV.
- */
- return (ENOTTY);
-}
diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h
index 009d827..e6a5e29 100644
--- a/sys/sys/vnode.h
+++ b/sys/sys/vnode.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)vnode.h 8.7 (Berkeley) 2/4/94
- * $Id: vnode.h,v 1.50 1997/10/12 20:26:07 phk Exp $
+ * $Id: vnode.h,v 1.51 1997/10/16 10:49:13 phk Exp $
*/
#ifndef _SYS_VNODE_H_
@@ -381,13 +381,6 @@ struct vop_generic_args {
/* other random data follows, presumably */
};
-/*
- * A default routine for vnops we shouldn't hit
- */
-int vn_defaultop __P((struct vop_generic_args *ap));
-
-/* XXX: compat until fixed all places*/
-#define vn_default_error vn_defaultop
#ifdef DEBUG_VFS_LOCKS
/*
@@ -513,8 +506,19 @@ int vop_noislocked __P((struct vop_islocked_args *));
int vop_nolock __P((struct vop_lock_args *));
int vop_nopoll __P((struct vop_poll_args *));
int vop_nounlock __P((struct vop_unlock_args *));
+int vop_stdpathconf __P((struct vop_pathconf_args *));
int vop_revoke __P((struct vop_revoke_args *));
int vop_sharedlock __P((struct vop_lock_args *));
+int vop_eopnotsupp __P((struct vop_generic_args *ap));
+int vop_ebadf __P((struct vop_generic_args *ap));
+int vop_einval __P((struct vop_generic_args *ap));
+int vop_enotty __P((struct vop_generic_args *ap));
+int vop_defaultop __P((struct vop_generic_args *ap));
+int vop_null __P((struct vop_generic_args *ap));
+
+/* XXX: compat until fixed all places*/
+#define vn_default_error vop_defaultop
+
struct vnode *
checkalias __P((struct vnode *vp, dev_t nvp_rdev, struct mount *mp));
void vput __P((struct vnode *vp));
diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c
index 85ef1b6..7f8d84d 100644
--- a/sys/ufs/ffs/ffs_alloc.c
+++ b/sys/ufs/ffs/ffs_alloc.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_alloc.c 8.18 (Berkeley) 5/26/95
- * $Id: ffs_alloc.c,v 1.39 1997/10/14 18:46:41 phk Exp $
+ * $Id: ffs_alloc.c,v 1.40 1997/10/16 10:49:19 phk Exp $
*/
#include "opt_quota.h"
@@ -486,7 +486,7 @@ ffs_reallocblks(ap)
ip->i_flag |= IN_CHANGE | IN_UPDATE;
if (!doasyncfree) {
gettime(&tv);
- VOP_UPDATE(vp, &tv, &tv, 1);
+ UFS_UPDATE(vp, &tv, &tv, 1);
}
}
if (ssize < len)
diff --git a/sys/ufs/ffs/ffs_extern.h b/sys/ufs/ffs/ffs_extern.h
index 4aa6118..38701c5 100644
--- a/sys/ufs/ffs/ffs_extern.h
+++ b/sys/ufs/ffs/ffs_extern.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_extern.h 8.6 (Berkeley) 3/30/95
- * $Id: ffs_extern.h,v 1.18 1997/10/10 18:16:58 phk Exp $
+ * $Id: ffs_extern.h,v 1.19 1997/10/16 10:49:22 phk Exp $
*/
#ifndef _UFS_FFS_EXTERN_H
@@ -86,7 +86,7 @@ int ffs_statfs __P((struct mount *, struct statfs *, struct proc *));
int ffs_sync __P((struct mount *, int, struct ucred *, struct proc *));
int ffs_truncate __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
int ffs_unmount __P((struct mount *, int, struct proc *));
-int ffs_update __P((struct vop_update_args *));
+int ffs_update __P((struct vnode *, struct timeval *, struct timeval *, int));
int ffs_valloc __P((struct vnode *, int, struct ucred *, struct vnode **));
int ffs_vfree __P((struct vnode *, ino_t, int));
diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c
index 78cf65c..92bb2a7 100644
--- a/sys/ufs/ffs/ffs_inode.c
+++ b/sys/ufs/ffs/ffs_inode.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_inode.c 8.13 (Berkeley) 4/21/95
- * $Id: ffs_inode.c,v 1.27 1997/09/02 20:06:44 bde Exp $
+ * $Id: ffs_inode.c,v 1.28 1997/10/16 10:49:28 phk Exp $
*/
#include "opt_quota.h"
@@ -50,6 +50,7 @@
#include <vm/vm_extern.h>
#include <ufs/ufs/quota.h>
+#include <ufs/ufs/ufsmount.h>
#include <ufs/ufs/inode.h>
#include <ufs/ffs/fs.h>
@@ -68,13 +69,11 @@ static int ffs_indirtrunc __P((struct inode *, ufs_daddr_t, ufs_daddr_t,
* write of the inode to complete.
*/
int
-ffs_update(ap)
- struct vop_update_args /* {
- struct vnode *a_vp;
- struct timeval *a_access;
- struct timeval *a_modify;
- int a_waitfor;
- } */ *ap;
+ffs_update(vp, access, modify, waitfor)
+ struct vnode *vp;
+ struct timeval *access;
+ struct timeval *modify;
+ int waitfor;
{
register struct fs *fs;
struct buf *bp;
@@ -82,8 +81,8 @@ ffs_update(ap)
int error;
time_t tv_sec;
- ip = VTOI(ap->a_vp);
- if (ap->a_vp->v_mount->mnt_flag & MNT_RDONLY) {
+ ip = VTOI(vp);
+ if (vp->v_mount->mnt_flag & MNT_RDONLY) {
ip->i_flag &=
~(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE);
return (0);
@@ -106,10 +105,10 @@ ffs_update(ap)
tv_sec = time.tv_sec;
if (ip->i_flag & IN_ACCESS)
ip->i_atime =
- (ap->a_access == &time ? tv_sec : ap->a_access->tv_sec);
+ (access == &time ? tv_sec : access->tv_sec);
if (ip->i_flag & IN_UPDATE) {
ip->i_mtime =
- (ap->a_modify == &time ? tv_sec : ap->a_modify->tv_sec);
+ (modify == &time ? tv_sec : modify->tv_sec);
ip->i_modrev++;
}
if (ip->i_flag & IN_CHANGE)
@@ -132,7 +131,7 @@ ffs_update(ap)
}
*((struct dinode *)bp->b_data +
ino_to_fsbo(fs, ip->i_number)) = ip->i_din;
- if (ap->a_waitfor && (ap->a_vp->v_mount->mnt_flag & MNT_ASYNC) == 0)
+ if (waitfor && (vp->v_mount->mnt_flag & MNT_ASYNC) == 0)
return (bwrite(bp));
else {
bp->b_flags |= B_CLUSTEROK;
@@ -186,11 +185,11 @@ ffs_truncate(vp, length, flags, cred, p)
bzero((char *)&oip->i_shortlink, (u_int)oip->i_size);
oip->i_size = 0;
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(ovp, &tv, &tv, 1));
+ return (UFS_UPDATE(ovp, &tv, &tv, 1));
}
if (oip->i_size == length) {
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(ovp, &tv, &tv, 0));
+ return (UFS_UPDATE(ovp, &tv, &tv, 0));
}
#ifdef QUOTA
error = getinoquota(oip);
@@ -222,7 +221,7 @@ ffs_truncate(vp, length, flags, cred, p)
else
bawrite(bp);
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(ovp, &tv, &tv, 1));
+ return (UFS_UPDATE(ovp, &tv, &tv, 1));
}
/*
* Shorten the size of the file. If the file is not being
@@ -280,7 +279,7 @@ ffs_truncate(vp, length, flags, cred, p)
for (i = NDADDR - 1; i > lastblock; i--)
oip->i_db[i] = 0;
oip->i_flag |= IN_CHANGE | IN_UPDATE;
- error = VOP_UPDATE(ovp, &tv, &tv, ((length > 0) ? 0 : 1));
+ error = UFS_UPDATE(ovp, &tv, &tv, ((length > 0) ? 0 : 1));
if (error)
allerror = error;
/*
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c
index c053477..45d8a0f 100644
--- a/sys/ufs/ffs/ffs_vfsops.c
+++ b/sys/ufs/ffs/ffs_vfsops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_vfsops.c 8.31 (Berkeley) 5/20/95
- * $Id: ffs_vfsops.c,v 1.59 1997/10/12 20:26:12 phk Exp $
+ * $Id: ffs_vfsops.c,v 1.60 1997/10/16 10:49:33 phk Exp $
*/
#include "opt_quota.h"
@@ -557,6 +557,7 @@ ffs_mountfs(devvp, mp, p, malloctype)
M_WAITOK);
ump->um_blkatoff = ffs_blkatoff;
ump->um_truncate = ffs_truncate;
+ ump->um_update = ffs_update;
ump->um_valloc = ffs_valloc;
ump->um_vfree = ffs_vfree;
bcopy(bp->b_data, ump->um_fs, (u_int)fs->fs_sbsize);
@@ -877,8 +878,8 @@ loop:
simple_unlock(&mntvnode_slock);
simple_unlock(&vp->v_interlock);
gettime(&tv);
- /* VOP_UPDATE(vp, &tv, &tv, waitfor == MNT_WAIT); */
- VOP_UPDATE(vp, &tv, &tv, 0);
+ /* UFS_UPDATE(vp, &tv, &tv, waitfor == MNT_WAIT); */
+ UFS_UPDATE(vp, &tv, &tv, 0);
simple_lock(&mntvnode_slock);
}
}
diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c
index 254d5e5..7400ed5 100644
--- a/sys/ufs/ffs/ffs_vnops.c
+++ b/sys/ufs/ffs/ffs_vnops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_vnops.c 8.15 (Berkeley) 5/14/95
- * $Id: ffs_vnops.c,v 1.34 1997/10/15 13:23:47 phk Exp $
+ * $Id: ffs_vnops.c,v 1.35 1997/10/16 10:49:35 phk Exp $
*/
#include <sys/param.h>
@@ -77,7 +77,6 @@ static struct vnodeopv_entry_desc ffs_vnodeop_entries[] = {
{ &vop_getpages_desc, (vop_t *) ffs_getpages },
{ &vop_read_desc, (vop_t *) ffs_read },
{ &vop_reallocblks_desc, (vop_t *) ffs_reallocblks },
- { &vop_update_desc, (vop_t *) ffs_update },
{ &vop_write_desc, (vop_t *) ffs_write },
{ NULL, NULL }
};
@@ -88,7 +87,6 @@ vop_t **ffs_specop_p;
static struct vnodeopv_entry_desc ffs_specop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperatespec },
{ &vop_fsync_desc, (vop_t *) ffs_fsync },
- { &vop_update_desc, (vop_t *) ffs_update },
{ NULL, NULL }
};
static struct vnodeopv_desc ffs_specop_opv_desc =
@@ -98,7 +96,6 @@ vop_t **ffs_fifoop_p;
static struct vnodeopv_entry_desc ffs_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperatefifo },
{ &vop_fsync_desc, (vop_t *) ffs_fsync },
- { &vop_update_desc, (vop_t *) ffs_update },
{ NULL, NULL }
};
static struct vnodeopv_desc ffs_fifoop_opv_desc =
@@ -187,6 +184,6 @@ loop:
}
gettime(&tv);
- return (VOP_UPDATE(ap->a_vp, &tv, &tv, ap->a_waitfor == MNT_WAIT));
+ return (UFS_UPDATE(ap->a_vp, &tv, &tv, ap->a_waitfor == MNT_WAIT));
}
diff --git a/sys/ufs/lfs/lfs_extern.h b/sys/ufs/lfs/lfs_extern.h
index 030fedd..d930f4d 100644
--- a/sys/ufs/lfs/lfs_extern.h
+++ b/sys/ufs/lfs/lfs_extern.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)lfs_extern.h 8.6 (Berkeley) 5/8/95
- * $Id: lfs_extern.h,v 1.17 1997/10/12 20:26:15 phk Exp $
+ * $Id: lfs_extern.h,v 1.18 1997/10/16 10:49:44 phk Exp $
*/
#ifndef _UFS_LFS_LFS_EXTERN_H_
@@ -68,7 +68,7 @@ int lfs_segwrite __P((struct mount *, int));
#define lfs_sysctl ((int (*) __P((int *, u_int, void *, size_t *, void *, \
size_t, struct proc *)))eopnotsupp)
int lfs_truncate __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
-int lfs_update __P((struct vop_update_args *));
+int lfs_update __P((struct vnode *, struct timeval *, struct timeval *, int));
void lfs_updatemeta __P((struct segment *));
int lfs_valloc __P((struct vnode *, int, struct ucred *, struct vnode **));
int lfs_vcreate __P((struct mount *, ino_t, struct vnode **));
diff --git a/sys/ufs/lfs/lfs_inode.c b/sys/ufs/lfs/lfs_inode.c
index 6b03151..39edcae 100644
--- a/sys/ufs/lfs/lfs_inode.c
+++ b/sys/ufs/lfs/lfs_inode.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)lfs_inode.c 8.9 (Berkeley) 5/8/95
- * $Id: lfs_inode.c,v 1.18 1997/09/02 20:06:48 bde Exp $
+ * $Id: lfs_inode.c,v 1.19 1997/10/16 10:49:47 phk Exp $
*/
#include "opt_quota.h"
@@ -73,15 +73,12 @@ lfs_ifind(fs, ino, dip)
}
int
-lfs_update(ap)
- struct vop_update_args /* {
- struct vnode *a_vp;
- struct timeval *a_access;
- struct timeval *a_modify;
- int a_waitfor;
- } */ *ap;
+lfs_update(vp, access, modify, waitfor)
+ struct vnode *vp;
+ struct timeval *access;
+ struct timeval *modify;
+ int waitfor;
{
- struct vnode *vp = ap->a_vp;
struct inode *ip;
int error;
@@ -104,9 +101,9 @@ lfs_update(ap)
return(0);
if (ip->i_flag & IN_ACCESS)
- ip->i_atime = ap->a_access->tv_sec;
+ ip->i_atime = access->tv_sec;
if (ip->i_flag & IN_UPDATE) {
- ip->i_mtime = ap->a_modify->tv_sec;
+ ip->i_mtime = modify->tv_sec;
(ip)->i_modrev++;
}
if (ip->i_flag & IN_CHANGE)
@@ -118,8 +115,8 @@ lfs_update(ap)
ip->i_flag |= IN_MODIFIED;
/* If sync, push back the vnode and any dirty blocks it may have. */
- error = (ap->a_waitfor & LFS_SYNC ? lfs_vflush(vp) : 0);
- if(ap->a_waitfor & LFS_SYNC && vp->v_dirtyblkhd.lh_first != NULL)
+ error = (waitfor & LFS_SYNC ? lfs_vflush(vp) : 0);
+ if(waitfor & LFS_SYNC && vp->v_dirtyblkhd.lh_first != NULL)
panic("lfs_update: dirty bufs");
return( error );
@@ -186,7 +183,7 @@ lfs_truncate(vp, length, flags, cred, p)
bzero((char *)&ip->i_shortlink, (u_int)ip->i_size);
ip->i_size = 0;
ip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(vp, &tv, &tv, 0));
+ return (UFS_UPDATE(vp, &tv, &tv, 0));
}
vnode_pager_setsize(vp, (u_long)length);
@@ -195,7 +192,7 @@ lfs_truncate(vp, length, flags, cred, p)
/* If length is larger than the file, just update the times. */
if (ip->i_size <= length) {
ip->i_flag |= IN_CHANGE | IN_UPDATE;
- return (VOP_UPDATE(vp, &tv, &tv, 0));
+ return (UFS_UPDATE(vp, &tv, &tv, 0));
}
/*
@@ -376,6 +373,6 @@ lfs_truncate(vp, length, flags, cred, p)
fs->lfs_avail += fragstodb(fs, a_released);
e1 = vinvalbuf(vp, (length > 0) ? V_SAVE : 0, cred, p,
0, 0);
- e2 = VOP_UPDATE(vp, &tv, &tv, 0);
+ e2 = UFS_UPDATE(vp, &tv, &tv, 0);
return (e1 ? e1 : e2 ? e2 : 0);
}
diff --git a/sys/ufs/lfs/lfs_vfsops.c b/sys/ufs/lfs/lfs_vfsops.c
index aa54c28..c543639 100644
--- a/sys/ufs/lfs/lfs_vfsops.c
+++ b/sys/ufs/lfs/lfs_vfsops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)lfs_vfsops.c 8.20 (Berkeley) 6/10/95
- * $Id: lfs_vfsops.c,v 1.24 1997/10/12 20:26:17 phk Exp $
+ * $Id: lfs_vfsops.c,v 1.25 1997/10/16 08:16:34 julian Exp $
*/
#include "opt_quota.h"
@@ -385,6 +385,11 @@ lfs_mountfs(devvp, mp, p)
ump = (struct ufsmount *)malloc(sizeof *ump, M_UFSMNT, M_WAITOK);
bzero(ump, sizeof *ump);
ump->um_malloctype = M_LFSNODE;
+ ump->um_blkatoff = lfs_blkatoff;
+ ump->um_truncate = lfs_truncate;
+ ump->um_update = lfs_update;
+ ump->um_valloc = lfs_valloc;
+ ump->um_vfree = lfs_vfree;
fs = ump->um_lfs = malloc(sizeof(struct lfs), M_UFSMNT, M_WAITOK);
bcopy(bp->b_data, fs, sizeof(struct lfs));
if (sizeof(struct lfs) < LFS_SBPAD) /* XXX why? */
diff --git a/sys/ufs/lfs/lfs_vnops.c b/sys/ufs/lfs/lfs_vnops.c
index a440b2b..fd383a7 100644
--- a/sys/ufs/lfs/lfs_vnops.c
+++ b/sys/ufs/lfs/lfs_vnops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)lfs_vnops.c 8.13 (Berkeley) 6/10/95
- * $Id: lfs_vnops.c,v 1.27 1997/10/15 13:23:52 phk Exp $
+ * $Id: lfs_vnops.c,v 1.28 1997/10/16 10:49:53 phk Exp $
*/
#include <sys/param.h>
@@ -79,7 +79,6 @@ static struct vnodeopv_entry_desc lfs_vnodeop_entries[] = {
{ &vop_fsync_desc, (vop_t *) lfs_fsync },
{ &vop_getattr_desc, (vop_t *) lfs_getattr },
{ &vop_read_desc, (vop_t *) lfs_read },
- { &vop_update_desc, (vop_t *) lfs_update },
{ &vop_write_desc, (vop_t *) lfs_write },
{ &vop_lookup_desc, (vop_t *) ufs_lookup },
{ NULL, NULL }
@@ -92,7 +91,6 @@ static struct vnodeopv_entry_desc lfs_specop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperatespec },
{ &vop_bwrite_desc, (vop_t *) lfs_bwrite },
{ &vop_getattr_desc, (vop_t *) lfs_getattr },
- { &vop_update_desc, (vop_t *) lfs_update },
{ NULL, NULL }
};
static struct vnodeopv_desc lfs_specop_opv_desc =
@@ -103,7 +101,6 @@ static struct vnodeopv_entry_desc lfs_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperatefifo },
{ &vop_bwrite_desc, (vop_t *) lfs_bwrite },
{ &vop_getattr_desc, (vop_t *) lfs_getattr },
- { &vop_update_desc, (vop_t *) lfs_update },
{ NULL, NULL }
};
static struct vnodeopv_desc lfs_fifoop_opv_desc =
@@ -134,7 +131,7 @@ lfs_fsync(ap)
int error;
gettime(&tv);
- error = (VOP_UPDATE(ap->a_vp, &tv, &tv,
+ error = (UFS_UPDATE(ap->a_vp, &tv, &tv,
ap->a_waitfor == MNT_WAIT ? LFS_SYNC : 0));
if(ap->a_waitfor == MNT_WAIT && ap->a_vp->v_dirtyblkhd.lh_first != NULL)
panic("lfs_fsync: dirty bufs");
diff --git a/sys/ufs/mfs/mfs_vnops.c b/sys/ufs/mfs/mfs_vnops.c
index 0c552bd..1e09958 100644
--- a/sys/ufs/mfs/mfs_vnops.c
+++ b/sys/ufs/mfs/mfs_vnops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)mfs_vnops.c 8.11 (Berkeley) 5/22/95
- * $Id: mfs_vnops.c,v 1.24 1997/10/15 13:23:57 phk Exp $
+ * $Id: mfs_vnops.c,v 1.25 1997/10/16 10:50:03 phk Exp $
*/
#include <sys/param.h>
@@ -56,7 +56,6 @@ 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 *));
static int mfs_print __P((struct vop_print_args *)); /* XXX */
@@ -71,7 +70,6 @@ static struct vnodeopv_entry_desc mfs_vnodeop_entries[] = {
{ &vop_close_desc, (vop_t *) mfs_close },
{ &vop_fsync_desc, (vop_t *) mfs_fsync },
{ &vop_inactive_desc, (vop_t *) mfs_inactive },
- { &vop_ioctl_desc, (vop_t *) mfs_ioctl },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_open_desc, (vop_t *) mfs_open },
@@ -120,25 +118,6 @@ mfs_fsync(ap)
}
/*
- * Ioctl operation.
- */
-/* ARGSUSED */
-static int
-mfs_ioctl(ap)
- struct vop_ioctl_args /* {
- struct vnode *a_vp;
- int a_command;
- caddr_t a_data;
- int a_fflag;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
-
- return (ENOTTY);
-}
-
-/*
* Pass I/O requests to the memory filesystem process.
*/
static int
diff --git a/sys/ufs/ufs/ufs_inode.c b/sys/ufs/ufs/ufs_inode.c
index e635f29..822d9df 100644
--- a/sys/ufs/ufs/ufs_inode.c
+++ b/sys/ufs/ufs/ufs_inode.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_inode.c 8.9 (Berkeley) 5/14/95
- * $Id: ufs_inode.c,v 1.18 1997/10/14 18:46:48 phk Exp $
+ * $Id: ufs_inode.c,v 1.19 1997/10/16 10:50:14 phk Exp $
*/
#include "opt_quota.h"
@@ -92,7 +92,7 @@ ufs_inactive(ap)
}
if (ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) {
gettime(&tv);
- VOP_UPDATE(vp, &tv, &tv, 0);
+ UFS_UPDATE(vp, &tv, &tv, 0);
}
out:
VOP_UNLOCK(vp, 0, p);
diff --git a/sys/ufs/ufs/ufs_readwrite.c b/sys/ufs/ufs/ufs_readwrite.c
index afbe95f..f9f6d06 100644
--- a/sys/ufs/ufs/ufs_readwrite.c
+++ b/sys/ufs/ufs/ufs_readwrite.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_readwrite.c 8.11 (Berkeley) 5/8/95
- * $Id: ufs_readwrite.c,v 1.31 1997/09/27 13:40:20 kato Exp $
+ * $Id: ufs_readwrite.c,v 1.32 1997/10/16 10:50:21 phk Exp $
*/
#ifdef LFS_READWRITE
@@ -312,7 +312,7 @@ WRITE(ap)
}
} else if (resid > uio->uio_resid && (ioflag & IO_SYNC)) {
gettime(&tv);
- error = VOP_UPDATE(vp, &tv, &tv, 1);
+ error = UFS_UPDATE(vp, &tv, &tv, 1);
}
return (error);
}
diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c
index d653601..0a80e7f 100644
--- a/sys/ufs/ufs/ufs_vnops.c
+++ b/sys/ufs/ufs/ufs_vnops.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95
- * $Id: ufs_vnops.c,v 1.60 1997/10/16 10:50:24 phk Exp $
+ * $Id: ufs_vnops.c,v 1.61 1997/10/16 11:59:09 phk Exp $
*/
#include "opt_quota.h"
@@ -73,7 +73,6 @@ static int ufs_chown __P((struct vnode *, uid_t, gid_t, struct ucred *, struct p
static int ufs_close __P((struct vop_close_args *));
static int ufs_create __P((struct vop_create_args *));
static int ufs_getattr __P((struct vop_getattr_args *));
-static int ufs_ioctl __P((struct vop_ioctl_args *));
static int ufs_islocked __P((struct vop_islocked_args *));
static int ufs_link __P((struct vop_link_args *));
static int ufs_lock __P((struct vop_lock_args *));
@@ -83,14 +82,12 @@ static int ufs_mkdir __P((struct vop_mkdir_args *));
static int ufs_mknod __P((struct vop_mknod_args *));
static int ufs_mmap __P((struct vop_mmap_args *));
static int ufs_open __P((struct vop_open_args *));
-static int ufs_pathconf __P((struct vop_pathconf_args *));
static int ufs_print __P((struct vop_print_args *));
static int ufs_readdir __P((struct vop_readdir_args *));
static int ufs_readlink __P((struct vop_readlink_args *));
static int ufs_remove __P((struct vop_remove_args *));
static int ufs_rename __P((struct vop_rename_args *));
static int ufs_rmdir __P((struct vop_rmdir_args *));
-static int ufs_seek __P((struct vop_seek_args *));
static int ufs_setattr __P((struct vop_setattr_args *));
static int ufs_strategy __P((struct vop_strategy_args *));
static int ufs_symlink __P((struct vop_symlink_args *));
@@ -468,7 +465,7 @@ ufs_setattr(ap)
atimeval.tv_usec = vap->va_atime.tv_nsec / 1000;
mtimeval.tv_sec = vap->va_mtime.tv_sec;
mtimeval.tv_usec = vap->va_mtime.tv_nsec / 1000;
- error = VOP_UPDATE(vp, &atimeval, &mtimeval, 1);
+ error = UFS_UPDATE(vp, &atimeval, &mtimeval, 1);
if (error)
return (error);
}
@@ -616,22 +613,6 @@ good:
return (0);
}
-/* ARGSUSED */
-int
-ufs_ioctl(ap)
- struct vop_ioctl_args /* {
- struct vnode *a_vp;
- int a_command;
- caddr_t a_data;
- int a_fflag;
- struct ucred *a_cred;
- struct proc *a_p;
- } */ *ap;
-{
-
- return (ENOTTY);
-}
-
/*
* Mmap a file
*
@@ -651,25 +632,6 @@ ufs_mmap(ap)
return (EINVAL);
}
-/*
- * Seek on a file
- *
- * Nothing to do, so just return.
- */
-/* ARGSUSED */
-int
-ufs_seek(ap)
- struct vop_seek_args /* {
- struct vnode *a_vp;
- off_t a_oldoff;
- off_t a_newoff;
- struct ucred *a_cred;
- } */ *ap;
-{
-
- return (0);
-}
-
int
ufs_remove(ap)
struct vop_remove_args /* {
@@ -757,7 +719,7 @@ ufs_link(ap)
ip->i_nlink++;
ip->i_flag |= IN_CHANGE;
gettime(&tv);
- error = VOP_UPDATE(vp, &tv, &tv, 1);
+ error = UFS_UPDATE(vp, &tv, &tv, 1);
if (!error) {
#ifdef EXT2FS
if (IS_EXT2_VNODE(tdvp)) {
@@ -1016,7 +978,7 @@ abortit:
ip->i_nlink++;
ip->i_flag |= IN_CHANGE;
gettime(&tv);
- if (error = VOP_UPDATE(fvp, &tv, &tv, 1)) {
+ if (error = UFS_UPDATE(fvp, &tv, &tv, 1)) {
VOP_UNLOCK(fvp, 0, p);
goto bad;
}
@@ -1085,7 +1047,7 @@ abortit:
}
dp->i_nlink++;
dp->i_flag |= IN_CHANGE;
- error = VOP_UPDATE(tdvp, &tv, &tv, 1);
+ error = UFS_UPDATE(tdvp, &tv, &tv, 1);
if (error)
goto bad;
}
@@ -1102,7 +1064,7 @@ abortit:
if (doingdirectory && newparent) {
dp->i_nlink--;
dp->i_flag |= IN_CHANGE;
- (void)VOP_UPDATE(tdvp, &tv, &tv, 1);
+ (void)UFS_UPDATE(tdvp, &tv, &tv, 1);
}
goto bad;
}
@@ -1390,7 +1352,7 @@ ufs_mkdir(ap)
if (cnp->cn_flags & ISWHITEOUT)
ip->i_flags |= UF_OPAQUE;
gettime(&tv);
- error = VOP_UPDATE(tvp, &tv, &tv, 1);
+ error = UFS_UPDATE(tvp, &tv, &tv, 1);
/*
* Bump link count in parent directory
@@ -1400,7 +1362,7 @@ ufs_mkdir(ap)
*/
dp->i_nlink++;
dp->i_flag |= IN_CHANGE;
- error = VOP_UPDATE(dvp, &tv, &tv, 1);
+ error = UFS_UPDATE(dvp, &tv, &tv, 1);
if (error)
goto bad;
@@ -1990,43 +1952,6 @@ ufsfifo_close(ap)
}
/*
- * Return POSIX pathconf information applicable to ufs filesystems.
- */
-int
-ufs_pathconf(ap)
- struct vop_pathconf_args /* {
- struct vnode *a_vp;
- int a_name;
- int *a_retval;
- } */ *ap;
-{
-
- switch (ap->a_name) {
- case _PC_LINK_MAX:
- *ap->a_retval = LINK_MAX;
- return (0);
- case _PC_NAME_MAX:
- *ap->a_retval = NAME_MAX;
- return (0);
- case _PC_PATH_MAX:
- *ap->a_retval = PATH_MAX;
- 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_NO_TRUNC:
- *ap->a_retval = 1;
- return (0);
- default:
- return (EINVAL);
- }
- /* NOTREACHED */
-}
-
-/*
* Advisory record locking support
*/
int
@@ -2159,7 +2084,7 @@ ufs_makeinode(mode, dvp, vpp, cnp)
* Make sure inode goes to disk before directory entry.
*/
gettime(&tv);
- error = VOP_UPDATE(tvp, &tv, &tv, 1);
+ error = UFS_UPDATE(tvp, &tv, &tv, 1);
if (error)
goto bad;
#ifdef EXT2FS
@@ -2211,7 +2136,6 @@ static struct vnodeopv_entry_desc ufs_vnodeop_entries[] = {
{ &vop_getpages_desc, (vop_t *) ufs_missingop },
{ &vop_read_desc, (vop_t *) ufs_missingop },
{ &vop_reallocblks_desc, (vop_t *) ufs_missingop },
- { &vop_update_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 },
@@ -2222,7 +2146,6 @@ static struct vnodeopv_entry_desc ufs_vnodeop_entries[] = {
{ &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_link_desc, (vop_t *) ufs_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
@@ -2231,7 +2154,7 @@ static struct vnodeopv_entry_desc ufs_vnodeop_entries[] = {
{ &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_pathconf_desc, (vop_t *) vop_stdpathconf },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_readdir_desc, (vop_t *) ufs_readdir },
{ &vop_readlink_desc, (vop_t *) ufs_readlink },
@@ -2239,7 +2162,6 @@ static struct vnodeopv_entry_desc ufs_vnodeop_entries[] = {
{ &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 },
@@ -2254,7 +2176,6 @@ 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_access_desc, (vop_t *) ufs_access },
{ &vop_close_desc, (vop_t *) ufsspec_close },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
@@ -2276,7 +2197,6 @@ 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_access_desc, (vop_t *) ufs_access },
{ &vop_close_desc, (vop_t *) ufsfifo_close },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
diff --git a/sys/ufs/ufs/ufsmount.h b/sys/ufs/ufs/ufsmount.h
index 50bfe57..ee79631 100644
--- a/sys/ufs/ufs/ufsmount.h
+++ b/sys/ufs/ufs/ufsmount.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ufsmount.h 8.6 (Berkeley) 3/30/95
- * $Id: ufsmount.h,v 1.10 1997/10/12 20:26:28 phk Exp $
+ * $Id: ufsmount.h,v 1.11 1997/10/16 10:50:27 phk Exp $
*/
#ifndef _UFS_UFS_UFSMOUNT_H_
@@ -99,12 +99,14 @@ struct ufsmount {
struct malloc_type *um_malloctype; /* The inodes malloctype */
int (*um_blkatoff) __P((struct vnode *, off_t, char **, struct buf **));
int (*um_truncate) __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
+ int (*um_update) __P((struct vnode *, struct timeval *, struct timeval *, int));
int (*um_valloc) __P((struct vnode *, int, struct ucred *, struct vnode **));
int (*um_vfree) __P((struct vnode *, ino_t, int));
};
#define UFS_BLKATOFF(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_blkatoff(aa, bb, cc, dd)
#define UFS_TRUNCATE(aa, bb, cc, dd, ee) VFSTOUFS((aa)->v_mount)->um_truncate(aa, bb, cc, dd, ee)
+#define UFS_UPDATE(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_update(aa, bb, cc, dd)
#define UFS_VALLOC(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_valloc(aa, bb, cc, dd)
#define UFS_VFREE(aa, bb, cc) VFSTOUFS((aa)->v_mount)->um_vfree(aa, bb, cc)
OpenPOWER on IntegriCloud