History log of /src/sys/dev/raidframe/raidframeio.h |
Revision | | Date | Author | Comments |
1.12 |
| 17-Sep-2023 |
oster | Implement hot removal of spares and components. From manu@.
Implement a long desired feature of automatically incorporating a used spare into the array after a reconstruct.
Given the configuration: Components: /dev/wd0e: failed /dev/wd1e: optimal /dev/wd2e: optimal Spares: /dev/wd3e: spare
Running 'raidctl -F /dev/wd0e raid0' will now result in the following configuration after a successful rebuild: Components: /dev/wd3e: optimal /dev/wd1e: optimal /dev/wd2e: optimal No spares.
Thanks to manu@ for the development of the initial set of changes which allowed the changes to automatically incorporate a used spare to come to fruition. Thanks also to manu@ for useful discussions about and additional testing of these changes.
|
1.11 |
| 07-Aug-2021 |
thorpej | branches: 1.11.6; Merge thorpej-cfargs2.
|
1.10 |
| 02-Aug-2021 |
oster | Support on-demand re-scanning all devices to look for autoconfig RAID sets. raidctl now supports looking for autoconfig RAID sets with a new '-L' flag.
|
1.9 |
| 20-Jan-2018 |
mrg | branches: 1.9.28; fixes for the previous, noted by nakayama@.
- RAIDFRAME_CONFIGURE needs to be versioned as the rows was removed, adding RAIDFRAME_CONFIGURE80, rf_config80() etc. - RAIDFRAME_CONFIGURE32 changes to match - rf_get_info80() passed the wrong source to copyout()
some fixes to my original change were independantly made by nakayama@ who confirmed the changes work properly now.
|
1.8 |
| 18-Jan-2018 |
mrg | implement 32-bit compat support for raidframe.
convert several raidframe ioctls to be bitsize idempotent so that they work the same in 32 and 64 bit worlds, allowing netbsd32 to configure and query raid properly. remove useless 'row' in a few places. add COMPAT_80 and put the old ioctls there.
raidframeio.h: RAIDFRAME_TEST_ACC - remove, unused RAIDFRAME_GET_COMPONENT_LABEL - convert to label not pointer to label RAIDFRAME_CHECK_RECON_STATUS_EXT RAIDFRAME_CHECK_PARITYREWRITE_STATUS_EXT RAIDFRAME_CHECK_COPYBACK_STATUS_EXT - convert to progress info not pointer to info RAIDFRAME_GET_INFO - version entirely. raidframevar.h: - rf_recon_req{} has row, flags and raidPtr removed (they're not a useful part of this interface.) - RF_Config_s{} and RF_DeviceConfig_s{} have numRow/rows removed. - RF_RaidDisk_s{} is re-ordered slightly to fix alignment padding - the actual data was already OK. - InstallSpareTable() loses row argument
rf_compat32.c has code for RF_Config_s{} in 32 bit mode, used by RAIDFRAME_CONFIGURE and RAIDFRAME_GET_INFO32.
rf_compat80.c has code for rf_recon_req{}, RF_RaidDisk_s{} and RF_DeviceConfig_s{} to handle RAIDFRAME_FAIL_DISK, RAIDFRAME_GET_COMPONENT_LABEL, RAIDFRAME_CHECK_RECON_STATUS_EXT, RAIDFRAME_CHECK_PARITYREWRITE_STATUS_EXT, RAIDFRAME_CHECK_COPYBACK_STATUS_EXT, RAIDFRAME_GET_INFO.
move several of the per-ioctl code blocks into separate functions.
add rf_recon_req_internal{} to replace old usage of global rf_recon_req{} that had unused void * in the structure, ruining it's 32/64 bit ABI.
add missing case for RAIDFRAME_GET_INFO50.
adjust raid tests to use the new .conf format, and add a case to test the old method as well.
raidctl: deal with lack of 'row' members in a couple of places. fail request no longer takes row. handle "START array" sections with just "numCol numSpare", ie no "numRow" specified. for now, generate old-style configuration but update raidctl.8 to specify the new style (keeping reference to the old style.)
note that: RF_ComponentLabel_s::{row,num_rows} and RF_SingleComponent_s::row are obsolete but not removed yet.
|
1.7 |
| 06-Jan-2016 |
christos | Add a SET_LAST_UNIT ioctl.
|
1.6 |
| 17-Nov-2009 |
jld | branches: 1.6.22; 1.6.38; 1.6.40; Finally commit the RAIDframe parity map Summer Of Code project.
Drastically reduces the amount of time spent rewriting parity after an unclean shutdown by keeping better track of which regions might have had outstanding writes. Enabled by default; can be disabled on a per-set basis, or tuned, with the new raidctl(8) commands.
Discussed on tech-kern@ to a general air of approval; exhortations to commit from mrg@, christos@, and others.
Thanks to Google for their sponsorship, oster@ for mentoring the project, assorted developers for trying very hard to break it, and probably more I'm forgetting.
|
1.5 |
| 18-Jan-2009 |
christos | add compat50 ioctls.
|
1.4 |
| 28-Apr-2008 |
martin | branches: 1.4.8; 1.4.10; 1.4.16; Remove clause 3 and 4 from TNF licenses
|
1.3 |
| 11-Dec-2005 |
christos | branches: 1.3.70; 1.3.72; 1.3.74; merge ktrace-lwp.
|
1.2 |
| 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.1 |
| 04-Oct-2001 |
oster | branches: 1.1.2; 1.1.4; 1.1.8; 1.1.24; 1.1.32; 1.1.34; Step 1 of the disentangling of RAIDframe's .h files:
raidframevar.h - contains bits of rf_types.h, rf_layout.h, rf_netbsd.h, rf_raid.h, and rf_decluster.h.
raidframeio.h - contains the bits needed for doing IOCTL's w/ RAIDframe.
These bits will be visible to userland.
|
1.1.34.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.1.32.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.1.24.1 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.1.8.2 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.1.8.1 |
| 04-Oct-2001 |
thorpej | file raidframeio.h was added on branch kqueue on 2002-01-10 19:57:36 +0000
|
1.1.4.2 |
| 22-Oct-2001 |
nathanw | Catch up to -current.
|
1.1.4.1 |
| 04-Oct-2001 |
nathanw | file raidframeio.h was added on branch nathanw_sa on 2001-10-22 20:41:32 +0000
|
1.1.2.2 |
| 11-Oct-2001 |
fvdl | Catch up with -current. Fix some bogons in the sparc64 kbd/ms attach code. cd18xx conversion provided by mrg.
|
1.1.2.1 |
| 04-Oct-2001 |
fvdl | file raidframeio.h was added on branch thorpej-devvp on 2001-10-11 00:02:15 +0000
|
1.3.74.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.3.74.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.3.74.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.3.72.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.3.70.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.4.16.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.4.10.1 |
| 10-Dec-2009 |
snj | Pull up following revision(s) (requested by tron in ticket #1187): sbin/raidctl/raidctl.8: revisions 1.57-1.59 via patch sbin/raidctl/raidctl.c: revision 1.42 via patch sys/dev/raidframe/files.raidframe: revision 1.8 via patch sys/dev/raidframe/rf_copyback.c: revision 1.42 via patch sys/dev/raidframe/rf_disks.c: revision 1.72 via patch sys/dev/raidframe/rf_driver.c: revision 1.122 via patch sys/dev/raidframe/rf_engine.c: revision 1.40 via patch sys/dev/raidframe/rf_kintf.h: revision 1.21 via patch sys/dev/raidframe/rf_netbsdkintf.c: revision 1.269 via patch sys/dev/raidframe/rf_paritymap.c: revisions 1.1-1.3 via patch sys/dev/raidframe/rf_paritymap.h: revision 1.1 via patch sys/dev/raidframe/rf_parityscan.c: revision 1.33 via patch sys/dev/raidframe/rf_parityscan.h: revision 1.8 via patch sys/dev/raidframe/rf_raid.h: revision 1.38 via patch sys/dev/raidframe/rf_reconstruct.c: revision 1.108 via patch sys/dev/raidframe/rf_states.c: revision 1.44 via patch sys/dev/raidframe/raidframeio.h: revision 1.6 via patch sys/dev/raidframe/raidframevar.h: revision 1.13 via patch Pull up the RAIDframe parity map Summer Of Code project. Drastically reduces the amount of time spent rewriting parity after an unclean shutdown by keeping better track of which regions might have had outstanding writes. Enabled by default; can be disabled on a per-set basis, or tuned, with the new raidctl(8) commands.
|
1.4.8.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.6.40.1 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.6.38.1 |
| 14-Jul-2017 |
martin | Pull up following revision(s) (requested by christos in ticket #1457): sbin/raidctl/raidctl.c: revision 1.64 sbin/raidctl/raidctl.8: revision 1.70 sys/dev/raidframe/rf_netbsdkintf.c: revision 1.341 sys/dev/raidframe/raidframeio.h: revision 1.7 Add a SET_LAST_UNIT ioctl. Access to the SET_LAST_UNIT ioctl.
|
1.6.22.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.9.28.1 |
| 05-Aug-2021 |
thorpej | Sync w/ HEAD.
|
1.11.6.1 |
| 28-Apr-2024 |
martin | Pull up following revision(s) (requested by oster in ticket #674):
sys/dev/raidframe/rf_raid.h: revision 1.52 sbin/raidctl/raidctl.8: revision 1.80 sys/dev/raidframe/rf_driver.c: revision 1.141 sys/dev/raidframe/rf_disks.c: revision 1.94 sys/dev/raidframe/rf_diskqueue.c: revision 1.64 sys/dev/raidframe/rf_diskqueue.h: revision 1.30 sys/dev/raidframe/rf_disks.h: revision 1.15 sys/dev/raidframe/rf_netbsdkintf.c: revision 1.414 sys/dev/raidframe/rf_reconstruct.c: revision 1.129 sys/dev/raidframe/raidframeio.h: revision 1.12 sbin/raidctl/raidctl.c: revision 1.79
Implement hot removal of spares and components. From manu@.
Implement a long desired feature of automatically incorporating a used spare into the array after a reconstruct.
Given the configuration:
Components: /dev/wd0e: failed /dev/wd1e: optimal /dev/wd2e: optimal Spares: /dev/wd3e: spare
Running 'raidctl -F /dev/wd0e raid0' will now result in the following configuration after a successful rebuild:
Components: /dev/wd3e: optimal /dev/wd1e: optimal /dev/wd2e: optimal No spares.
Thanks to manu@ for the development of the initial set of changes which allowed the changes to automatically incorporate a used spare to come to fruition. Thanks also to manu@ for useful discussions about and additional testing of these changes.
|