Age | Commit message (Collapse) | Author | Files | Lines |
|
to shut up the pkglint warnings.
|
|
Changes are mainly portability ones, to allow the initiator to build
properly on non-NetBSD platforms. The first such platform is
FreeBSD-6.3:
# ./iscsifs -u agc -D -h sys3
Targets available from host sys3:
iqn.1994-04.org.netbsd.iscsi-target:target0 at 10.4.0.29:3260,1
iqn.1994-04.org.netbsd.iscsi-target:target2 at 10.4.0.29:3260,1
# uname -srm
FreeBSD 6.3-RELEASE i386
#
|
|
Changes since previous version:
+ Incorporate a minor build change for platforms without strlcat(3).
+ Add the new "size" keyword to the extent definition when presenting targets:
When defining extents, the new keyword "size" can be used in the place
of the physical size of the regular file. This is useful for presenting
ISO images to initiators, as in the following:
In /etc/iscsi/targets:
# present an ISO image
extent2 /usr/sets/20071214/release/iso/i386cd.iso 0 size
target2 ro extent2 any
% priv /etc/rc.d/iscsi_target restart
Stopping iscsi_target.
Starting iscsi_target.
Reading configuration from `/etc/iscsi/targets'
target0:rw:any
extent0:/tmp/iscsi-target0:0:104857600
target1:rw:any
extent1:/tmp/iscsi-target1:0:52428800
target2:ro:any
extent2:/usr/sets/20071214/release/iso/i386cd.iso:0:354906112
DISK: 1 logical unit (204800 blocks, 512 bytes/block), type iscsi fs
DISK: LUN 0: 100 MB disk storage for "target0"
DISK: 1 logical unit (102400 blocks, 512 bytes/block), type iscsi fs
DISK: LUN 0: 50 MB disk storage for "target1"
DISK: 1 logical unit (693176 blocks, 512 bytes/block), type iscsi fs
DISK: LUN 0: 338 MB readonly disk storage for "target2"
TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target
%
Please note that the NetBSD initiator can mount (via vnd) an iSCSI target
presented in this manner. The Microsoft iSCSI initiator sees the read-only
target as a normal SCSI disk, and fails (not surprisingly) to initialize
the disk. It's now possible to make ISO images available via iSCSI, and
NetBSD will DTRT.
In read-only targets, don't attempt to seek to the last block and rewrite
it, it may not work.
Don't assign 8 MB of unused space for use in each iSCSI disk - just use
1MB, which will be enough for the scatter gather iovecs.
Get rid of some dead code.
|
|
build problems. In addition, the initiator can now attach to multiple
targets.
|
|
Differences from the previous version:
Module Name: src
Committed By: agc
Date: Sun Dec 9 09:09:03 UTC 2007
Removed Files:
src/dist/iscsi/src: auths iscsiconfig.c ktarget.c ktest.c mknodes.c
mount_iscsi.c targets
Log Message:
Get rid of some files which aren't used.
To generate a diff of this commit:
cvs rdiff -r1.1.1.1 -r0 src/dist/iscsi/src/auths src/dist/iscsi/src/ktest.c \
src/dist/iscsi/src/mknodes.c src/dist/iscsi/src/targets
cvs rdiff -r1.4 -r0 src/dist/iscsi/src/iscsiconfig.c
cvs rdiff -r1.3 -r0 src/dist/iscsi/src/ktarget.c \
src/dist/iscsi/src/mount_iscsi.c
Module Name: src
Committed By: agc
Date: Sun Dec 9 09:16:42 UTC 2007
Modified Files:
src/dist/iscsi/include: storage.h
src/dist/iscsi/src: storage.c targets.5
src/dist/iscsi/src: target.c
Log Message:
Add support in the target for specifying the target IQN (iSCSI Qualified
Name) in the targets configuration file.
Now an entry of the form:
target0=iqn.binky rw extent0 any
will mean that target0 gets presented with the iqn of "iqn.binky".
This can be useful for shorter aliases for IQNs. With thanks to Peter
Eisch for the idea.
Note that the target's base IQN can still be set with the -t parameter
to iscsi-target.
To generate a diff of this commit:
cvs rdiff -r1.4 -r1.5 src/dist/iscsi/include/storage.h
cvs rdiff -r1.8 -r1.9 src/dist/iscsi/src/storage.c
cvs rdiff -r1.4 -r1.5 src/dist/iscsi/src/targets.5
cvs rdiff -r1.21 -r1.22 src/dist/iscsi/src/target.c
Module Name: src
Committed By: agc
Date: Sun Dec 9 09:21:07 UTC 2007
Modified Files:
src/dist/iscsi/include: config.h config.h.in
src/dist/iscsi/src: Makefile.in configure configure.ac disk.c
parameters.c
Added Files:
src/dist/iscsi/include: iscsi-md5.h
src/dist/iscsi/src: md5c.c md5hl.c
Removed Files:
src/dist/iscsi/include: md5.h
src/dist/iscsi/src: md5.c
Log Message:
Move the iSCSI code over to use the endian neutral md5 code,
originally from Poul-Henning Kamp, as found in pkgsrc/pkgtools/digest.
This should address some of the MD5 problems that are being seen on
some hosts at login time.
Re-run autoconf, autoheader and configure.
To generate a diff of this commit:
cvs rdiff -r1.21 -r1.22 src/dist/iscsi/include/config.h
cvs rdiff -r1.10 -r1.11 src/dist/iscsi/include/config.h.in
cvs rdiff -r0 -r1.1 src/dist/iscsi/include/iscsi-md5.h
cvs rdiff -r1.2 -r0 src/dist/iscsi/include/md5.h
cvs rdiff -r1.10 -r1.11 src/dist/iscsi/src/Makefile.in \
src/dist/iscsi/src/parameters.c
cvs rdiff -r1.24 -r1.25 src/dist/iscsi/src/configure \
src/dist/iscsi/src/configure.ac
cvs rdiff -r1.35 -r1.36 src/dist/iscsi/src/disk.c
cvs rdiff -r1.3 -r0 src/dist/iscsi/src/md5.c
cvs rdiff -r0 -r1.1 src/dist/iscsi/src/md5c.c src/dist/iscsi/src/md5hl.c
Module Name: src
Committed By: agc
Date: Sun Dec 9 09:33:35 UTC 2007
Modified Files:
src/dist/iscsi/include: initiator.h
Log Message:
Add prototypes for initiator_get_targets() and initiator_set_target_name().
To generate a diff of this commit:
cvs rdiff -r1.6 -r1.7 src/dist/iscsi/include/initiator.h
Module Name: src
Committed By: agc
Date: Sun Dec 9 09:38:49 UTC 2007
Modified Files:
src/dist/iscsi/include: config.h
src/dist/iscsi/src: configure configure.ac
Log Message:
Update to version 20071209, to include new initiator "discovery only"
option, the iqn alias configuration option, and the different md5
routines which are being used.
To generate a diff of this commit:
cvs rdiff -r1.22 -r1.23 src/dist/iscsi/include/config.h
cvs rdiff -r1.25 -r1.26 src/dist/iscsi/src/configure \
src/dist/iscsi/src/configure.ac
|
|
version 20071205.
Fix the bug where multiple targets appeared as one. With huge thanks to
Greg Oster for his work in squashing this one.
Module Name: src
Committed By: oster
Date: Tue Dec 4 16:25:37 UTC 2007
Modified Files:
src/dist/iscsi/src: disk.c
Log Message:
Set "lun = sess->d" early on (but not too early), and allow multiple
targets to now work correctly. XXX: This will need to be re-visited
at some point, and fixed properly.
Commit requested by: agc
To generate a diff of this commit:
cvs rdiff -r1.34 -r1.35 src/dist/iscsi/src/disk.c
Also, the initiator has been modified to attach to multiple targets,
again thanks to Greg Oster.
Module Name: src
Committed By: oster
Date: Tue Dec 4 16:22:39 UTC 2007
Modified Files:
src/share/examples/refuse/iscsi-initiator: iscsifs.c
Log Message:
Add a '-D' option to allow "Discovery" of the targets provided by a host.
Initial support for multiple targets from the same host.
Base 'MaxTargets' on a #define, rather than hard-coding.
Reviewed by: agc
|
|
incorporate two important bug fixes:
Module Name: src
Committed By: agc
Date: Wed Nov 28 16:46:38 UTC 2007
Modified Files:
src/dist/iscsi/src: md5.c
Log Message:
Do runtime detection of machine's endianness, rather than relying on a cpp
macro which was never changed. This is the QAD fix, longer term we will
move to use native md5 routines if available.
Should go some way to fixing authentication problems when using an
initiator and target of different endianness.
To generate a diff of this commit:
cvs rdiff -r1.2 -r1.3 src/dist/iscsi/src/md5.c
and
Module Name: src
Committed By: oster
Date: Fri Nov 30 00:33:35 UTC 2007
Modified Files:
src/dist/iscsi/src: parameters.c
Log Message:
We have 4 cases here: rx_answer, tx_answer, rx_offer, and tx_offer.
When determining what to put in to param->negotiated, it is *NOT*
sufficient to just pick one of offer_tx or offer_rx -- we may need to
use answer_rx or answer_tx as the negotiated parameter. Failure to
pay attention to which case we are handling means we will occasionally
get "old parameter values" stuffed into responses, resulting in
obscure behavior (such as getting luns mixed up after a normal
connection is made) that is very difficult to replicate.
To generate a diff of this commit:
cvs rdiff -r1.9 -r1.10 src/dist/iscsi/src/parameters.c
|
|
Only change is that the target returns MAXLBA in a READ_CAPACITY command
response, and the initiator adds one to it to find out the size.
|
|
|
|
Collection.
This initiator is based on FUSE/ReFUSE.
iSCSI is an IETF standard (RFC 3720) for remote access to block-level
storage. It can be thought of as similar to NFS, except that an NFS
server exports files; the iSCSI target exports blocks to the iSCSI
initiators, which are the clients.
The NetBSD iSCSI initiator is based on FUSE/ReFUSE, and provides a
portable initiator for any operating system with a FUSE-like
interface.
|