Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Feb 1999 08:50:13 -0800 (PST)
From:      hsu@FreeBSD.ORG (Jeffrey Hsu)
To:        dillon@FreeBSD.ORG
Cc:        hackers@FreeBSD.ORG, jake@checker.org, julian@whistle.com, mckusick@McKusick.COM
Subject:   Re: Re: softupdate panic, anyone seen this? (fwd)
Message-ID:  <19990219165013.623441183A@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
 > I'd appreciate it if someone could verify the double LIST_REMOVE()
 > bug.  vn_syncer_add_to_worklist() already removes the vn from
 > the list ( assuming the VONWORKLIST v_flag is set, which it should be
 > in this case ).

I've also come across the extra LIST_REMOVE in sched_sync() before and
have been running the following patch which is nearly identical to yours
for a few days now.

The only other thing we might consider is removing the VONWORKLST flag
checks which appear to be unnecessary now.  But I've left them in as
extra protection.

Index: vfs_subr.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/vfs_subr.c,v
retrieving revision 1.186
diff -c -r1.186 vfs_subr.c
*** vfs_subr.c  1999/02/04 18:25:39     1.186
--- vfs_subr.c  1999/02/18 19:31:08
***************
*** 948,954 ****
                                /*
                                 * Move ourselves to the back of the sync list.
                                 */
-                               LIST_REMOVE(vp, v_synclist);
                                vn_syncer_add_to_worklist(vp, syncdelay);
                        }
                }
--- 948,953 ----
***************
*** 2849,2860 ****
--- 2848,2865 ----
        } */ *ap;
  {
        struct vnode *vp = ap->a_vp;
+       int s;
  
        vp->v_mount->mnt_syncer = NULL;
+ 
+       s = splbio();
+ 
        if (vp->v_flag & VONWORKLST) {
                LIST_REMOVE(vp, v_synclist);
                vp->v_flag &= ~VONWORKLST;
        }
+ 
+       splx(s);
  
        return (0);
  }


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990219165013.623441183A>