From owner-freebsd-current Fri Sep 11 09:38:19 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA23675 for freebsd-current-outgoing; Fri, 11 Sep 1998 09:38:19 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from lor.watermarkgroup.com (lor.watermarkgroup.com [207.202.73.33]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id JAA23670 for ; Fri, 11 Sep 1998 09:38:15 -0700 (PDT) (envelope-from luoqi@watermarkgroup.com) Received: (from luoqi@localhost) by lor.watermarkgroup.com (8.8.8/8.8.8) id MAA20295; Fri, 11 Sep 1998 12:36:48 -0400 (EDT) (envelope-from luoqi) Date: Fri, 11 Sep 1998 12:36:48 -0400 (EDT) From: Luoqi Chen Message-Id: <199809111636.MAA20295@lor.watermarkgroup.com> To: ben@rosengart.com, current@FreeBSD.ORG Subject: Re: soft updates panic Cc: bde@godzilla.zeta.org.au Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > Another crash in make -j3 world last night, but no panic or core dump > this time. > > It's disturbing to me to see this this close to release. > > > Ben > > "You have your mind on computers, it seems." > I'm also able to reproduce this panic quite reliably. I tracked it down to the lost of a directory size increase. It may have something to do with Bruce's ffs_update() change in July (ffs_inode.c, -r1.43->1.44): many cases of the in-core update are no longer copied to the inode disk buffer. Please try the attached patch that restores the old behavior, and let me know if it helps. I was able to do a make -j8 buildworld myself, successfully up to the point that perl5 failed me 8( -lq Index: ffs_inode.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_inode.c,v retrieving revision 1.46 diff -u -r1.46 ffs_inode.c --- ffs_inode.c 1998/07/04 20:45:38 1.46 +++ ffs_inode.c 1998/09/11 15:13:09 @@ -81,10 +81,12 @@ struct inode *ip; int error; - ufs_itimes(vp); ip = VTOI(vp); - if ((ip->i_flag & IN_MODIFIED) == 0 && waitfor != MNT_WAIT) + if (((ip->i_flag & + (IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) == 0) && + (waitfor != MNT_WAIT)) return (0); + ufs_itimes(vp); ip->i_flag &= ~(IN_LAZYMOD | IN_MODIFIED); if (vp->v_mount->mnt_flag & MNT_RDONLY) return (0); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message