Home | History | Annotate | only in /src/sys/rump/dev/lib/libraidframe
History log of /src/sys/rump/dev/lib/libraidframe
RevisionDateAuthorComments
 1.14 25-Sep-2023  oster We no longer need the deprecated copyback functionality now that
incorporating a used spare is automatic.

Copyback has always been an issue, as to do a copyback all IO to
the array had to be suspended, and so was very, very unlikely to
have been used in anything resembling a production system.
 1.13 06-Feb-2019  christos kill compat code dependencies.
 1.12 04-Feb-2019  mrg don't assume _LP64 == supports COMPAT_NETBSD32.

this is not true for alpha, ia64 and arm32 ports, and the first two
were not building because of it, and the latter would be missing
the oabi support (likely not a big deal, but still wrong.)

add a makefile fragment that tells you if it is supported and include
it where needed to define COMPAT_NETBSD32 when building the normal
kernel (ie, modules & rump.)


fixes alpha build, probably fixes ia64 build.


XXX: still leaves some netbsd32 code in rf_netbsdkintf.c, that should
be moved into some hooks, but first the configuration setup
needs to be moved into a common function the netbsd32 code can
call into, vs living in the switch case itself.
 1.11 18-Jan-2018  mrg branches: 1.11.4;
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.10 26-Jan-2016  pooka Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
 1.9 19-Oct-2015  pooka Add a COMMENT describing what each component roughly does.

"make describe" prints the comment.

Requested/inspired by Vincent Schwarzer on rumpkernel-users
 1.8 20-Aug-2015  christos put back bsd.init.mk
 1.7 20-Aug-2015  christos use ioconf files for pseudo-device attach prototypes
 1.6 23-Apr-2015  pooka Rename RUMP_COMPAT to RUMP_NBCOMBAT to better signify what the
variable does.
 1.5 22-Apr-2015  pooka Build compat code only when specified by RUMP_COMPAT
 1.4 13-Mar-2014  pooka branches: 1.4.6;
rename component.c -> raidframe_component.c
 1.3 23-Nov-2009  pooka branches: 1.3.12; 1.3.22; 1.3.26;
Add rf_paritymap.c, which is now required for raidframe.
 1.2 07-Sep-2009  pooka one more ketchup with rump_dev_makenodes -> rump_vfs_makedevnodes
 1.1 09-Jun-2009  pooka branches: 1.1.2;
Checkpoint a bunch of work-in-progress: support for disk devices
and raidframe. Raidframe works well enough to configure a raid in
the rump kernel, but the usage is "interesting" (pending some other
changes/cleanup from other parts in my tree).

These are not built by default yet.
 1.1.2.4 11-Mar-2010  yamt sync with head
 1.1.2.3 16-Sep-2009  yamt sync with head
 1.1.2.2 20-Jun-2009  yamt sync with head
 1.1.2.1 09-Jun-2009  yamt file Makefile was added on branch yamt-nfs-mp on 2009-06-20 07:20:35 +0000
 1.3.26.1 18-May-2014  rmind sync with head
 1.3.22.2 03-Dec-2017  jdolecek update from HEAD
 1.3.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.12.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.6.4 19-Mar-2016  skrll Sync with HEAD
 1.4.6.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.4.6.2 22-Sep-2015  skrll Sync with HEAD
 1.4.6.1 06-Jun-2015  skrll Sync with HEAD
 1.11.4.1 10-Jun-2019  christos Sync with HEAD
 1.1 20-Aug-2015  christos branches: 1.1.2; 1.1.18;
use ioconf files for pseudo-device attach prototypes
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 20-Aug-2015  jdolecek file RAIDFRAME.ioconf was added on branch tls-maxphys on 2017-12-03 11:39:09 +0000
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 20-Aug-2015  skrll file RAIDFRAME.ioconf was added on branch nick-nhusb on 2015-09-22 12:06:13 +0000
 1.6 13-Mar-2014  pooka rename component.c -> raidframe_component.c
 1.5 01-Mar-2010  pooka branches: 1.5.10; 1.5.20; 1.5.24;
Introduce RUMP_COMPONENT. It behaves mostly like a simplified
module which is linked into the kernel and cannot be unloaded.
The main purpose is to get the proper constructors run and create
any /dev nodes necessary for said component. Once more of the
kernel (e.g. networking stack and device drivers) are converted to
MODULE and devfs pops up from somewhere, rump components can be
retired.
 1.4 03-Dec-2009  pooka branches: 1.4.2;
* create /dev on the rump rootfs automatically
* make rump_vfs_makedevnodes() take a full basepath instead of hardcoding
an assumption that the device node is created in /dev
+ the caller is responsible that the directory the nodes are being
created in exists
 1.3 07-Sep-2009  pooka one more ketchup with rump_dev_makenodes -> rump_vfs_makedevnodes
 1.2 20-Jul-2009  pooka describe & attach raidframe rump kernel component
 1.1 09-Jun-2009  pooka branches: 1.1.2;
Checkpoint a bunch of work-in-progress: support for disk devices
and raidframe. Raidframe works well enough to configure a raid in
the rump kernel, but the usage is "interesting" (pending some other
changes/cleanup from other parts in my tree).

These are not built by default yet.
 1.1.2.5 11-Mar-2010  yamt sync with head
 1.1.2.4 16-Sep-2009  yamt sync with head
 1.1.2.3 19-Aug-2009  yamt sync with head.
 1.1.2.2 20-Jun-2009  yamt sync with head
 1.1.2.1 09-Jun-2009  yamt file component.c was added on branch yamt-nfs-mp on 2009-06-20 07:20:35 +0000
 1.4.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.5.24.1 18-May-2014  rmind sync with head
 1.5.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.10.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5 26-Jan-2016  pooka Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
 1.4 26-Dec-2015  pgoyette Detach the {b,c}devsw after obtaining the device major numbers. We'll
re-attach during module initialization.

This enables the atf tests to once again succeed.
 1.3 26-Dec-2015  pgoyette Remove local CF_DRIVER_DECL - it is now defined in the raidframe driver's
module initialization code
 1.2 20-Aug-2015  christos use ioconf files for pseudo-device attach prototypes
 1.1 13-Mar-2014  pooka branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12;
rename component.c -> raidframe_component.c
 1.1.12.3 19-Mar-2016  skrll Sync with HEAD
 1.1.12.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.12.1 22-Sep-2015  skrll Sync with HEAD
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 13-Mar-2014  tls file raidframe_component.c was added on branch tls-maxphys on 2014-08-20 00:04:38 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 13-Mar-2014  yamt file raidframe_component.c was added on branch yamt-pagecache on 2014-05-22 11:41:12 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 13-Mar-2014  rmind file raidframe_component.c was added on branch rmind-smpnet on 2014-05-18 17:46:16 +0000
 1.2 02-Dec-2014  pooka Remove shlib_version files and just use Makefile SHLIB_MAJOR/MINOR,
with the default provided by Makefile.rump (they're all 0.0 anyway)
 1.1 09-Jun-2009  pooka branches: 1.1.2; 1.1.24; 1.1.42;
Checkpoint a bunch of work-in-progress: support for disk devices
and raidframe. Raidframe works well enough to configure a raid in
the rump kernel, but the usage is "interesting" (pending some other
changes/cleanup from other parts in my tree).

These are not built by default yet.
 1.1.42.1 06-Apr-2015  skrll Sync with HEAD
 1.1.24.1 03-Dec-2017  jdolecek update from HEAD
 1.1.2.2 20-Jun-2009  yamt sync with head
 1.1.2.1 09-Jun-2009  yamt file shlib_version was added on branch yamt-nfs-mp on 2009-06-20 07:20:35 +0000

RSS XML Feed