NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/45119: Assert Panic under -current running single proc under nfs load
The following reply was made to PR kern/45119; it has been noted by GNATS.
From: David Holland <dholland-bugs%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/45119: Assert Panic under -current running single proc
under nfs load
Date: Tue, 5 Jul 2011 00:29:08 +0000
On Mon, Jul 04, 2011 at 11:35:00PM +0000, cyber%netbsd.org@localhost wrote:
> panic: kernel diagnostic assertion "ccp - *(ap->a_cookies) < ccount"
failed: file "/n/srv0/Src/N-current/src/sys/ufs/ufs/ufs_vnops.c", line 1749
If you feel brave, try the following patch, which I haven't tested yet
but will commit once I have. If not, revert sys/sys/dirent.h -r1.25.
Index: sys/sys/dirent.h
===================================================================
RCS file: /cvsroot/src/sys/sys/dirent.h,v
retrieving revision 1.25
diff -u -r1.25 dirent.h
--- sys/sys/dirent.h 23 May 2011 21:59:23 -0000 1.25
+++ sys/sys/dirent.h 5 Jul 2011 00:21:42 -0000
@@ -74,6 +74,13 @@
#define DT_WHT 14
/*
+ * Caution: the following macros are used by the ufs/ffs code on ffs's
+ * struct direct as well as the exposed struct dirent. The two
+ * structures are not the same, so it's important (until ufs is fixed,
+ * XXX) that the macro definitions remain type-polymorphic.
+ */
+
+/*
* The _DIRENT_ALIGN macro returns the alignment of struct dirent.
* struct direct and struct dirent12 used 4 byte alignment but
* struct dirent uses 8.
@@ -84,7 +91,7 @@
* struct dirent
*/
#if __GNUC_PREREQ__(4, 0)
-#define _DIRENT_NAMEOFF(dp) __builtin_offsetof(struct dirent,
d_name)
+#define _DIRENT_NAMEOFF(dp) __builtin_offsetof(__typeof(*dp),
d_name)
#else
#define _DIRENT_NAMEOFF(dp) \
((char *)(void *)&(dp)->d_name - (char *)(void *)dp)
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index