Subject: Re: panic: softdep_fsync: pending ops
To: maximum entropy <entropy@zippy.bernstein.com>
From: Frank van der Linden <frank@wins.uva.nl>
List: current-users
Date: 03/14/2000 14:09:41
On Tue, Mar 14, 2000 at 05:05:54AM -0500, maximum entropy wrote:
> >Date: Tue, 14 Mar 2000 10:12:15 +0100
> >From: Bjoern Labitzke <hermit@hermit.home.cs.tu-berlin.de>
> >
> >I am doing nightly builds of -current. For a few days now I get the panic:
> >softdep_fsync: pending ops. I have not changed the way I use my system, 
 
> I got the same panic a couple of times yesterday, during "make build".
> I'm not using any union mounts.  The panics seemed to be caused by
> writing a large file to disk from emacs in another window, while the
> build was chugging along.

I just checked in the following fix to src/sys/ufs/ffs/ffs_vnops.c,
I think it should fix this problem.

- Frank


*** ffs_vnops.c.orig	Tue Mar 14 00:33:15 2000
--- ffs_vnops.c	Tue Mar 14 13:45:46 2000
***************
*** 258,264 ****
  	ip = VTOI(vp);
  	s = splbio();
  	/* XXX can there be dirty blocks if the inode's flags are empty? */
! 	if (vp->v_dirtyblkhd.lh_first == NULL &&
  	    (ip->i_flag & (IN_MODIFIED|IN_UPDATE|IN_CHANGE|IN_ACCESS))==0) {
  	        splx(s);
  	        return 0;
--- 258,264 ----
  	ip = VTOI(vp);
  	s = splbio();
  	/* XXX can there be dirty blocks if the inode's flags are empty? */
! 	if (vp->v_dirtyblkhd.lh_first == NULL && !DOINGSOFTDEP(vp) &&
  	    (ip->i_flag & (IN_MODIFIED|IN_UPDATE|IN_CHANGE|IN_ACCESS))==0) {
  	        splx(s);
  	        return 0;