Age | Commit message (Collapse) | Author |
|
idea from deraadt@ via NetBSD
millert@ ok
|
|
|
|
The whole issue of processes and threads need looking at, as NetBSD
and OpenBSD do things slightly differently - think extra arg to
VOP_XXX calls for one.
|
|
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.
|
|
- removed threadid stuff
- removed unused files
- general tidyup
- you can no longer configure the same unit twice (without
de-configuring first of course).
Again, this has only been tested locally on IDE disks. Further testing
and feedback would be appreciated.
|
|
more work on the whole code base
|
|
|
|
- remove unused are from IO_BUF_ERR in rf_driver.c
- remove unused define in rf_stripelocks.c
|
|
Please note: This update has *only* been tested on i386 with IDE
disks. Could someone with a spare box please make sure all is OK with
SCSI and maybe other arches ? sparc testing will follow locally.
* remove rf_sys.h
* many changes to make it more stable
* some performance increases
* All raid threads now get their own kernel process and the calling
raidctl(8) program will show status progress through a meter.
* In theory FFS_SOFTUPDATES and RAIDframe will now work together - NOT
TESTED YET
See http://www.cs.usask.ca/staff/oster/raid.html
This updates include Greg's changes to Jan 4th 2000.
TODO:
* some odd behaviour when running raictl -c on an already config'ed
raid set - problem founf, fix being done
* progress meter is in raidctl(8) - seperate commit, but could do with
sync'ing with OpenBSD ftp version
|
|
|
|
|
|
* remove init call to rf_ConfigureEtimer() and rf_sys.c in which it is the
only function. update conf/files to reflect this.
* update sources to make sure _KERNEL is used not KERNEL
* change rf_etimer.h to protect macros an include of sys/kernel.h with
a check for _KERNEL - let raidctl compile again.
|
|
__inline__ - this is a proof of concept and will cover the raidframe
source as a whole over coming updates. Update namespace of function to
prefix with rf_ - comments again welcome.
* overall: rework the macros in rf_etimer.h and the resultant changes
to their use to count microseconds and not clock ticks. Restore the code
in rf_revent.c to a similar strcuture to before the previous commit,
and use the system timers to govern resource usage.
Tested with local i386/IDE and the reconstruction of a disk in my
array - performance has improved for reconstruction at no noticable
CPU cost.
|
|
|
|
based upon hardcoded CPU speed values and an assumtion that the number
of clock cycles was available. This is/was silly.
redone rf_GetNextReconEvent so that is now runs for 1/10th second
before sleeping for a short time (1/50th sec). Locally, this is using
about 25% of the CPU while rebuilding a disk in a four disk IDE RAID5
array. It was 22% of the way through when I last looked... much much
faster.
An even better way is sought - suggestions welcome. Lots of code that
the old routines relied on canm be harvested later.
Patches also being sent to Greg Oster @ NetBSD group.
|
|
|
|
* move composition og openmask in raidclose to before where it is
tested.
|
|
NetBSD. There is no reason to mess with these; they are just being
carried around as a reference at the moment.
|
|
Please note that you *must* follow the upgrade instructions at
http://www.cs.usask.ca/staff/oster/clabel_upgrade.html
before installing the new raidctl and new kernel using this code.
|
|
to the caller. This fixes some cases of panics due to SCSI errors.
|
|
|
|
|