diff options
author | dg <dg@FreeBSD.org> | 1996-03-29 06:39:39 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1996-03-29 06:39:39 +0000 |
commit | bcaf3321ab5fccd7bef348ed0d5e7572bcc65432 (patch) | |
tree | e26c7a79d995695024194a732949268e204c2a13 | |
parent | 4d625bffc5619d5b193f538fd270e83d908be75e (diff) | |
download | FreeBSD-src-bcaf3321ab5fccd7bef348ed0d5e7572bcc65432.zip FreeBSD-src-bcaf3321ab5fccd7bef348ed0d5e7572bcc65432.tar.gz |
Change v_usecount & v_writecount from a short to an int. As shorts they
can and will overflow on large machines - especially on machines with
filesystems with lots of files (like netnews servers), and the result
is a "free vnode isn't" panic or worse.
This fixes one of the causes of these panics that I've been experiancing on
wcarchive.
-rw-r--r-- | sys/sys/vnode.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 8c95e6d..ff1a687 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.30 1996/01/30 23:01:34 mpp Exp $ + * $Id: vnode.h,v 1.31 1996/03/03 18:51:33 peter Exp $ */ #ifndef _SYS_VNODE_H_ @@ -71,9 +71,9 @@ typedef int vop_t __P((void *)); struct vnode { u_long v_flag; /* vnode flags (see below) */ - short v_usecount; /* reference count of users */ - short v_writecount; /* reference count of writers */ - long v_holdcnt; /* page & buffer references */ + int v_usecount; /* reference count of users */ + int v_writecount; /* reference count of writers */ + int v_holdcnt; /* page & buffer references */ daddr_t v_lastr; /* last read (read-ahead) */ u_long v_id; /* capability identifier */ struct mount *v_mount; /* ptr to vfs we are in */ |