Module Name:    src
Committed By:   ahoka
Date:           Sun May 30 13:50:16 UTC 2010

Modified Files:
        src/share/man/man9: vnode.9

Log Message:
Sync struct vnode with reality.


To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/share/man/man9/vnode.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/vnode.9
diff -u src/share/man/man9/vnode.9:1.47 src/share/man/man9/vnode.9:1.48
--- src/share/man/man9/vnode.9:1.47	Sun Feb 21 13:33:03 2010
+++ src/share/man/man9/vnode.9	Sun May 30 13:50:16 2010
@@ -1,4 +1,4 @@
-.\"     $NetBSD: vnode.9,v 1.47 2010/02/21 13:33:03 wiz Exp $
+.\"     $NetBSD: vnode.9,v 1.48 2010/05/30 13:50:16 ahoka Exp $
 .\"
 .\" Copyright (c) 2001, 2005, 2006 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 11, 2010
+.Dd May 30, 2010
 .Dt VNODE 9
 .Os
 .Sh NAME
@@ -130,40 +130,40 @@
 The vnode has the following structure:
 .Bd -literal
 struct vnode {
-        struct uvm_object v_uobj;               /* uvm object */
-#define v_usecount      v_uobj.uo_refs
-#define v_interlock     v_uobj.vmobjlock
-        voff_t          v_size;                 /* size of file */
-        int             v_flag;                 /* flags */
-        int             v_numoutput;            /* num pending writes */
-        long            v_writecount;           /* ref count of writers */
-        long            v_holdcnt;              /* page \*[Am] buffer refs */
-        struct mount    *v_mount;               /* ptr to vfs we are in */
-        int             (**v_op)(void *);       /* vnode ops vector */
-        TAILQ_ENTRY(vnode) v_freelist;          /* vnode freelist */
-        LIST_ENTRY(vnode) v_mntvnodes;          /* vnodes for mount pt */
-        struct buflists v_cleanblkhd;           /* clean blocklist head */
-        struct buflists v_dirtyblkhd;           /* dirty blocklist head */
-        LIST_ENTRY(vnode) v_synclist;           /* dirty vnodes */
-        LIST_HEAD(, namecache) v_dnclist;       /* namecaches for children */
-        LIST_HEAD(, namecache) v_nclist;        /* namecaches for our parent */
-        union {
-                struct mount    *vu_mountedhere;/* ptr to mounted vfs */
-                struct socket   *vu_socket;     /* unix ipc (VSOCK) */
-                struct specinfo *vu_specinfo;   /* device (VCHR, VBLK) */
-                struct fifoinfo *vu_fifoinfo;   /* fifo (VFIFO) */
-        } v_un;
-#define v_mountedhere   v_un.vu_mountedhere
-#define v_socket        v_un.vu_socket
-#define v_specinfo      v_un.vu_specinfo
-#define v_fifoinfo      v_un.vu_fifoinfo
-        struct nqlease  *v_lease;               /* Soft ref to lease */
-        enum vtype      v_type;                 /* vnode type */
-        enum vtagtype   v_tag;                  /* underlying data type */
-        struct lock     v_lock;                 /* lock for this vnode */
-        struct lock     *v_vnlock;              /* ptr to vnode lock */
-        void            *v_data;                /* private data for fs */
-        struct klist    v_klist;                /* knotes attached to vnode */
+	struct uvm_object v_uobj;		/* the VM object */
+	kcondvar_t	v_cv;			/* synchronization */
+	voff_t		v_size;			/* size of file */
+	voff_t		v_writesize;		/* new size after write */
+	int		v_iflag;		/* VI_* flags */
+	int		v_vflag;		/* VV_* flags */
+	int		v_uflag;		/* VU_* flags */
+	int		v_numoutput;		/* # of pending writes */
+	int		v_writecount;		/* ref count of writers */
+	int		v_holdcnt;		/* page & buffer refs */
+	int		v_synclist_slot;	/* synclist slot index */
+	struct mount	*v_mount;		/* ptr to vfs we are in */
+	int		(**v_op)(void *);	/* vnode operations vector */
+	TAILQ_ENTRY(vnode) v_freelist;		/* vnode freelist */
+	struct vnodelst	*v_freelisthd;		/* which freelist? */
+	TAILQ_ENTRY(vnode) v_mntvnodes;		/* vnodes for mount point */
+	struct buflists	v_cleanblkhd;		/* clean blocklist head */
+	struct buflists	v_dirtyblkhd;		/* dirty blocklist head */
+	TAILQ_ENTRY(vnode) v_synclist;		/* vnodes with dirty bufs */
+	LIST_HEAD(, namecache) v_dnclist;	/* namecaches (children) */
+	LIST_HEAD(, namecache) v_nclist;	/* namecaches (parent) */
+	union {
+		struct mount	*vu_mountedhere;/* ptr to vfs (VDIR) */
+		struct socket	*vu_socket;	/* unix ipc (VSOCK) */
+		struct specnode	*vu_specnode;	/* device (VCHR, VBLK) */
+		struct fifoinfo	*vu_fifoinfo;	/* fifo (VFIFO) */
+		struct uvm_ractx *vu_ractx;	/* read-ahead ctx (VREG) */
+	} v_un;
+	enum vtype	v_type;			/* vnode type */
+	enum vtagtype	v_tag;			/* type of underlying data */
+	struct vnlock	v_lock;			/* lock for this vnode */
+	struct vnlock	*v_vnlock;		/* pointer to lock */
+	void 		*v_data;		/* private data for fs */
+	struct klist	v_klist;		/* notes attached to vnode */
 };
 .Ed
 .Pp

Reply via email to