Source-Changes-HG archive

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

[src/netbsd-1-4]: src/sys/ufs/lfs Pull up revision 1.36 (requested by perseant):



details:   https://anonhg.NetBSD.org/src/rev/55895236ce7e
branches:  netbsd-1-4
changeset: 469871:55895236ce7e
user:      he <he%NetBSD.org@localhost>
date:      Thu Dec 16 23:31:46 1999 +0000

description:
Pull up revision 1.36 (requested by perseant):
  Fix spllevel problem with superblock exclusion and with write
  throttle.  Addressess PR#8383.

diffstat:

 sys/ufs/lfs/lfs_segment.c |  8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diffs (37 lines):

diff -r f1c5213c8277 -r 55895236ce7e sys/ufs/lfs/lfs_segment.c
--- a/sys/ufs/lfs/lfs_segment.c Thu Dec 16 23:27:46 1999 +0000
+++ b/sys/ufs/lfs/lfs_segment.c Thu Dec 16 23:31:46 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: lfs_segment.c,v 1.23.2.4 1999/10/10 20:51:48 cgd Exp $ */
+/*     $NetBSD: lfs_segment.c,v 1.23.2.5 1999/12/16 23:31:46 he Exp $  */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -1225,10 +1225,10 @@
                }
 #endif
 
+               s = splbio();
                if(fs->lfs_iocount >= LFS_THROTTLE) {
                        tsleep(&fs->lfs_iocount, PRIBIO+1, "lfs throttle", 0);
                }
-               s = splbio();
                ++fs->lfs_iocount;
 #ifdef LFS_TRACK_IOS
                for(j=0;j<LFS_THROTTLE;j++) {
@@ -1362,13 +1362,13 @@
         * If we can write one superblock while another is in
         * progress, we risk not having a complete checkpoint if we crash.
         * So, block here if a superblock write is in progress.
-        *
-        * XXX - should be a proper lock, not this hack
         */
+       s = splbio();
        while(fs->lfs_sbactive) {
                tsleep(&fs->lfs_sbactive, PRIBIO+1, "lfs sb", 0);
        }
        fs->lfs_sbactive = daddr;
+       splx(s);
 #endif
        i_dev = VTOI(fs->lfs_ivnode)->i_dev;
        strategy = VTOI(fs->lfs_ivnode)->i_devvp->v_op[VOFFSET(vop_strategy)];



Home | Main Index | Thread Index | Old Index