#
285830 |
|
23-Jul-2015 |
gjb |
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1 builds. - Update newvers.sh to reflect RC1. - Update __FreeBSD_version to reflect 10.2. - Update default pkg(8) configuration to use the quarterly branch.[1]
Discussed with: re, portmgr [1] Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
279003 |
|
19-Feb-2015 |
mav |
MFC r278161: Bring some more order into iSCSI portal group tags support.
While ctld(8) still does not allow multiple portal groups per target to be configured, kernel should now be able to handle it.
Sponsored by: iXsystems, Inc.
|
#
279002 |
|
19-Feb-2015 |
mav |
MFC r278037: CTL LUN mapping rewrite.
Replace iSCSI-specific LUN mapping mechanism with new one, working for any ports. By default all ports are created without LUN mapping, exposing all CTL LUNs as before. But, if needed, LUN mapping can be manually set on per-port basis via ctladm. For its iSCSI ports ctld does it via ioctl(2). The next step will be to teach ctld to work with FibreChannel ports also.
Respecting additional flexibility of the new mechanism, ctl.conf now allows alternative syntax for LUN definition. LUNs can now be defined in global context, and then referenced from targets by unique name, as needed. It allows same LUN to be exposed several times via multiple targets.
While there, increase limit for LUNs per target in ctld from 256 to 1024. Some initiators do not support LUNs above 255, but that is not our problem.
Relnotes: yes Sponsored by: iXsystems, Inc.
|
#
276613 |
|
03-Jan-2015 |
mav |
MFC r275864: Make sequence numbers checks more strict.
While we don't support MCS, hole in received sequence numbers may mean only PDU loss. While we don't support lost PDU recovery, terminate the connection to avoid stuck commands.
While there, improve handling of sequence numbers wrap after 2^32 PDUs.
|
#
275495 |
|
05-Dec-2014 |
mav |
MFC r274805: Make cfiscsi_offline() synchronous, waiting for connections termination before return. This should make ctld restart more clean and predictable.
|
#
273319 |
|
20-Oct-2014 |
mav |
MFC r272947: Give physical and virtual ports numbers some more meaning.
|
#
273310 |
|
20-Oct-2014 |
mav |
MFC r272613: Add support for MaxBurstLength and Expected Data transfer Length parameters.
Before this change target could send R2T request for write transfer of any size, that could violate iSCSI RFC, which allows initiator to limit maximum R2T size by negotiating MaxBurstLength connection parameter.
Also report an error in case of write underflow, when initiator provides less data than initiator expects. Previously in such case our target sent R2T request for non-existing data, violating the RFC, and confusing some initiators. SCSI specs don't explicitly define how write underflows should be handled and there are different oppinions, but reporting error is hopefully better then violating iSCSI RFC with unpredictable results.
|
#
268692 |
|
15-Jul-2014 |
mav |
MFC r268362: Teach ctl_add_initiator() to dynamically allocate IIDs from pool.
If port passed negative IID value, the function will try to allocate IID from the pool of unused, based on passed wwpn or name arguments. It does all its best to make IID unique and persistent across reconnects.
This makes persistent reservation properly work for iSCSI. Previously, in case of reconnects, reservation could be unexpectedly lost, or even migrate between intiators.
|
#
268691 |
|
15-Jul-2014 |
mav |
MFC r268356, r268357: When new connection comes in, check whether we already have session from the same intiator (Name+ISID). If so -- terminate the old session and let the new one take its place, as required by iSCSI RFC.
|
#
268685 |
|
15-Jul-2014 |
mav |
MFC r268307: Move lun_map() method from command nexus to port.
Previous implementation made impossible to do some things, such as calling it for ports other then one through which command arrived.
|
#
268684 |
|
15-Jul-2014 |
mav |
MFC r268302: Pass through iSCSI session ISID from LOGIN request to the CTL frontend.
ISID is an important part of initiator transport ID for iSCSI. It is not used now, but should be to properly implement persistent reservation.
|
#
268682 |
|
15-Jul-2014 |
mav |
MFC r268291: Create separate CTL port for every iSCSI target (and maybe portal group).
Having single port for all iSCSI connections makes problematic implementing some more advanced SCSI functionality in CTL, that require proper ports enumeration and identification.
This change extends CTL iSCSI API, making ctld daemon to control list of iSCSI ports in CTL. When new target is defined in config fine, ctld will create respective port in CTL. When target is removed -- port will be also removed after all active commands through that port properly aborted. This change require ctld to be rebuilt to match the kernel.
As a minor side effect, this allows to have iSCSI targets without LUNs. While that may look odd and not very useful, that is not incorrect.
|
#
268677 |
|
15-Jul-2014 |
mav |
MFC r268266, r268275: Separate concepts of frontend and port.
Before iSCSI implementation CTL had no knowledge about frontend drivers, it had only frontends, which really were ports (alike to LUNs, if comparing to backends). But iSCSI added there ioctl() method, which does not belong to frontend as a port, but belongs to a frontend driver.
|
#
268258 |
|
04-Jul-2014 |
mav |
MFC r267574 (by trasz): Make cs_terminating a bool; no functional changes.
|
#
265513 |
|
07-May-2014 |
trasz |
MFC r264530:
Properly pass the initiator address when running in proxy mode.
Sponsored by: The FreeBSD Foundation
|
#
265509 |
|
07-May-2014 |
trasz |
MFC r264526:
Properly identify target portal when running in proxy mode. While here, remove CTL_ISCSI_CLOSE, it wasn't used or implemented anyway.
Sponsored by: The FreeBSD Foundation
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
255570 |
|
14-Sep-2013 |
trasz |
Bring in the new iSCSI target and initiator.
Reviewed by: ken (parts) Approved by: re (delphij) Sponsored by: FreeBSD Foundation
|