Bump fd_lastfile, freefile, and refcnt to 32 bit ints. Also bump cmask
authorMatthew Dillon <dillon@dragonflybsd.org>
Tue, 21 Jun 2005 17:59:47 +0000 (17:59 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Tue, 21 Jun 2005 17:59:47 +0000 (17:59 +0000)
(though that doesn't fix any particular bug).  lastfile and freefile were
previously unsigned shorts which caused the system to become very confused
when any single user process had more then 65535 open file descriptors.

Reported-by: Jeffrey Hsu <hsu@leaf.dragonflybsd.org>
sys/sys/filedesc.h

index 09b5038..b2b3185 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)filedesc.h  8.1 (Berkeley) 6/2/93
  * $FreeBSD: src/sys/sys/filedesc.h,v 1.19.2.5 2003/06/06 20:21:32 tegge Exp $
- * $DragonFly: src/sys/sys/filedesc.h,v 1.8 2004/11/12 00:09:27 dillon Exp $
+ * $DragonFly: src/sys/sys/filedesc.h,v 1.9 2005/06/21 17:59:47 dillon Exp $
  */
 
 #ifndef _SYS_FILEDESC_H_
@@ -70,10 +70,10 @@ struct filedesc {
        struct  namecache *fd_nrdir;    /* root directory */
        struct  namecache *fd_njdir;    /* jail directory */
        int     fd_nfiles;              /* number of open files allocated */
-       u_short fd_lastfile;            /* high-water mark of fd_ofiles */
-       u_short fd_freefile;            /* approx. next free file */
-       u_short fd_cmask;               /* mask for file creation */
-       u_short fd_refcnt;              /* reference count */
+       int     fd_lastfile;            /* high-water mark of fd_ofiles */
+       int     fd_freefile;            /* approx. next free file */
+       int     fd_cmask;               /* mask for file creation */
+       int     fd_refcnt;              /* reference count */
 
        int     fd_knlistsize;          /* size of knlist */
        struct  klist *fd_knlist;       /* list of attached knotes */