freebsd-nq/sys
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
..
amd64 Remove an unneeded instruction. 2015-08-28 00:17:21 +00:00
arm Clean up the style of the LEAVE_HYP macro. 2015-08-31 09:39:16 +00:00
arm64 Rework copyinstr to: 2015-09-09 11:51:14 +00:00
boot As expected, things aren't as simple as hoped. Consequently, we have 2015-09-07 17:56:49 +00:00
bsm
cam Reimplement CTL High Availability. 2015-09-10 12:40:31 +00:00
cddl Expose an interface to determine if an ACE is inherited. 2015-09-04 00:14:20 +00:00
compat Fixes a panic triggered by threaded Linux applications when running 2015-09-02 14:04:13 +00:00
conf Reimplement CTL High Availability. 2015-09-10 12:40:31 +00:00
contrib Fix compilation error on gcc-5.2.0 - it now warns on non-paranthen'ed 2015-08-30 08:46:50 +00:00
crypto const'ify an arg that we don't update... 2015-07-29 23:37:15 +00:00
ddb Make kstack_pages a tunable on arm, x86, and powepc. On i386, the 2015-08-10 17:18:21 +00:00
dev Update USB quirk. 2015-09-10 07:36:54 +00:00
fs Fix an NFS server bug that manifested in "ls -al" displaying a plus 2015-08-28 14:26:11 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom After the introduction of direct dispatch, the pacing code in g_down() 2015-09-02 17:29:30 +00:00
gnu Using consistent coding style to deal with error inside the loop. 2015-08-18 13:16:23 +00:00
i386 preload_search_info: make sure mod is set 2015-08-21 15:57:57 +00:00
isa
kern Also make kern.maxfilesperproc a boot time tunable. 2015-09-10 04:05:58 +00:00
kgssapi
libkern Remove checks for __ARM_EABI__, we only build for EABI now. 2015-07-09 21:02:40 +00:00
mips Remove rge driver from Broadcom XLR 2015-09-04 19:57:28 +00:00
modules Reimplement CTL High Availability. 2015-09-10 12:40:31 +00:00
net - Remove GIF_{SEND,ACCEPT}_REVETHIP. 2015-09-10 05:59:39 +00:00
net80211 Replay r286410. Change KPI of how device drivers that provide wireless 2015-08-27 08:56:39 +00:00
netgraph * Address review (and add a bit myself). 2015-07-12 18:14:38 +00:00
netinet RFC 4960 requires that packets containing an INIT chunk bundled with 2015-09-07 14:00:38 +00:00
netinet6 Remove SIOCGDRLST_IN6 and SIOCGPRLST_IN6 forgotten in the previous commit. 2015-09-10 08:37:03 +00:00
netipsec Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
netnatm
netpfil pf: Fix misdetection of forwarding when net.link.bridge.pfil_bridge is set 2015-09-01 19:04:04 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Currently the Linux character device mmap handling only supports mmap 2015-09-03 18:27:39 +00:00
opencrypto Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
pc98 Add missing ofw_machdep.h. Make x86 ofw_machdep.h work pc98 too. 2015-08-28 15:41:09 +00:00
powerpc Add PVR identifier for E6500, from the reference. 2015-09-09 03:15:25 +00:00
rpc Set curvnet context inside the RPC code in more places. 2015-08-18 18:12:46 +00:00
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 Rationalize BSD license on sys/*/include/in_cksum.h 2015-08-05 19:05:12 +00:00
sys Remove opt_random.h header pollution from sys/random.h by moving 2015-09-08 08:50:28 +00:00
teken Sync HPA and VPA implementations with CUP. 2015-08-24 07:49:27 +00:00
tools
ufs Do not consume extra reference. This is a bug in r287479. 2015-09-05 12:28:18 +00:00
vm Remove a check which caused spurious SIGSEGV on usermode access to the 2015-09-09 06:19:33 +00:00
x86 Add missing ofw_machdep.h. Make x86 ofw_machdep.h work pc98 too. 2015-08-28 15:41:09 +00:00
xdr
xen xen: allow disabling PV disks and nics 2015-08-21 15:53:08 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00