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>
