freebsd-dev/sys/conf
Alexander Motin 7ac58230ea Reimplement CTL High Availability.
CTL HA functionality was originally implemented by Copan many years ago,
but large part of the sources was never published.  This change includes
clean room implementation of the missing code and fixes for many bugs.

This code supports dual-node HA with ALUA in four modes:
 - Active/Unavailable without interlink between nodes;
 - Active/Standby with second node handling only basic LUN discovery and
reservation, synchronizing with the first node through the interlink;
 - Active/Active with both nodes processing commands and accessing the
backing storage, synchronizing with the first node through the interlink;
 - Active/Active with second node working as proxy, transfering all
commands to the first node for execution through the interlink.

Unlike original Copan's implementation, depending on specific hardware,
this code uses simple custom TCP-based protocol for interlink.  It has
no authentication, so it should never be enabled on public interfaces.

The code may still need some polishing, but generally it is functional.

Relnotes:	yes
Sponsored by:	iXsystems, Inc.
2015-09-10 12:40:31 +00:00
..
config.mk Populate new KERN_OPTS from all the opt_*.h files in 2015-02-18 15:25:19 +00:00
dtb.mk Prefer install over mkdir to create the directory. Add test to ensure 2015-02-09 16:29:44 +00:00
files Reimplement CTL High Availability. 2015-09-10 12:40:31 +00:00
files.amd64 Import ioat(4) driver 2015-08-24 19:32:03 +00:00
files.arm Add support for __aeabi_memclr4, clang 3.7 calls it. 2015-07-09 20:54:38 +00:00
files.arm64 Add support for the dwc usb in the HiSilicon hi6220 in the HiKey board. For 2015-09-01 17:13:04 +00:00
files.i386 Better support memory mapped console devices, such as VGA and EFI 2015-08-12 15:26:32 +00:00
files.mips Add in library routines not supplied by gcc-4.9 but required by the kernel. 2015-06-19 01:21:10 +00:00
files.pc98 MFi386: r283407 2015-05-26 14:08:32 +00:00
files.powerpc Fix freescale sdhc driver, and add it to the files list. 2015-08-27 03:47:56 +00:00
files.sparc64 Add a simple unaccelerated vt(4) framebuffer driver for Sun framebuffers 2014-08-05 18:19:51 +00:00
kern.mk Only include CWARNFLAGS once to reduce command line size from ~1400 2015-04-28 23:54:55 +00:00
kern.opts.mk Add a note of clarification. MK_* variables only control what modules 2015-03-27 17:36:22 +00:00
kern.post.mk sys/conf: pass NMFLAGS to nm(1) via genassym.sh. 2015-08-14 22:58:32 +00:00
kern.pre.mk Change md(4) to use weak symbols as start, end and size for the embedded 2015-08-13 15:16:34 +00:00
kmod_syms.awk
kmod.mk Comment out cleaning files, since it cleans too much. 2015-08-28 16:29:38 +00:00
ldscript.amd64 amd64: set the correct LMA values 2015-06-26 07:12:17 +00:00
ldscript.arm Remove STARTUP_PAGETABLE_ADDR from the ARM configs and replace it with 2014-01-28 09:12:04 +00:00
ldscript.arm64 Bring in the start of the arm64 kernel. 2015-04-13 14:43:10 +00:00
ldscript.i386
ldscript.mips
ldscript.mips.cfe
ldscript.mips.mips64
ldscript.mips.octeon1
ldscript.powerpc Refactor PowerPC (especially AIM) init sequence to be less baroque. 2015-01-18 18:32:43 +00:00
ldscript.powerpc64 Refactor PowerPC (especially AIM) init sequence to be less baroque. 2015-01-18 18:32:43 +00:00
ldscript.sparc64
Makefile.amd64 Clang's 3.5 integrated assembler now handles these files correctly (it 2015-01-05 12:28:22 +00:00
Makefile.arm Change md(4) to use weak symbols as start, end and size for the embedded 2015-08-13 15:16:34 +00:00
Makefile.arm64 Bring in the start of the arm64 kernel. 2015-04-13 14:43:10 +00:00
Makefile.i386 Clang's 3.5 integrated assembler now handles these files correctly (it 2015-01-05 12:28:22 +00:00
Makefile.mips Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
Makefile.pc98 Fix kernel build ${MACHINE} path 2015-04-16 22:34:10 +00:00
Makefile.powerpc Make 32-bit PowerPC kernels, like 64-bit PowerPC kernels, position-independent 2015-03-07 20:14:46 +00:00
Makefile.sparc64 Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
makeLINT.mk Generate a LINT for powerpc and for powerpc64. 2013-04-11 22:18:20 +00:00
makeLINT.sed
newvers.sh newvers.sh: remove 'X' hack from shell script 2015-04-08 04:01:02 +00:00
NOTES Make the UMA harvesting go away completely if not wanted. Default to "not wanted". 2015-08-22 12:59:05 +00:00
options Remove opt_random.h header pollution from sys/random.h by moving 2015-09-08 08:50:28 +00:00
options.amd64 Microsoft vmbus, storage and other related driver enhancements for HyperV. 2015-04-29 10:12:34 +00:00
options.arm Add support for getting the memory map from EFI if it has been pased in 2015-05-24 16:11:30 +00:00
options.arm64 Add the SOC_HISI_HI6220 option. This will be used to enable drivers for 2015-08-26 18:09:17 +00:00
options.i386 Remove support for Xen PV domU kernels. Support for HVM domU kernels 2015-04-30 15:48:48 +00:00
options.mips Introduce opt_netfpga.h and allow setting NF10BMAC_64BIT from mips kernel 2014-06-26 17:20:45 +00:00
options.pc98 Reduce diffs against i386. 2014-10-04 05:03:39 +00:00
options.powerpc Create a RouterBoard platform and use it to create a flash map 2015-08-22 05:50:18 +00:00
options.sparc64 - While Netra X1 generally show no ill effects when registering a power 2013-03-02 00:37:31 +00:00
systags.sh
WITHOUT_SOURCELESS
WITHOUT_SOURCELESS_HOST Retire the nve(4) driver; nfe(4) has been the default driver for NVIDIA 2014-02-16 12:22:43 +00:00
WITHOUT_SOURCELESS_UCODE Add nodevice iwmfw to WITHOUT_SOURCELESS_UCODE. 2015-08-08 20:45:47 +00:00