diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index b9b582269598..8ddb26c8f759 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1,4 +1,4 @@ -/* $NetBSD: vfs_subr.c,v 1.179 2002/10/22 03:38:21 simonb Exp $ */ +/* $NetBSD: vfs_subr.c,v 1.180 2002/10/23 06:45:49 gmcgarry Exp $ */ /*- * Copyright (c) 1997, 1998 The NetBSD Foundation, Inc. @@ -82,7 +82,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.179 2002/10/22 03:38:21 simonb Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.180 2002/10/23 06:45:49 gmcgarry Exp $"); #include "opt_ddb.h" #include "opt_compat_netbsd.h" @@ -172,6 +172,8 @@ void insmntque __P((struct vnode *, struct mount *)); int getdevvp __P((dev_t, struct vnode **, enum vtype)); void vgoneall __P((struct vnode *)); +void vclean(struct vnode *, int, struct proc *); + static int vfs_hang_addrlist __P((struct mount *, struct netexport *, struct export_args *)); static int vfs_free_netcred __P((struct radix_node *, void *)); diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 36a0357aaeca..2c4704a93e1e 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -1,4 +1,4 @@ -/* $NetBSD: vnode.h,v 1.97 2002/10/14 04:18:56 gmcgarry Exp $ */ +/* $NetBSD: vnode.h,v 1.98 2002/10/23 06:45:51 gmcgarry Exp $ */ /* * Copyright (c) 1989, 1993 @@ -482,58 +482,68 @@ struct uio; struct vattr; struct vnode; +/* see vnode(9) */ int bdevvp(dev_t dev, struct vnode **vpp); int cdevvp(dev_t dev, struct vnode **vpp); +struct vnode * + checkalias(struct vnode *vp, dev_t nvp_rdev, struct mount *mp); int getnewvnode(enum vtagtype tag, struct mount *mp, int (**vops)(void *), struct vnode **vpp); void ungetnewvnode(struct vnode *); -int getvnode(struct filedesc *fdp, int fd, struct file **fpp); -void vfs_getnewfsid(struct mount *); -int speedup_syncer(void); +int vaccess(enum vtype type, mode_t file_mode, uid_t uid, gid_t gid, + mode_t acc_mode, struct ucred *cred); void vattr_null(struct vattr *vap); int vcount(struct vnode *vp); -void vclean(struct vnode *, int, struct proc *); -int vfinddev(dev_t, enum vtype, struct vnode **); -void vflushbuf(struct vnode *vp, int sync); -int vflush(struct mount *mp, struct vnode *vp, int flags); -void vntblinit(void); -void vwakeup(struct buf *); void vdevgone(int, int, int, enum vtype); +int vfinddev(dev_t, enum vtype, struct vnode **); +int vflush(struct mount *mp, struct vnode *vp, int flags); +void vflushbuf(struct vnode *vp, int sync); int vget(struct vnode *vp, int lockflag); void vgone(struct vnode *vp); void vgonel(struct vnode *vp, struct proc *p); int vinvalbuf(struct vnode *vp, int save, struct ucred *cred, struct proc *p, int slpflag, int slptimeo); -int vtruncbuf(struct vnode *vp, daddr_t lbn, - int slpflag, int slptimeo); void vprint(char *label, struct vnode *vp); +void vput(struct vnode *vp); int vrecycle(struct vnode *vp, struct simplelock *inter_lkp, struct proc *p); +void vrele(struct vnode *vp); +int vtruncbuf(struct vnode *vp, daddr_t lbn, + int slpflag, int slptimeo); +void vwakeup(struct buf *); + +/* see vnsubr(9) */ int vn_bwrite(void *ap); int vn_close(struct vnode *vp, int flags, struct ucred *cred, struct proc *p); +int vn_isunder(struct vnode *dvp, struct vnode *rvp, struct proc *p); int vn_lock(struct vnode *vp, int flags); -u_int vn_setrecurse(struct vnode *vp); -void vn_restorerecurse(struct vnode *vp, u_int flags); +void vn_markexec(struct vnode *); +int vn_marktext(struct vnode *); int vn_open(struct nameidata *ndp, int fmode, int cmode); int vn_rdwr(enum uio_rw rw, struct vnode *vp, caddr_t base, int len, off_t offset, enum uio_seg segflg, int ioflg, struct ucred *cred, size_t *aresid, struct proc *p); int vn_readdir(struct file *fp, char *buf, int segflg, u_int count, int *done, struct proc *p, off_t **cookies, int *ncookies); +void vn_restorerecurse(struct vnode *vp, u_int flags); +u_int vn_setrecurse(struct vnode *vp); int vn_stat(struct vnode *vp, struct stat *sb, struct proc *p); +int vn_writechk(struct vnode *vp); + +/* initialise global vnode management */ +void vntblinit(void); + +/* misc stuff */ void vn_syncer_add_to_worklist(struct vnode *vp, int delay); void vn_syncer_remove_from_worklist(struct vnode *vp); -int vn_writechk(struct vnode *vp); -void vn_markexec(struct vnode *); -int vn_marktext(struct vnode *); -int vn_isunder(struct vnode *dvp, struct vnode *rvp, struct proc *p); -struct vnode * - checkalias(struct vnode *vp, dev_t nvp_rdev, struct mount *mp); -void vput(struct vnode *vp); -void vrele(struct vnode *vp); -int vaccess(enum vtype type, mode_t file_mode, uid_t uid, gid_t gid, - mode_t acc_mode, struct ucred *cred); +int speedup_syncer(void); + +/* from vfs_syscalls.c - abused by compat code */ +int getvnode(struct filedesc *fdp, int fd, struct file **fpp); + +/* see vfsops(9) */ +void vfs_getnewfsid(struct mount *); #ifdef DDB void vfs_vnode_print(struct vnode *, int, void (*)(const char *, ...)); #endif /* DDB */