Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



Module Name:    src
Committed By:   mrg
Date:           Thu Jan 18 00:32:49 UTC 2018

Modified Files:
        src/sbin/raidctl: raidctl.8 raidctl.c rf_configure.c
        src/sys/conf: files
        src/sys/dev/raidframe: files.raidframe raidframeio.h raidframevar.h
            rf_compat50.c rf_decluster.c rf_decluster.h rf_kintf.h
            rf_netbsdkintf.c rf_reconutil.c
        src/sys/modules/raid: Makefile
        src/sys/rump: Makefile.rump
        src/sys/rump/dev/lib/libraidframe: Makefile
        src/tests/dev/raidframe: t_raid.sh
Added Files:
        src/sys/dev/raidframe: rf_compat32.c rf_compat32.h rf_compat80.c
            rf_compat80.h

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -u -r1.73 -r1.74 src/sbin/raidctl/raidctl.8
cvs rdiff -u -r1.65 -r1.66 src/sbin/raidctl/raidctl.c
cvs rdiff -u -r1.32 -r1.33 src/sbin/raidctl/rf_configure.c
cvs rdiff -u -r1.1191 -r1.1192 src/sys/conf/files
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/raidframe/files.raidframe
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/raidframe/raidframeio.h \
    src/sys/dev/raidframe/rf_decluster.h
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/raidframe/raidframevar.h
cvs rdiff -u -r0 -r1.1 src/sys/dev/raidframe/rf_compat32.c \
    src/sys/dev/raidframe/rf_compat32.h src/sys/dev/raidframe/rf_compat80.c \
    src/sys/dev/raidframe/rf_compat80.h
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/raidframe/rf_compat50.c
cvs rdiff -u -r1.24 -r1.25 src/sys/dev/raidframe/rf_decluster.c \
    src/sys/dev/raidframe/rf_kintf.h
cvs rdiff -u -r1.352 -r1.353 src/sys/dev/raidframe/rf_netbsdkintf.c
cvs rdiff -u -r1.35 -r1.36 src/sys/dev/raidframe/rf_reconutil.c
cvs rdiff -u -r1.1 -r1.2 src/sys/modules/raid/Makefile
cvs rdiff -u -r1.122 -r1.123 src/sys/rump/Makefile.rump
cvs rdiff -u -r1.10 -r1.11 src/sys/rump/dev/lib/libraidframe/Makefile
cvs rdiff -u -r1.12 -r1.13 src/tests/dev/raidframe/t_raid.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index