aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/vnode.h
diff options
context:
space:
mode:
authorJohn Dyson <dyson@FreeBSD.org>1996-08-21 21:56:23 +0000
committerJohn Dyson <dyson@FreeBSD.org>1996-08-21 21:56:23 +0000
commit6476c0d204848007fc6da182e3935f01e267d77f (patch)
tree07a76a1b97882ad9c1e3805d05f820bc976c60bd /sys/sys/vnode.h
parentfe6869c2d0e28a9e4e6af9bcaf8f65506ac68e86 (diff)
downloadsrc-6476c0d204848007fc6da182e3935f01e267d77f.tar.gz
src-6476c0d204848007fc6da182e3935f01e267d77f.zip
Even though this looks like it, this is not a complex code change.
The interface into the "VMIO" system has changed to be more consistant and robust. Essentially, it is now no longer necessary to call vn_open to get merged VM/Buffer cache operation, and exceptional conditions such as merged operation of VBLK devices is simpler and more correct. This code corrects a potentially large set of problems including the problems with ktrace output and loaded systems, file create/deletes, etc. Most of the changes to NFS are cosmetic and name changes, eliminating a layer of subroutine calls. The direct calls to vput/vrele have been re-instituted for better cross platform compatibility. Reviewed by: davidg
Notes
Notes: svn path=/head/; revision=17761
Diffstat (limited to 'sys/sys/vnode.h')
-rw-r--r--sys/sys/vnode.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h
index d2c55cf7cb01..c468ecfe2cc3 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.32 1996/03/29 06:39:39 davidg Exp $
+ * $Id: vnode.h,v 1.33 1996/05/31 00:20:32 peter Exp $
*/
#ifndef _SYS_VNODE_H_
@@ -68,6 +68,7 @@ enum vtagtype {
LIST_HEAD(buflists, buf);
typedef int vop_t __P((void *));
+struct vm_object;
struct vnode {
u_long v_flag; /* vnode flags (see below) */
@@ -98,7 +99,7 @@ struct vnode {
int v_ralen; /* Read-ahead length */
int v_usage; /* Vnode usage counter */
daddr_t v_maxra; /* last readahead block */
- void *v_object; /* Place to store VM object */
+ struct vm_object *v_object; /* Place to store VM object */
enum vtagtype v_tag; /* type of underlying data */
void *v_data; /* private data for fs */
};
@@ -213,7 +214,7 @@ void vhold __P((struct vnode *));
#define HOLDRELE(vp) (vp)->v_holdcnt-- /* decrease buf or page ref */
#define VATTR_NULL(vap) (*(vap) = va_null) /* initialize a vattr */
#define VHOLD(vp) (vp)->v_holdcnt++ /* increase buf or page ref */
-#define VREF(vp) (vp)->v_usecount++ /* increase reference */
+#define VREF(vp) vref(vp) /* increase reference */
#endif
#define NULLVP ((struct vnode *)NULL)
@@ -422,9 +423,8 @@ int vn_rdwr __P((enum uio_rw rw, struct vnode *vp, caddr_t base,
int len, off_t offset, enum uio_seg segflg, int ioflg,
struct ucred *cred, int *aresid, struct proc *p));
int vn_stat __P((struct vnode *vp, struct stat *sb, struct proc *p));
-void vn_vmio_close __P((struct vnode *vp));
-int vn_vmio_open __P((struct vnode *vp, struct proc *p,
- struct ucred *cred));
+int vfs_object_create __P((struct vnode *vp, struct proc *p,
+ struct ucred *cred, int waslocked));
int vn_writechk __P((struct vnode *vp));
void vprint __P((char *label, struct vnode *vp));
void vput __P((struct vnode *vp));