Allow maximum number of targets in initiator to be set in mk.conf
with ISCSI_INITIATOR_MAX_TARGETS
Changes:
Provide function in libiscsi to return the compile-time limit on number of
targets. Use this function in the initiator, to ensure that the same limit
is used throughout (i.e. stop you attempting to compile the initiator with a
different limit to the library - the initiator uses the library for most of
its functionality).
If truncating the number of targets in the initiator, truncate it to the
correct amount, not half of what it should be.
Obey RFC3720 when determining targets. SendTargets=All MUST be supported
on a discovery session, and MUST NOT be supported on an operational session.
Previously, SendTargets=All was used both in the initial discovery session
and the later session. (from Daisuke Aoyama - author of istgt).
Changes include
- man page claims that you can use auth type = none, but in reality this
didn't work (insisted on a username being given and then used, plus always
advertised CHAP to the target). Make initiator work as advertised (i.e.
defaults to auth type none and so don't require a username).
- document -D option to iscsi-initiator
- Remove hostname from pathname to storage in mount point.
This means /mnt/mytarget.domain.local/target0/storage is now
/mnt/target0/storage.
- Note limitations of CHAP implementation in BUGS section.
- Skip target if TargetName is empty.
- Use relevant TargetAddress, not just first one we happen to find.
- Handle NOP-OUT CmdSN and immediate bit.
- Handle NOP-IN TransferTag=0xffffffff.
- Interim solution for dealing with Underflow bit in iSCSI response.
- iscsi-initiator now talks to istgt and other targets.
- Retry read capacity. Device may not be ready on first access, so need to
wait and re-issue.