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.
This commit is contained in:
parent
46268a606f
commit
e206cebf59
@ -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 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user