Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 May 2000 09:42:40 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        freebsd-stable@FreeBSD.ORG
Subject:   HEADS up, recommend kernel & modules recompile for -stable (SMP, sys/file.h changes)
Message-ID:  <200005161642.JAA19701@apollo.backplane.com>

next in thread | raw e-mail | index | archive | help
    Heads up!

    I accidently mixed in the sys/file ref count MFC (which increases the
    size of the reference count fields in struct file from 16 to 32 bits)
    with the SMP cleanup.  I hadn't meant to commit this for a few more days.

    Also, the SMP cleanup was pretty extensive.

    So I recommend a complete kernel AND modules recompile, and also
    recommend recompiling pstat, fstat, and sockstat (though those programs
    will probably work just fine either way).

    I did pad the original ref count fields to maintain compatibility with
    third party modules.  I don't think there will be any problems.

    Specialty modules in our source tree (portal, union, fdesc, fifofs, 
    netgraph, and the linux module) must be recompiled.  I recommend
    simply recompiling all of them.

    If you encounter problems with third party modules that weren't there
    before, try backing out /usr/src/sys/file.h rev 1.22.2.3 (in -stable)
    and see if the problem goes away.  I've included the forward diff
    below for reference.  If you determine the ref count change to be the
    problem, please email me.

						-Matt

Index: file.h
===================================================================
RCS file: /home/ncvs/src/sys/sys/file.h,v
retrieving revision 1.22.2.2
retrieving revision 1.22.2.3
diff -u -r1.22.2.2 -r1.22.2.3
--- file.h	2000/05/05 03:50:01	1.22.2.2
+++ file.h	2000/05/16 07:07:52	1.22.2.3
@@ -62,8 +62,8 @@
 #define	DTYPE_FIFO	4	/* fifo (named pipe) */
 #define	DTYPE_KQUEUE	5	/* event queue */
 	short	f_type;		/* descriptor type */
-	short	f_count;	/* reference count */
-	short	f_msgcount;	/* references from message queue */
+	short	f_FILLER1;	/* (OLD) reference count */
+	short	f_FILLER2;	/* (OLD) references from message queue */
 	struct	ucred *f_cred;	/* credentials associated with descriptor */
 	struct	fileops {
 		int	(*fo_read)	__P((struct file *fp, struct uio *uio,
@@ -90,6 +90,8 @@
 				 */
 	off_t	f_offset;
 	caddr_t	f_data;		/* vnode or socket */
+	int	f_count;	/* reference count */
+	int	f_msgcount;	/* reference count from message queue */
 };
 
 #ifdef MALLOC_DECLARE


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005161642.JAA19701>