diff options
author | Peter Galbavy <peter@cvs.openbsd.org> | 2000-08-08 16:07:46 +0000 |
---|---|---|
committer | Peter Galbavy <peter@cvs.openbsd.org> | 2000-08-08 16:07:46 +0000 |
commit | 32fe17a663470bcff500ec1d022251eb5521ca1d (patch) | |
tree | a9d50274c1f5d004d13fa30644899af9b22328ee /sys/dev/raidframe/rf_parityscan.c | |
parent | ba14061bb6dd00dd21fcd589dca3d5be75d8f752 (diff) |
sync RAIDframe with Gre Oster's work for NetBSD.
This update incorporates changes since January 2000.
RAID1 and RAID5 tested for functionality matching the 2.7 code. A
number of bug fixes (including stopping a parity rebuild when
unconfiguring) have been included. See Greg's RAIDframe info page:
http://www.cs.usask.ca/staff/oster/raid.html
The RAID_AUTOCONFIG feature set does *NOT* yet work. These features
require more work throughout the boot system and as such are a big
task.
IMPORTANT: As with anything that is this near live data on your
systems, please test carefully with existing configurations before
deploying in a live system. Feedback via sendbug or mail direct
to peter@wonderland.org is appreciated.
Diffstat (limited to 'sys/dev/raidframe/rf_parityscan.c')
-rw-r--r-- | sys/dev/raidframe/rf_parityscan.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/raidframe/rf_parityscan.c b/sys/dev/raidframe/rf_parityscan.c index c139ef39504..3a46b610d53 100644 --- a/sys/dev/raidframe/rf_parityscan.c +++ b/sys/dev/raidframe/rf_parityscan.c @@ -1,5 +1,5 @@ -/* $OpenBSD: rf_parityscan.c,v 1.5 2000/01/07 14:50:22 peter Exp $ */ -/* $NetBSD: rf_parityscan.c,v 1.8 2000/01/05 02:57:28 oster Exp $ */ +/* $OpenBSD: rf_parityscan.c,v 1.6 2000/08/08 16:07:44 peter Exp $ */ +/* $NetBSD: rf_parityscan.c,v 1.9 2000/05/28 03:00:31 oster Exp $ */ /* * Copyright (c) 1995 Carnegie-Mellon University. * All rights reserved. @@ -90,6 +90,11 @@ rf_RewriteParity(raidPtr) for (i = 0; i < raidPtr->totalSectors && rc <= RF_PARITY_CORRECTED; i += layoutPtr->dataSectorsPerStripe) { + if (raidPtr->waitShutdown) { + /* Someone is pulling the plug on this set... + abort the re-write */ + return (1); + } asm_h = rf_MapAccess(raidPtr, i, layoutPtr->dataSectorsPerStripe, NULL, RF_DONT_REMAP); |