1.0.1.1 web updates
[mirror/scst/.git] / iscsi-scst / ChangeLog
1 Summary of changes in iSCSI-SCST between versions 1.0.1 and 1.0.2
2 -----------------------------------------------------------------
3
4  - Support bidirectional transfers added
5
6
7 Summary of changes in iSCSI-SCST between versions 1.0.0 and 1.0.1
8 -----------------------------------------------------------------
9
10  - Support for variable lenght CDB added
11
12  - Sending and receiving padding bytes as well as sesnse data
13    reimplemented to make it more reliable
14
15  - Support for SCSI Async. Event Notifications added
16
17  - Sessions and connections reinstatement reimplemented to be conforming
18    to iSCSI RFC
19
20  - iscsi-scst-adm fixed
21
22  - Removed artificial limitation of sg_tablesize. It isn't needed,
23    because the regular iSCSI negotiated MaxRecvDataSegmentLength-related
24    facilities do all the job pretty well.
25
26  - Merge with IET r170-211:
27
28    * Update MaxConnections documentation
29
30    * Remove isns config description from man page
31
32    * Check return values of chdir(), ftruncate() and write(), because
33      recent versions of the glibc insist on the return value being
34      checked by introducing __attribute__((warn_unused_result)) to these
35      functions.
36
37    * Fix snprintf use in isns.c
38
39    * Take \0-termination into account when passing strings to
40      isns_tlv_set() to solve incompatibility with MS iSNS 3.0 as IQN
41      length is multiple of 4
42
43    * Fix list corruption if SCST target registration fails
44
45    * Register the target port actually used instead of the default iSCSI port.
46
47    * Remove unused connection->pad
48
49    * Refactor cmnd_execute()
50
51    * Introduce min*/max*() and more list_* macros
52
53    * Multipart PDU support for discovery sessions
54
55    * Add support for Reject PDUs and make use of them in appropriate places.
56
57    * Ignore SIGPIPE in iscsi-scstd
58
59    * Allow removal of kernel target objects if the user space object does not exist
60
61    * Use netlink_socket_release() to clean up netlink sockets correctly
62      (taking care of namespaces)
63
64    * More scalable proc seq_file implementation
65
66    * Segfault in ietd buffer overrun in dump_line
67
68    * Add iscsi-scst-adm support to display list of CHAP accounts and their data
69
70    * Fixed compilation on glibc 2.8
71
72    * Fix CHAP account handling bugs
73
74    * Fix bugs in multi PDU handling code
75
76  - Support for CentOS 5.2 added (Bart Van Assche)
77
78  - Fixed NOP-Out with payload handling
79
80  - Several minor iSCSI RFC violations fixed
81
82  - Update for kernels up to 2.6.29
83
84  - Zero-copy feature, introduced by put_page_callback patch made
85    kernel compile time configurable via
86    CONFIG_TCP_ZERO_COPY_TRANSFER_COMPLETION_NOTIFICATION option. If you
87    upgrade from earlier versions, see the corresponding "[CAUTION]"
88    e-mail in scst-devel mailing list about possible compatibility
89    problems.
90
91  - A lot of cleanups and minor fixes
92
93 Summary of changes in iSCSI-SCST since it was IET
94 -------------------------------------------------
95
96  - Commands processing flow changed to work with SCST. Significant
97    cleanup was done. Modules and config files were renamed to allow to
98    run with IET on the same host.
99
100  - In IET the iSCSI negotiation isn't fully iSCSI RFC confirmed: it doesn't
101    support ranges of values and, more important, violates RFC in case
102    when in the IET config file some value for some parameter is set and
103    a remote initiator doesn't initiate the negotiation for this
104    parameter or declare its value. According to RFC, in this case IET
105    shall use the RFC-specified default value, but it uses config file
106    specified one instead. Looks like the implementation confuses IET
107    config file default values and iSCSI RFC ones. The default values
108    handling was fixed. But support for ranges remains unfixed (see ToDo
109    file).
110
111  - All shutdown/restart problems (resource leaks, hangups, etc.), especially
112    under load, were fixed.
113
114  - Full duplex network IO implemented.
115
116  - Threading model reimplemented.
117
118  - Digests calculation made multi-threaded.
119
120  - TX data digest errors handling iSCSI RFC violation was fixed. Another one
121    (SNACK handling) remains unfixed.
122
123  - Ability to send data with sense in a single response added.
124
125  - Ability to handle initiators misbehavior a bit improved: several BUG()'s
126    were relaced by the proper handling. Hovewer, there is a plenty of work in
127    this area left, IET is known to have a lot of weaknesses here.
128
129  - Task management made more robust. Particularly, possible data
130    corruption scenarios were fixed.
131
132  - Implemented SN based iSCSI IO flow control
133
134  - Response data send timeout implemented: now if initiator doesn't
135    accept data for too long (30 sec), target closes connection
136
137  - A lot of other bugfixes and code cleanups.
138