#
0c05f0dc |
| 17-Sep-2015 |
Alexander Motin <mav@FreeBSD.org> |
Replicate initiators WWPNs and names between HA peers.
|
#
54713bce |
| 17-Sep-2015 |
Alexander Motin <mav@FreeBSD.org> |
Replicate port->init_devid to HA peer.
|
#
62138827 |
| 17-Sep-2015 |
Alexander Motin <mav@FreeBSD.org> |
When reporting TPT UA, report which of thresholds was reached.
|
#
a1cb6af1 |
| 17-Sep-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r287680 through r287877.
|
#
7b6660c9 |
| 14-Sep-2015 |
Alexander Motin <mav@FreeBSD.org> |
Remove CTL_PRIV_LBA_LEN from HA messages.
Previously it was used for statistics, but now just a 16 extra bytes.
|
#
ceff31dc |
| 14-Sep-2015 |
Alexander Motin <mav@FreeBSD.org> |
Implement QUERY TASK, QUERY TASK SET and QUERY ASYNC EVENT.
Now we support most of SAM-5 task management.
|
#
f94594b3 |
| 12-Sep-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Finish merging from head, messed up in previous attempt
|
#
0e1e5c22 |
| 11-Sep-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r287527 through r287679.
|
#
7ac58230 |
| 10-Sep-2015 |
Alexander Motin <mav@FreeBSD.org> |
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 implem
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.
show more ...
|
#
fb606eba |
| 10-Sep-2015 |
Alexander Motin <mav@FreeBSD.org> |
Remove unused target and initiator IDs.
|
#
3f326305 |
| 10-Sep-2015 |
Alexander Motin <mav@FreeBSD.org> |
Disable CTL_IO_DELAY feature.
It is too developer-oriented to be enabled by default.
|
#
00176600 |
| 09-Sep-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Merge r286744-r287584 from head.
|
#
d9442b10 |
| 05-Sep-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r286858 through r287489.
|
#
7278725b |
| 29-Aug-2015 |
Alexander Motin <mav@FreeBSD.org> |
Remove 600 bytes of port_priv from struct ctl_io_hdr.
This field used only for camtgt frontend, and once it any way preallocates all requests, let it preallocate this memory too, not bothering core
Remove 600 bytes of port_priv from struct ctl_io_hdr.
This field used only for camtgt frontend, and once it any way preallocates all requests, let it preallocate this memory too, not bothering core code.
show more ...
|
Revision tags: release/10.2.0 |
|
#
98e0ffae |
| 27-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
#
d899be7d |
| 19-Jan-2015 |
Glen Barber <gjb@FreeBSD.org> |
Reintegrate head: r274132-r277384
Sponsored by: The FreeBSD Foundation
|
#
8f0ea33f |
| 13-Jan-2015 |
Glen Barber <gjb@FreeBSD.org> |
Reintegrate head revisions r273096-r277147
Sponsored by: The FreeBSD Foundation
|
#
840e7092 |
| 29-Nov-2014 |
Enji Cooper <ngie@FreeBSD.org> |
MFHead @ r275232
|
#
2c97f721 |
| 25-Nov-2014 |
Dimitry Andric <dim@FreeBSD.org> |
r274961 through r275075
|
#
f7241cce |
| 25-Nov-2014 |
Alexander Motin <mav@FreeBSD.org> |
Coalesce last data move and command status for read commands.
Make CTL core and block backend set success status before initiating last data move for read commands. Make CAM target and iSCSI fronte
Coalesce last data move and command status for read commands.
Make CTL core and block backend set success status before initiating last data move for read commands. Make CAM target and iSCSI frontends detect such condition and send command status together with data. New I/O flag allows to skip duplicate status sending on later fe_done() call.
For Fibre Channel this change saves one of three interrupts per read command, increasing performance from 126K to 160K IOPS. For iSCSI this change saves one of three PDUs per read command, increasing performance from 1M to 1.2M IOPS.
MFC after: 1 month Sponsored by: iXsystems, Inc.
show more ...
|
#
1f12581f |
| 24-Nov-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r274961 through r274978.
|
#
1251a76b |
| 24-Nov-2014 |
Alexander Motin <mav@FreeBSD.org> |
Replace home-grown CTL IO allocator with UMA.
Old allocator created significant lock congestion protecting its lists of preallocated I/Os, while UMA provides much better SMP scalability. The downsid
Replace home-grown CTL IO allocator with UMA.
Old allocator created significant lock congestion protecting its lists of preallocated I/Os, while UMA provides much better SMP scalability. The downside of UMA is lack of reliable preallocation, that could guarantee successful allocation in non-sleepable environments. But careful code review shown, that only CAM target frontend really has that requirement. Fix that making that frontend preallocate and statically bind CTL I/O for every ATIO/INOT it preallocates any way. That allows to avoid allocations in hot I/O path. Other frontends either may sleep in allocation context or can properly handle allocation errors.
On 40-core server with 6 ZVOL-backed LUNs and 7 iSCSI client connections this change increases peak performance from ~700K to >1M IOPS! Yay! :)
MFC after: 1 month Sponsored by: iXsystems, Inc.
show more ...
|
#
9268022b |
| 19-Nov-2014 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge from head@274682
|
Revision tags: release/10.1.0 |
|
#
5c9ef378 |
| 04-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r274095.
|
#
867b5960 |
| 20-Oct-2014 |
Neel Natu <neel@FreeBSD.org> |
IFC @r273206
|