Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/miscfs/syncfs avoid removing syncer vnodes from the work...



details:   https://anonhg.NetBSD.org/src/rev/3d350e312832
branches:  trunk
changeset: 499395:3d350e312832
user:      chs <chs%NetBSD.org@localhost>
date:      Sun Nov 19 05:53:21 2000 +0000

description:
avoid removing syncer vnodes from the worklist twice.

diffstat:

 sys/miscfs/syncfs/sync_vnops.c |  10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diffs (45 lines):

diff -r f561db93c8f4 -r 3d350e312832 sys/miscfs/syncfs/sync_vnops.c
--- a/sys/miscfs/syncfs/sync_vnops.c    Sun Nov 19 03:16:55 2000 +0000
+++ b/sys/miscfs/syncfs/sync_vnops.c    Sun Nov 19 05:53:21 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sync_vnops.c,v 1.4 2000/09/19 22:01:59 fvdl Exp $      */
+/*     $NetBSD: sync_vnops.c,v 1.5 2000/11/19 05:53:21 chs Exp $       */
 
 /*
  * Copyright 1997 Marshall Kirk McKusick. All Rights Reserved.
@@ -75,12 +75,14 @@
 
        vp->v_writecount = 1;
        vp->v_type = VNON;
+
        /*
         * Place the vnode onto the syncer worklist. We attempt to
         * scatter them about on the list so that they will go off
         * at evenly distributed times even if all the filesystems
         * are mounted at once.
         */
+
        next += incr;
        if (next == 0 || next > syncer_maxdelay) {
                start /= 2;
@@ -106,10 +108,8 @@
        struct vnode *vp;
 
        vp = mp->mnt_syncer;
-       mp->mnt_syncer = 0;
-       vn_syncer_remove_from_worklist(vp);
+       mp->mnt_syncer = NULL;
        vp->v_writecount = 0;
-       vgone(vp);
        vrele(vp);
 }
 
@@ -191,7 +191,7 @@
 
        s = splbio();
        vp->v_mount->mnt_syncer = NULL;
-       LIST_REMOVE(vp, v_synclist);
+       vn_syncer_remove_from_worklist(vp);
        splx(s);
 
        return 0;



Home | Main Index | Thread Index | Old Index