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.
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.
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.
particular, initialize the target name properly in g_target, and add
functions for setting the target name and retrieving a list of
available targets.
Thanks to agc for catching this.
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.
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.
Revert Max LBA calculation when returning the Maximum LBA from the target
to the iinitiator, following an email conversation with Jonathan Kollasch,
who points out a number of things:
+ the NetBSD scsipi driver reads the value returned by the drive and adds
one to it, so that standard SCSI drives return the 0-based Max LBA in a
READ CAPACITY command.
+ it is up to the initiator to add 1 to the Max LBA to find out the size
of the LUN (Jonathan verified this by using the UNH iSCSI initiator on
to a NetBSD target)
+ an analogous change to the NetBSD initiator (revision 1.4 of
iscsifs.c) is needed.
is not used by the NetBSD reachover framework).
Get rid of the misplaced bin directory during the build phase, it's not
necessary.
Add commands to build the NetBSD iSCSI initiator.
Initial import of the Automated Testing Framework, version 0.3, a project
that provides a framework to easily implement test cases for the NetBSD
operating system and some tools to run them and generate reports with the
results.
Note that this is just the framework (libraries and tools), which is and
will be maintained externally. The tests themselves will come later, will
be put under the 'tests' hierarchy and will be managed exclusively under
the NetBSD CVS tree given that they are tied to the operating system.
The work done until version 0.1 was sponsored by the Google Summer of Code
2007 program and mentored by martin@.
- reject absolute names in +CONTENT
- fix size issues with pkg_add -u and buffer handling
- print file name of failed renames in pkgdb during pkg_add -u
- remove warning when running pkg_add as non-root
- remove more traces of master/slave mode
- update URLs for new ftp.netbsd.org layout
- make warning of broken symlinks separate from warning for non-existant
files
- FETCH_PRE_ARGS option for download-vulnerability-list
- print only base package name in FILE_NAME for pkg_info -X
- don't leak memory in Dewey, it is called a lot more often now and
makes a difference
- just allocate in vfcexec and free, don't bother caching the exec
buffer
- remove some FTP debugging code
- make more allocation errors in the pkgdb iteration code fatal
- glob patterns and simple patterns are checked for being version-free
as well
- try harder to get setgid permissions correctly when extracting as
non-root
- fix waitpid to correctly handle EINTR
code to retry on SIOCGIFCONF not returning all interfaces is broken,
this unreasonably large buffer should handle the case of a machine
with lots of (usually virtual) interfaces. dhcpd 4 uses a different
method to get interface configuration, so this kludge should go away
on upgrade.
Fix based on understanding of the code, but has been compile-tested
only, to address failure report received from Michael Graff.
Pay closer attention to the TSIH value that is assigned by the target -
rather than a simple (session id + 1) value, which cycles after 16 sessions
are used, use a central counter, and increment that whenever a TSIH is
apportioned. This fixes some problems for me with multiple targets being
ignored, and only the first target being used. Tested with the Microsoft
initiator, and the embryonic NetBSD initiator.
Use more enumerated types, rather than cpp definitions.
Use enumerated types also in preference to magic numbers.
In the iSCSI test harness, use the -t argument to specify a disk target
exported by the NetBSD iSCSI target. This allows us to test for the
situation outlined above.
Add my copyright to the test harness - there's no Intel code left anymore.
Modify the way initiator login and logout information is presented to the
user. This is only of concern to people who use this with the target in
non-detached (non-daemon) mode.
Get rid of the MODE_SENSE_10 and MODE_SELECT_10 cases in the disk switch,
since they do not return responses in the correct format yet.
functions. Code contributed by Aleksey Cheusov in PR#36394, and slightly
tweaked for closer-to-KNF conventions by me. Also slightly improved checks
of error returns.
- include <stdbool.h> so bool is available _KERNEL for sys/condvar.h
- include <sys/mutex.h> before defining _KERNEL so it won't try to
include <machine/intr.h> which isn't available to userland.
fixes builds on sparc64.
+ fix a reported problem with newer versions of FreeBSD which require
a block of data to be read and written, rather than a single byte.
+ add support for Extended Inquiry Data VPD Page (0x86), reported to be
necessary to interoperate with the AIX initiator.
+ add preliminary support for the Write and Verify SCSI operation (0x2e).