Skip site navigation (1)Skip section navigation (2)
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>