Source-Changes-HG archive

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

[src/netbsd-1-4]: src/sys/dev/raidframe pull up rev 1.21 from trunk (requeste...



details:   https://anonhg.NetBSD.org/src/rev/3ddf46c485b3
branches:  netbsd-1-4
changeset: 469507:3ddf46c485b3
user:      cgd <cgd%NetBSD.org@localhost>
date:      Mon Sep 27 05:04:10 1999 +0000

description:
pull up rev 1.21 from trunk (requested by oster):
  splbio()/splx() protect some reconstruction code to avoid
  potentially bad interatctions with the pool code.

diffstat:

 sys/dev/raidframe/rf_netbsdkintf.c |  7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diffs (38 lines):

diff -r add1c5f89d67 -r 3ddf46c485b3 sys/dev/raidframe/rf_netbsdkintf.c
--- a/sys/dev/raidframe/rf_netbsdkintf.c        Mon Sep 27 05:03:28 1999 +0000
+++ b/sys/dev/raidframe/rf_netbsdkintf.c        Mon Sep 27 05:04:10 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rf_netbsdkintf.c,v 1.16.2.4 1999/09/26 02:14:17 cgd Exp $      */
+/*     $NetBSD: rf_netbsdkintf.c,v 1.16.2.5 1999/09/27 05:04:10 cgd Exp $      */
 /*-
  * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -683,6 +683,7 @@
        int retcode = 0;
        int row;
        int column;
+       int s;
        struct rf_recon_req *rrcopy, *rr;
        RF_ComponentLabel_t *component_label;
        RF_ComponentLabel_t ci_label;
@@ -1024,8 +1025,10 @@
                        return(EINVAL);
                }
                printf("Attempting a rebuild in place\n");
+               s = splbio();
                raidPtrs[unit]->proc = p;       /* Blah... :-p GO */
                retcode = rf_ReconstructInPlace(raidPtrs[unit], row, column);
+               splx(s);
                return(retcode);
 
                /* issue a test-unit-ready through raidframe to the indicated
@@ -1148,7 +1151,9 @@
        case RAIDFRAME_COPYBACK:
                /* borrow the current thread to get this done */
                raidPtrs[unit]->proc = p;       /* ICK.. but needed :-p  GO */
+               s = splbio();
                rf_CopybackReconstructedData(raidPtrs[unit]);
+               splx(s);
                return (0);
 
                /* return the percentage completion of reconstruction */



Home | Main Index | Thread Index | Old Index