From: Alex Aizman <itn780@yahoo.com>
To: linux-scsi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
James Bottomley <James.Bottomley@SteelEye.com>,
Christoph Hellwig <hch@lst.de>
Subject: [ANNOUNCE 0/7] Open-iSCSI/Linux-iSCSI-5 High-Performance Initiator
Date: Wed, 01 Jun 2005 13:08:45 -0700 [thread overview]
Message-ID: <429E15CD.2090202@yahoo.com> (raw)
This is open-iscsi/linux-iscsi-5 Initiator. This submission is ready for
inclusion into mainline kernel.
It contains:
- iscsi data path (iscsi_tcp)
- iscsi transport class (scsi_transport_iscsi).
This Initiator depends on this transport class, but not vice versa: the
transport class is common, generic, and isolated from this concrete iscsi
implementation by scsi_transport_iscsi.h interface (see the header file
and/or diagrams on the open-iscsi website). Initiator's control plane (supplied
separately at http://www.open-iscsi.org/index.html#download) also does
not depend on iscsi_tcp data path implementation - it's multi-transport
capability is ensured by the the transport class itself.
Changes since 05/05/05 submission
(http://marc.theaimsgroup.com/?l=linux-kernel&m=111526765118450&w=2)
========================
* Stability: fixed a number of races between eh_abort(), conn_destroy(), abort
timeout, etc.
* Performance improvements.
* Internally reviewed and cleaned up all the code, to the best of our ability.
* Exported transport and session/connection information via sysfs.
* Removed not-greater-than-page-size restriction; should be able to support
applications using sg (tested) and presumably, st as well.
Tarball
====
The entire Initiator source including user space tools is available at
http://www.open-iscsi.org/index.html#download and/or svn
(svn.berlios.de/open-iscsi, r363).
The same tarball can be downloaded from the linux-iscsi project page on
sourceforge at http://sourceforge.net/project/shownotes.php?release_id=331731
Thanks
======
Many people contributed to testing. In particular, special thanks to:
Pascal Renauld, Harald Kubota, Olivier Galibert, Arne Redlich.
Changelog
========
* misleading printout in top-level Makefile fixed
* new ITT encoding implemented, should protect us from not well behaved targets
* ctask->in_progress state machine depricated. using direct PDU header processing
* using eh_host_reset_handler() to unjam iscsi session in case of interface fluks
* more verificiation done before r2t response processing
* recovery: ctask->SCp.Status deprecated, using ctask->sc (NULL/not NULL) instead
* Mike: scsi_transport_iscsi.h copyright cleanup
* Mike: minor coding style cleanup
* Mike: fixed the error path when session class was not being unregistered
* conn_stop() vs. eh_abort(): ctask->sc serialization via xmitsema
* Mike: iscsi_tcp: remove extra tabs
* fixed race between conn_destroy() and eh_abort()
* properly flushing r2tqueue and stopping ctask from being xmited after TMF Abort
* Mike: data_recv tabs cleanup
* Mike: dockbook style comments
* Mike: rm underscore in labels to match rest of driver
* fixed limitation on number of scattered PDUs across SKBs. Discovered by Harald.
* Mike: fixed some weird braces where locks would never get dropped if run and
tabing
* session->state is no longer volatile, since we always access it under lock
* session->generation is not longer volatile; renamed as session->age
* Mike: add kernel printk values
* Mike: rm extra module get/put call
* regression.sh: each test-case now tested with fdisk+mkfs+bonnie
* Mike: do copyright per line
* Mike: merge iscsi_ifev.h and iscsi_if.h
* Mike: rm iscsi_iftrans.h and move include of scsi_transport_iscsi.h
* fixed iscsi_ctask_copy() buffer length bug (observed when using bonnie++ as a
part of regression.sh)
* Mike: rm extra braces and add a space between var declarations and code
* enabling data digest causes lock-up (Arne Redlich)
* Mike: whitespaces cleanup
* Mike: coding style cleanup
* Mike: rm extra brace and mv invalid param test
* "un-volatile" tmabort_state (volatile is not needed)
* remved session->conn_lock
* "un-volatile" conn->c_stage
* "un-volatile" conn->stop_stage
* Wang Zhenyu: [io]fmarket typo fix
* regression introduced in r341: fixed now
* send_pdu(): use xmit semaphore, now serialized vs. data_xmit()
* removed: conn->cpu and the (dead) code
* data_xmit_more(): cleaned up and moved to the data_xmit()
* comments in the iscsi_tcp.h in particular: conn->xmitsema, session->lock
* Mike: remove the ISCSI_TRANSPORT_MAX limitation from the kernel using sysfs
* updated to the recent transport class changes backward-compile-2.6.11.patch
* fixed gcc4 compilation warnings
* Mike: don't hold session->lock when deleting timer with del_timer_sync()
* Mike: don't hold xmitsema while waiting for host_busy to decrement
* Mike: deadlock fix: cannot call del_timer sync with session_lock held
* propagating transport->caps up to the daemon, fixes DATA_DIGEST nego bug
* adding max_conn, max_cmd_len and max_lun attributes for iscsi_transport
* force eh_abort to unblock while in conn_destroy() waiting
* fail host_reset() in case of session terminated
* iscsiadm crash fix when transport capability does not match
* connection struct: re-aligned Tx members with Tx, Rx with Rx
* connection suspend: split Tx and Rx suspend, cleanup
* fixed eh_abort/conn_stop() race: clear/set conn->sock under lock
* removed restriction: sg element <= PAGE_SIZE
* removed restriction: non scatter/gather request <= PAGE_SIZE
Patches
=====
1. iscsi-tcp.c.patch - drivers/scsi/iscsi_tcp.c, iscsi data path. This is ~3000
lines 84K file, if it does not make it through, I'll split and resend. In
addition, this file is available at http://www.open-iscsi.org/src/iscsi_tcp.c
2. iscsi-tcp.h.patch - drivers/scsi/iscsi_tcp.h, header file.
3. common-iscsi-headers.patch - common header files:
- iscsi_if.h (user/kernel #defines and user/kernel events);
- iscsi_proto.h (RFC3720 #defines and types);
- scsi_transport_iscsi.h (transport API, transport #defines and types).
4. iscsi-netlink.patch - include/linux/netlink.h changes (added new protocol
NETLINK_ISCSI).
5. iscsi-Makefile.patch - drivers/scsi/Makefile changes.
6. iscsi-transport.patch - new iscsi transport class
(drivers/scsi/scsi_transport_iscsi.c)
7. iscsi-Kconfig.patch - drivers/scsi/Kconfig changes.
Thanks,
Linux-iscsi Team
next reply other threads:[~2005-06-01 20:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-01 20:08 Alex Aizman [this message]
2005-06-01 20:54 ` [ANNOUNCE 0/7] Open-iSCSI/Linux-iSCSI-5 High-Performance Initiator Patrick McFarland
2005-06-01 21:08 ` Alex Aizman
2005-06-01 22:45 ` Christian Iversen
2005-06-02 5:32 ` Alex Aizman
2005-06-01 21:10 ` Ming Zhang
2005-07-30 17:32 ` James Bottomley
2005-07-30 18:36 ` Alex Aizman
2005-07-30 18:38 ` Christoph Hellwig
2005-07-30 19:53 ` David S. Miller
2005-07-30 19:53 ` David S. Miller
2005-07-30 20:23 ` James Bottomley
2005-07-30 21:25 ` Dmitry Yusupov
2005-07-31 0:33 ` David S. Miller
2005-08-02 17:18 ` Mike Christie
2005-07-31 0:34 ` David S. Miller
2005-08-06 20:46 ` Patrick McHardy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=429E15CD.2090202@yahoo.com \
--to=itn780@yahoo.com \
--cc=James.Bottomley@SteelEye.com \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.