History log of /src/sys/dev/raidframe/rf_raid0.c |
Revision | | Date | Author | Comments |
1.16 |
| 09-Feb-2019 |
christos | - Change the allocation macros to be more like function calls - Change sizeof(type) -> sizeof(*variable) - Use macros for the long buffer length allocations - Remove "bit polishing" memsets() -- do them only once - Remove unnecessary casts
Thanks to oster@ for finding bugs and testing.
|
1.15 |
| 16-Nov-2006 |
christos | branches: 1.15.142; __unused removal on arguments; approved by core.
|
1.14 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.13 |
| 11-Dec-2005 |
christos | branches: 1.13.20; 1.13.22; merge ktrace-lwp.
|
1.12 |
| 27-Feb-2005 |
perry | branches: 1.12.4; nuke trailing whitespace
|
1.11 |
| 27-Aug-2004 |
oster | branches: 1.11.4; 1.11.6; Correct some RF_ASSERTS() that were missed when fixing memory issues with this code. Thanks to palle at lyckegaard.dk for pointing them out. Addresses PR#26776 (but doesn't use all the suggested fixes).
|
1.10 |
| 02-Jan-2004 |
oster | branches: 1.10.2; Fix the "We panic if we can't create a DAG" problem that's existed ~forever. This requires a number of things:
1) If we can't create a DAG, set desc->numStripes to 0 in rf_SelectAlgorithm. This will ensure that we don't attempt to free any dagArray[] elements in rf_StateCleanup.
2) Modify rf_State_CreateDAG() to not panic in the event of a DAG failure. Instead, set the bp->b_flags and bp->b_error, and set things up to skip to rf_State_Cleanup().
3) Need to mark desc->status as "bad" so that we actually stop looking for a different DAG. (which we won't find... no matter how many times we try).
4) rf_State_LastState() will then do the biodone(), and return EIO for the IO in question.
5) Remove some " || 1 "'s from ProcessNode(). These were for debugging, and we don't need the failure notices spewing over and over again as the failing DAGs are processed.
6) Needed to change
if (asmap->numDataFailed + asmap->numParityFailed > 1)
to
if ((asmap->numDataFailed + asmap->numParityFailed > 1) || (raidPtr->numFailures > 1)){
in rf_raid5.c so that it doesn't try to return rf_CreateNonRedundantWriteDAG as the creation function.
7) Note that we can't apply the above change to the RAID 1 code as with the silly "fake 2-D" RAID 1 sets, it is possible to have 2 failed components in the RAID 1 set, and that would stop them from working. (I really don't know why/how those "fake 2-D" RAID 1 sets even work with all the "single-fault" assumptions present in the rest of the code.)
8) Needed to protect rf_RAID0DagSelect() in a similar way -- it should return NULL as the createFunc.
9) No point printing out "Multiple disks failed..." a zillion times.
|
1.9 |
| 30-Dec-2003 |
oster | Some days you wonder if some of the function declaration consistency was just an accident in the first place. Cleanup function decls and a few comments. [ok.. so I wasn't going to fix this many.. but once you're on a roll....]
|
1.8 |
| 29-Dec-2003 |
oster | [Having received a definite lack of strenuous objection, a small amount of strenuous agreement, and some general agreement, this commit is going ahead because it's now starting to block some other changes I wish to make.]
Remove most of the support for the concept of "rows" from RAIDframe. While the "row" interface has been exported to the world, RAIDframe internals have really only supported a single row, even though they have feigned support of multiple rows.
Nothing changes in configuration land -- config files still need to specify a single row, etc. All auto-config structures remain fully forward/backwards compatible.
The only visible difference to the average user should be a reduction in the size of a GENERIC kernel (i386) by 4.5K. For those of us trolling through RAIDframe kernel code, a lot of the driver configuration code has become a LOT easier to read.
|
1.7 |
| 23-Sep-2002 |
oster | branches: 1.7.6; bytesPerStripeUnit is set, but never used. Thanks to Simon B. for pointing this out.
|
1.6 |
| 13-Nov-2001 |
lukem | add RCSIDs
|
1.5 |
| 04-Oct-2001 |
oster | Step 2 of the disentanglement. We now look to <dev/raidframe/*> for the stuff that used to live in rf_types.h, rf_raidframe.h, rf_layout.h, rf_netbsd.h, rf_raid.h, rf_decluster,h, and a few other places. Believe it or not, when this is all done, things will be cleaner.
No functional changes to RAIDframe.
|
1.4 |
| 07-Jan-2000 |
oster | branches: 1.4.6; 1.4.8; 1.4.10; Nuke: #include "rf_threadid.h".
|
1.3 |
| 05-Feb-1999 |
oster | branches: 1.3.8; Phase 2 of the RAIDframe cleanup. The source is now closer to KNF and is much easier to read. No functionality changes.
|
1.2 |
| 26-Jan-1999 |
oster | RAIDframe cleanup, phase 1. Nuke simulator support, user-land driver, out-dated comments, and other unneeded stuff. This helps prepare for cleaning up the rest of the code, and adding new functionality.
No functional changes to the kernel code in this commit.
|
1.1 |
| 13-Nov-1998 |
oster | RAIDframe, version 1.1, from the Parallel Data Laboratory at Carnegie Mellon University. Full RAID implementation, including levels 0, 1, 4, 5, 6, parity logging, and a few other goodies. Ported to NetBSD by Greg Oster.
|
1.3.8.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.4.10.1 |
| 11-Oct-2001 |
fvdl | Catch up with -current. Fix some bogons in the sparc64 kbd/ms attach code. cd18xx conversion provided by mrg.
|
1.4.8.2 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.4.8.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.4.6.3 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.4.6.2 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.4.6.1 |
| 22-Oct-2001 |
nathanw | Catch up to -current.
|
1.7.6.5 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.7.6.4 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.7.6.3 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.7.6.2 |
| 03-Sep-2004 |
skrll | Sync with HEAD
|
1.7.6.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.10.2.1 |
| 30-Aug-2004 |
tron | Pull up revision 1.11 (requested by oster in ticket #798): Correct some RF_ASSERTS() that were missed when fixing memory issues with this code. Thanks to palle at lyckegaard.dk for pointing them out. Addresses PR#26776 (but doesn't use all the suggested fixes).
|
1.11.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.11.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.12.4.1 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.13.22.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.13.22.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.13.20.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.15.142.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|