Date: Tue, 15 Sep 1998 09:16:18 -0400 (EDT) From: Brian Feldman <green@unixhelp.org> To: Luoqi Chen <luoqi@watermarkgroup.com> Cc: ben@rosengart.com, current@FreeBSD.ORG, bde@godzilla.zeta.org.au Subject: Re: soft updates panic Message-ID: <Pine.BSF.4.02.9809150913280.13912-100000@zone.syracuse.net> In-Reply-To: <199809111636.MAA20295@lor.watermarkgroup.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I haven't heard back from you about this, but I suppose I shall take the initiative. YES this does fix all the SoftUpdates instability I've had. I can make -j4 world to my heart's content, with no crashes at all. Should it be worth committing? And if it is the wrong thing to do for standard ffs, maybe and #ifdef SOFTUPDATES #else #endif workaround? Cheers, Brian Feldman On Fri, 11 Sep 1998, Luoqi Chen wrote: > > 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 > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.02.9809150913280.13912-100000>