mirror of
https://github.com/SCST-project/scst.git
synced 2026-08-22 07:06:22 +00:00
svn+ssh://yanb123@svn.code.sf.net/p/scst/svn/trunk
........
r5246 | vlnb | 2014-01-29 05:30:24 +0200 (Wed, 29 Jan 2014) | 3 lines
Put CDB control byte parsing in one place
........
r5247 | vlnb | 2014-01-29 06:16:58 +0200 (Wed, 29 Jan 2014) | 3 lines
Better version of the previous patch
........
r5248 | vlnb | 2014-01-30 03:40:48 +0200 (Thu, 30 Jan 2014) | 7 lines
[PATCH 1/2] scst_sysfs: Make it easier to add new target sysfs attributes
This patch does not change any functionality.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
........
r5249 | vlnb | 2014-01-30 03:41:54 +0200 (Thu, 30 Jan 2014) | 10 lines
[PATCH 2/2] scst_sysfs: Add I/O statistics per target
Although it is possible to obtain these statistics by iterating over
all sessions and by computing the sum of the per-target statistics,
make per-target statistics directly available such that these can be
retrieved easily.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
........
r5250 | vlnb | 2014-01-30 04:32:44 +0200 (Thu, 30 Jan 2014) | 3 lines
Update for 3.13 kernels
........
r5251 | bvassche | 2014-01-30 11:16:27 +0200 (Thu, 30 Jan 2014) | 1 line
nightly build: Add kernel 3.13 build infrastructure
........
r5252 | bvassche | 2014-01-30 11:30:18 +0200 (Thu, 30 Jan 2014) | 1 line
scripts/kernel-functions: Add a bug fix for the kernel 3.13 series that is not yet present in the kernel 3.13 stable series
........
r5253 | bvassche | 2014-01-30 11:31:32 +0200 (Thu, 30 Jan 2014) | 1 line
nightly build: Add kernel version 3.13.1
........
r5254 | vlnb | 2014-01-31 04:32:02 +0200 (Fri, 31 Jan 2014) | 10 lines
scst_pres: Simplify PR locking
Since the time during which a PR read or write lock is held is short,
use a mutex to implement PR read and write locking. So although this
patch excludes multiple simultaneous readers that shouldn't affect the
time needed to process a PR operation measurably.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
........
r5255 | vlnb | 2014-01-31 04:33:11 +0200 (Fri, 31 Jan 2014) | 5 lines
scst_vdisk: Check that "filename" is specified at most once
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
........
r5256 | vlnb | 2014-01-31 04:35:20 +0200 (Fri, 31 Jan 2014) | 5 lines
scst_vdisk: Sort "add_device_parameters" alphabetically
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
........
r5260 | bvassche | 2014-02-03 11:03:03 +0200 (Mon, 03 Feb 2014) | 1 line
scripts/list-source-files: Handle Mercurial subdirectories properly
........
r5264 | bvassche | 2014-02-06 14:46:51 +0200 (Thu, 06 Feb 2014) | 9 lines
scst_local: Fix a kernel oops for kernel versions < 2.6.37
Avoid that scst_local triggers "BUG: unable to handle kernel NULL
pointer dereference" on kernel versions before 2.6.37. This patch
fixes a regression introduced via patch "scst_local: Avoid
deadlock during module removal with kernel 3.6" (trunk r4566).
Reported-by: Sebastian Herbszt <herbszt@gmx.de>
........
r5266 | bvassche | 2014-02-06 15:30:06 +0200 (Thu, 06 Feb 2014) | 14 lines
Hush Coverity warning of scst_ws_push_single_write() uninitialized pointer
Coverity warns that sgv may be used uninitialized. The warning
applies to WRITE SAME commands with LBDATA == PBDATA == 0 (replicate
a single block of user data into the specified LBA range).
The warning appears to be spurious - when LBDATA == PBDATA == 0,
scst_ws_write_cmd_finished() will not use the uninitialized value
saved by scst_ws_push_single_write().
Move initialization of sgv earlier in the function to quiesce the warning.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
........
r5267 | bvassche | 2014-02-06 15:38:28 +0200 (Thu, 06 Feb 2014) | 7 lines
qla2x00t: Re-sync help text with the code
The ql2xfdmienable module parameter defaults to 1, but the help text
claims it defaults to zero.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
........
r5268 | bvassche | 2014-02-06 16:17:49 +0200 (Thu, 06 Feb 2014) | 6 lines
ib_srpt: Avoid that disabling a target triggers a race condition
Avoid that disabling a target triggers a race condition with
SRP relogin. At least in theory this race condition could result
in a kernel crash.
........
r5269 | bvassche | 2014-02-07 09:31:38 +0200 (Fri, 07 Feb 2014) | 9 lines
scst_sysfs: Fix a build failure on kernels 2.6.2[678]
The sysfs API is supported from kernel 2.6.26 on and uses the swap()
macro while the swap() macro was introduced in kernel 2.6.29. Hence
provide a definition of the swap() macro for kernels before 2.6.29.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
[bvanassche: Moved swap() definition a few lines down and added #ifndef/#endif]
........
r5270 | bvassche | 2014-02-07 09:45:15 +0200 (Fri, 07 Feb 2014) | 2 lines
regression tests: Run the 2.6.26..2.6.32 tests on the sysfs code instead of procfs
........
r5271 | bvassche | 2014-02-07 10:11:28 +0200 (Fri, 07 Feb 2014) | 1 line
nightly build: Update kernel versions
........
r5272 | bvassche | 2014-02-07 14:43:25 +0200 (Fri, 07 Feb 2014) | 16 lines
scst_user, rt: Wake command processing thread when needed
In a fully-preemptible realtime kernel (CONFIG_PREEMPT_RT_FULL=y),
SCSI commands from an initiator time out because the userland target
application is never woken to process them.
This is because in a fully-preemptible realtime kernel, soft-IRQ
(tasklet) execution always occurs in a ksoftirqd thread and
preempt_count is not manipulated on soft-IRQ processing entry/exit.
This makes in_interrupt() useless for determining whether soft-IRQ
processing is occurring; instead, in_serving_softirq() should be
used for that purpose.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
[bvanassche: Elaborated source code comment]
........
r5273 | bvassche | 2014-02-07 14:46:39 +0200 (Fri, 07 Feb 2014) | 9 lines
scst_vdisk: Build fix for kernels 2.6.27..2.6.30
add_to_page_cache_lru and __lock_page_killable are exported since
kernel version 2.6.30. See also patch "Staging: pohmelfs: kconfig/makefile
and vfs changes" (commit 18bc0bbd162e3eb3e7ea2953c315ad4113a57164;
included in kernel v2.6.30).
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
........
r5274 | vlnb | 2014-02-08 03:04:27 +0200 (Sat, 08 Feb 2014) | 9 lines
scst_user: Convert sgv_purge_interval to jiffies before use
The sgv_purge_interval from userland is passed down without conversion to
jiffies. Yet, if it is zero, the default value is (60 * HZ).
Convert to jiffies before passing down.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
........
r5275 | vlnb | 2014-02-08 03:52:03 +0200 (Sat, 08 Feb 2014) | 19 lines
Fix spurious BUG when parse_type != SCST_USER_PARSE_STANDARD
Changeset 4224 introduced EXTRACHECKS for valid lba/data_len and state
at the end of the parsing phase of command processing.
However, the checks do not account for deferral of parsing to userland,
as occurs when SCST_USER_PARSE_CALL or SCST_USER_PARSE_EXCEPTION are specified.
In such cases the checks report errors on commands that userland has not yet
had an opportunity to parse.
NOTE: this includes a refactoring of the EXTRACHECKS to improve clarity.
The rework is not exactly equivalent to the original code, but does
conform to the comments describing the original code.
Specifically, the original code would not trap an illegal command state
unless there was also an illegal lba or data_len.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
with some improvements
........
r5276 | bvassche | 2014-02-08 10:24:28 +0200 (Sat, 08 Feb 2014) | 1 line
scst: Build fix for kernel versions before 2.6.37
........
r5277 | bvassche | 2014-02-09 18:50:10 +0200 (Sun, 09 Feb 2014) | 1 line
scst_debug.h: Avoid that the sBUG() and sBUG_ON() definitions confuse the smatch static code checker
........
r5281 | vlnb | 2014-02-13 06:02:56 +0200 (Thu, 13 Feb 2014) | 8 lines
iscsi-scst: fix offset calculation
Fixed a subtle bug in iSCSI-SCST with incorrectly calculated offsets
for non-page aligned transfers. Originally discovered, investigated and
fix suggested by Кирилл Тюшев, then Shahar Salzman tested and proved it.
See http://sourceforge.net/mailarchive/message.php?msg_id=31924078
........
r5282 | vlnb | 2014-02-13 06:15:31 +0200 (Thu, 13 Feb 2014) | 3 lines
Web update
........
r5283 | bvassche | 2014-02-14 15:05:55 +0200 (Fri, 14 Feb 2014) | 7 lines
Makefiles: remove redundant 'depmod' invocations
Running 'make modules_install' already triggers invocation of depmod,
hence leave it out from those Makefiles that use 'make modules_install'.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
........
r5284 | bvassche | 2014-02-14 15:48:54 +0200 (Fri, 14 Feb 2014) | 2 lines
Makefiles: Convert from "install" to "make modules_install"
........
r5285 | bvassche | 2014-02-14 16:46:11 +0200 (Fri, 14 Feb 2014) | 1 line
mvsas_tgt/Makefile: Remove trailing whitespace
........
r5286 | bvassche | 2014-02-14 17:52:10 +0200 (Fri, 14 Feb 2014) | 18 lines
Makefiles: calculate KVER properly
When deriving the kernel version (KVER) from KDIR, the file
$(KDIR)/include/config/kernel.release should be preferred over
'make kernelversion'.
For example, the Ubuntu 3.2.0-23-generic kernel has a kernel.release
file containing '3.2.0-23-generic', but 'make kernelversion' returns
3.2.14. Since the modules are stored under /lib/modules/3.2.0-23-generic,
the value in kernel.release is the correct one to use.
Also:
- Evaluate KVER only once
- All depmod commands must include KVER
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
[bvanassche: Split long lines / removed trailing whitespace]
........
r5287 | bvassche | 2014-02-14 21:27:09 +0200 (Fri, 14 Feb 2014) | 1 line
nightly build: Update kernel versions
........
r5288 | bvassche | 2014-02-18 10:31:44 +0200 (Tue, 18 Feb 2014) | 22 lines
scst, qla2x00t: Prevent inappropriate sleeping with a real-time kernel
With a realtime kernel with full preemption (CONFIG_PREEMPT_RT_FULL),
spinlocks can sleep, interrupt handlers run in thread context, and
the standard local_irq functions manipulate preemptibility, not HW
interruptibility. Under these conditions, most calls to local_irq
functions should be replaced by no-ops. The CONFIG_PREEMPT_RT patch
defines _nort versions of local_irq functions that compile away
under CONFIG_PREEMPT_RT_FULL and compile to their "normal"
equivalents otherwise.
Define _nort equivalents to support compilation against both
"normal" and RT-patched kernels, and use the _nort local_irq
functons in cases where spinlocks are taken within a
local_irq_save() or local_irq_disable() block. Without these
changes, runtime warnings about "sleeping function called from
invalid context" occur.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
[bvanassche: Edited patch description and comment in scst_priv.h]
........
r5289 | bvassche | 2014-02-18 10:40:36 +0200 (Tue, 18 Feb 2014) | 13 lines
Makefiles: respect DESTDIR when specified
Not all SCST components handle DESTDIR properly, or at all.
In particular:
* INSTALL_MOD_PATH should account for DESTDIR when 'make modules_install'
is invoked, so the kernel make infrastructure deploys the modules
and runs depmod against the proper directory tree.
* depmods must include a '-b' option to reference the proper directory tree.
* Drop special ISCSI_DESTDIR.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
........
r5290 | bvassche | 2014-02-18 10:41:30 +0200 (Tue, 18 Feb 2014) | 7 lines
Makefiles: 'uninstall' target fixes
Some components don't have 'uninstall' targets although the top-level
Makefile references them. Some others don't remove the proper file.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
........
r5291 | vlnb | 2014-02-19 05:45:48 +0200 (Wed, 19 Feb 2014) | 8 lines
Fix incorrect start and length calculation for issuing block discard requests
Block layer always expects start and length in 512 byte blocks, so they
should be corrected for non-512b SCST devices.
Original patch from Ken Raeburn <raeburn@permabit.com>
........
r5292 | vlnb | 2014-02-19 06:06:10 +0200 (Wed, 19 Feb 2014) | 3 lines
Cleanups
........
r5293 | vlnb | 2014-02-19 06:21:00 +0200 (Wed, 19 Feb 2014) | 12 lines
scst_user: Complete "Preparing" / "finished" symmetry
Add some TRACE statements so events sent to userland are bracketed by
"Preparing" and "finished". This makes it a little easier to find the
boundaries between the various stages of command processing in trace output.
Note, this patch does not implement a 'finished' message for TM events;
there is already a "TM reply" message that can serve that purpose.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
........
r5294 | bvassche | 2014-02-19 09:38:57 +0200 (Wed, 19 Feb 2014) | 1 line
nightly build: Update kernel versions
........
r5295 | bvassche | 2014-02-19 10:51:35 +0200 (Wed, 19 Feb 2014) | 1 line
scripts/blockdev-perftest: Fix bashisms
........
r5296 | vlnb | 2014-02-20 07:54:49 +0200 (Thu, 20 Feb 2014) | 3 lines
put_page_callback patch for 3.13.3+ kernels
........
r5300 | vlnb | 2014-02-21 04:08:05 +0200 (Fri, 21 Feb 2014) | 3 lines
Docs update
........
r5301 | bvassche | 2014-02-21 09:44:55 +0200 (Fri, 21 Feb 2014) | 1 line
nightly build: Add support for the put_page_callback-3.13.3 patch
........
r5302 | bvassche | 2014-02-21 09:48:21 +0200 (Fri, 21 Feb 2014) | 1 line
nightly build: Update kernel versions
........
r5303 | bvassche | 2014-02-21 12:02:11 +0200 (Fri, 21 Feb 2014) | 1 line
nightly build: Update kernel versions
........
r5304 | bvassche | 2014-02-21 12:09:45 +0200 (Fri, 21 Feb 2014) | 1 line
nightly build: Update kernel versions
........
r5305 | bvassche | 2014-02-24 08:56:05 +0200 (Mon, 24 Feb 2014) | 1 line
nightly build: Update kernel versions
........
r5306 | bvassche | 2014-02-24 08:56:44 +0200 (Mon, 24 Feb 2014) | 1 line
Spelling fix: initator -> initiator
........
r5307 | bvassche | 2014-02-24 09:30:50 +0200 (Mon, 24 Feb 2014) | 1 line
make rpm: Do not remove rpmbuilddir
........
r5308 | bvassche | 2014-02-24 09:39:45 +0200 (Mon, 24 Feb 2014) | 5 lines
scst_local: Add newline to sysfs output
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
[bvanassche: Reduced source code line length to 80 columns]
........
r5309 | bvassche | 2014-02-25 12:55:36 +0200 (Tue, 25 Feb 2014) | 1 line
put_page_callback-3.12.11.patch: Add
........
r5310 | bvassche | 2014-02-25 12:57:27 +0200 (Tue, 25 Feb 2014) | 1 line
put_page_callback-3.10.30.patch: Add
........
r5311 | bvassche | 2014-02-25 12:58:08 +0200 (Tue, 25 Feb 2014) | 1 line
nightly build: Add support for kernels >= 3.10.30 and >= 3.12.11
........
r5312 | bvassche | 2014-02-25 12:59:54 +0200 (Tue, 25 Feb 2014) | 1 line
nightly build: Update kernel versions
........
r5315 | vlnb | 2014-02-26 04:32:39 +0200 (Wed, 26 Feb 2014) | 3 lines
Make internal memory layout more cache friendly
........
r5316 | vlnb | 2014-02-26 04:49:38 +0200 (Wed, 26 Feb 2014) | 5 lines
scst_vdisk: Make vendor, product ID and related fields configurable via sysfs
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
........
r5320 | bvassche | 2014-03-02 10:49:50 +0200 (Sun, 02 Mar 2014) | 1 line
Documentation spelling fix: change INQUERY into INQUIRY
........
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/iser@5321 d57e44dd-8a1f-0410-8b47-8ef2f437770f
468 lines
15 KiB
Plaintext
468 lines
15 KiB
Plaintext
Summary of changes between versions 2.1.0 and 3.0
|
|
-------------------------------------------------
|
|
|
|
- Update to kernels up to 3.3
|
|
|
|
- Zero copy read side FILEIO implemented
|
|
|
|
- New initialization scripts implemented
|
|
|
|
- Support for rotational attribute added
|
|
|
|
- Bug fixes and other improvements
|
|
|
|
|
|
Summary of changes between versions 2.0.0 and 2.1.0
|
|
---------------------------------------------------
|
|
|
|
- Update to kernels up to 3.0
|
|
|
|
- Support for implicit ALUA added
|
|
|
|
- Change T10 ID and USN generations to get the random part be CRC32
|
|
from the device name in the first 8 characters as many MPIO
|
|
implementations expect
|
|
|
|
- Assigning CPU affinity to threads and connections added
|
|
|
|
- Splitting of read/write CDBs for pass-through devices with sg_tablesize
|
|
and max_sectors limitations added to scst_disk
|
|
|
|
- Support for thin provisioning commands added in scst_vdisk
|
|
|
|
- Fix possible incorrect atomic context on exec stages
|
|
|
|
- Limit max tasklet commands via scst_max_tasklet_cmd global attribute
|
|
to prevent possible starvation under heavy load and in some cases
|
|
improve performance
|
|
|
|
- Autogenerated SCST target names made deprecated
|
|
|
|
- Custom parse improvements
|
|
|
|
- Logging improvements
|
|
|
|
- Bug fixes and other improvements
|
|
|
|
|
|
Summary of changes between versions 1.0.1 and 1.0.2
|
|
---------------------------------------------------
|
|
|
|
- Support for bidirectional transfers added
|
|
|
|
- REQUEST SENSE now can return the most recent sense
|
|
|
|
- READ CAPACITY(16) now reports number of logical blocks per physical
|
|
block
|
|
|
|
- Parameters scst_max_cmd_mem and scst_max_dev_cmd_mem as well as
|
|
vdisk's parameters num_threads and scst_vdisk_ID made visible through
|
|
/sys/module/scst and /sys/module/scst_vdisk correspondingly
|
|
|
|
- Shared between devices SGV caches were implemented
|
|
|
|
- Possibilities to operate with single size entries as well as control of
|
|
the reclamation time added to the SGV cache
|
|
|
|
- Issues cased by change of cdb_len to unsigned fixed.
|
|
|
|
- INIT ELEMENT STATUS WRANGE added to the list of known commands.
|
|
|
|
- Races on scst_user devices cleanup fixed
|
|
|
|
- Implemented abort on timeout of stuck in tgt hardware commands
|
|
|
|
- Automatic sessions reassignment implemented with corresponding atomic
|
|
management commands added
|
|
|
|
- Generation of INQUIRY DATA HAS CHANGED Unit Attention or AEN for
|
|
changed devices during automatic sessions reassignment added
|
|
|
|
- Requeue global Unit Attentions on delivery failure added
|
|
|
|
- Update for 2.6.30
|
|
|
|
- Other bug fixes and cleanups
|
|
|
|
|
|
Summary of changes between versions 1.0.0 and 1.0.1
|
|
---------------------------------------------------
|
|
|
|
- Support for descriptor sense format added
|
|
|
|
- Makefiles made more packager friendly (Ruben Laban)
|
|
|
|
- Support for variable length CDB added
|
|
|
|
- Support for Async. Event Notifications added
|
|
|
|
- Implemented "plug-and-play" notifications about new devices in security
|
|
groups, deleted devices from security groups and changed size of a
|
|
device. They can be delivered either through AENs (if supported), or
|
|
Unit Attentions.
|
|
|
|
- New command "resync_size" added to scst_vdisk proc interface to tell
|
|
scst_vdisk to reread size of the corresponding device after it was
|
|
changed
|
|
|
|
- Added pattern matching for initiator names in SCST access control
|
|
(Gennadiy Nerubayev)
|
|
|
|
- Now only sent for execution commands are counted to wait for in TM
|
|
commands, which made processing of TM commands faster
|
|
|
|
- Now devices blocked only in reset TM commands. ABORTs, etc. now done
|
|
without devices blocking.
|
|
|
|
- scst_unregister_session_ex() removed, since there are no users of it
|
|
|
|
- New functions added to scst_user interface:
|
|
|
|
* SCST_USER_UNREGISTER_DEVICE - to unregister device, flush mem reuse
|
|
(SGV) cache and send UCMD_STATE_ON_CACHE_FREEING notifications for all
|
|
freed buffers to the user space handler. Simple device close doesn't
|
|
allow that, so all the cached buffers might look as "leaked" from the
|
|
user space handler POV.
|
|
|
|
* SCST_USER_FLUSH_CACHE - to flush mem reuse (SGV) cache and send
|
|
UCMD_STATE_ON_CACHE_FREEING notifications for all freed buffers to
|
|
the user space handler
|
|
|
|
* SCST_USER_DEVICE_CAPACITY_CHANGED - to notify SCST core that the
|
|
corresponding device has changed its capacity
|
|
|
|
- Clustering of scst_user pages added
|
|
|
|
- Added autogenerated SCSI SN in vdisk handler
|
|
|
|
- Fixed race in scst_user, which could have lead to usage of already freed
|
|
command. A misbehaving user space handler could have made ucmd to get
|
|
dead immediately after the lock is released and that is caught
|
|
now.
|
|
|
|
- Support for CentOS 5.2 added (Bart Van Assche)
|
|
|
|
- In scst_vdisk new module parameter num_threads added to specify a
|
|
number of threads for each vdisk/vcdrom. Default is 5.
|
|
|
|
- Access control docs updated
|
|
|
|
- Set memory limits according to LOWMEM, not TOTALMEM
|
|
|
|
- Major performance increase working with disk based storage
|
|
|
|
- Now task_mgmt_fn() callback called for TARGET RESET and NEXUS LOSS
|
|
functions only once for tgt_dev, which belongs to the session, from
|
|
which the corresponding request came
|
|
|
|
- SGV cache related parameters moved from scst.h to scst_sgv.h
|
|
|
|
- Log level mgmt_minor for messages like "Warning: expected transfer
|
|
length X for opcode Y" changed to be disabled by default
|
|
|
|
- Added possibility to coexist if both target driver and dev handler
|
|
need custom memory allocation. Direct consequences: (1) scst_local
|
|
can work with scst_user's devices and (2) scst_user now compatible
|
|
with iscsi-scst if put_page_callback patch not applied.
|
|
|
|
- Depecated scst_cmd_get_tgt_resp_flags() removed
|
|
|
|
- SWP and TAS parameters made changable in vdisk handler
|
|
|
|
- External interface changed to fix usage of in_atomic(). Now target
|
|
drivers and dev handlers need to explicitly supply preferred execution
|
|
context in scst_cmd_done() and scst_tgt_cmd_done()
|
|
|
|
- Handling of internal REQUEST SENSE fixed.
|
|
|
|
- Fixed SAM violation (HiSup bit must be set in INQUIRY response)
|
|
|
|
- Fixed handling of VERIFY commands that comes with BYTCHK unset
|
|
|
|
- Handling of double reset UAs made more reliable
|
|
|
|
- A lot of kernel style, checkpatch and sparse fixes (Bart Van Assche)
|
|
|
|
- In-kernel build integration (Bart Van Assche)
|
|
|
|
- Update for kernels up to 2.6.29
|
|
|
|
- A lot of fixes and cleanups (many people)
|
|
|
|
|
|
Summary of changes between versions 0.9.5 and 1.0.0
|
|
---------------------------------------------------
|
|
|
|
- Added per-device memory limit and new scst.ko module parameter scst_max_dev_cmd_mem
|
|
|
|
- Sending REQUEST SENSE fixed
|
|
|
|
- Fixed possible incorrect command's retry if double RESET UA is detected.
|
|
|
|
- Fixed __exit misuse, when such functions called from __init functions.
|
|
|
|
- "RECEIVE DIAGNOSTIC RESULTS" command handling fixed
|
|
|
|
- Obtaining device queue parameters in scst_obtain_device_parameters()
|
|
changed to handle NOT READY sense
|
|
|
|
- Added possibility to create virtual removable devices
|
|
|
|
- Updated to work on 2.6.25.x
|
|
|
|
- Fixed READ POSITION command handling
|
|
|
|
- TM processing made independant from other TM commands (before it was serialized)
|
|
|
|
- Sense buffer made dynamic
|
|
|
|
- Clustering statistic added
|
|
|
|
- Updated to work on 2.6.24.x
|
|
|
|
- Version protection added
|
|
|
|
- Processing latency measurement facility added
|
|
|
|
- Sessions registration/unregistration made independant from other activities
|
|
|
|
- Major performance improvements
|
|
|
|
- Major task management handling improvements
|
|
|
|
- Updated to work on 2.6.23.x
|
|
|
|
- Switching between debug<->performance<->release builds added
|
|
|
|
- scsi_tgt renamed to scst, scsi_tgt.h renamed to scst.h
|
|
|
|
- Updated to work on 2.6.22.x
|
|
|
|
- Semaphores converted to mutexes
|
|
|
|
- 64-bit platform cleanups
|
|
|
|
- Added limit on maximum queued on a device commands
|
|
|
|
- Threads made per-device
|
|
|
|
- User space device handler added
|
|
|
|
- New SGV cache low memory management backend with memory flow control
|
|
facility was implemented, thanks to Krzysztof Blaszkowski.
|
|
|
|
- FILEIO was renamed to VDISK. BLOCKIO added to it, thanks to Ross S. W.
|
|
Walker and Vu Pham.
|
|
|
|
- Updated to work on 2.6.20.x, no update for 2.6.21.x isn't needed
|
|
|
|
- Internal locking and execution context were reimplemnted. As some of
|
|
the results now FILEIO has >1 IO threads and implemented full support
|
|
for SCSI task attributes (SIMPLE, ORDERED, etc.).
|
|
|
|
- Ability to have per-target default security groups added.
|
|
|
|
- Updated to work on 2.6.19.x, thanks to Ming Zhang.
|
|
|
|
- Internal threads management reimplemented based on kthread*() API,
|
|
thanks to Ming Zhang.
|
|
|
|
- /proc implementation moved to seq_*() library, thanks to Ming Zhang.
|
|
Target drivers need to be updated accordingly.
|
|
|
|
- Linear search in the LUN translation routines scst_translate_lun()
|
|
and scst_mgmt_translate_lun() was changed to a hash-based one.
|
|
|
|
- Building from the Linux kernel tree updated, inside kernel building fixed.
|
|
|
|
- Support for CPU cache flushing before doing DMA to target devices added.
|
|
|
|
- A lot of cleanups, bug fixes and improvements.
|
|
|
|
Summary of changes between versions 0.9.4 and 0.9.5
|
|
---------------------------------------------------
|
|
|
|
- Fixed many found task management related problems, especially in the
|
|
RESETs area. CONFIG_SCST_DEBUG_TM compilation option added (see README).
|
|
|
|
- Updated to work on kernels version 2.6.18+.
|
|
|
|
- FILEIO_ONLY added. If it's defined, there is no need to patch the
|
|
kernel, but pass-through modules (scst_disk, scst_tape, etc.) are not
|
|
supported).
|
|
|
|
- Fixed problems with big amount of LUNs (500+).
|
|
|
|
- Timer-based retries for targets after SCST_TGT_RES_QUEUE_FULL status
|
|
implemented.
|
|
|
|
- More intelligent IO flow control implemented.
|
|
|
|
- Fixed broken CDROM FILEIO. Before that it always reported
|
|
"No medium found"
|
|
|
|
- Data synchronization fixes and improvements in FILEIO. Added FUA
|
|
support.
|
|
|
|
- Fixed READ(6)/WRITE(6) CDB decoding for block devices.
|
|
This bug prevented FreeBSD initiators from working.
|
|
|
|
- Implemented sgv_pool. It is mempool-like interface, which caches
|
|
built SG-vectors in order not to rebuild them again for every
|
|
subsequent command, so saves performance price of building
|
|
SG-vectors, including pages allocation, and of additional context
|
|
switches.
|
|
|
|
- For ABORTED commands xmit_response() now called. A target driver
|
|
should recognized such commands using new function
|
|
scst_cmd_aborted(). Also there are some other cleanups, improvements
|
|
and interfaces changes that affect target drivers and dev handlers.
|
|
You can find their full list by diff'ing scsi_tgt.h between versions
|
|
0.9.4 and 0.9.5.
|
|
|
|
- Function alloc_data_buf() added to struct scst_tgt_template as well
|
|
as data_buf_tgt_alloc added to struct scst_cmd to allow a target
|
|
driver implement own memory management handler (by Arne Redlich).
|
|
|
|
- Exported symbols are now not GPL'ed
|
|
|
|
- Various cleanups and a lot of bug fixes.
|
|
|
|
Summary of changes between versions 0.9.3 and 0.9.4
|
|
---------------------------------------------------
|
|
|
|
- Support for 2.4 kernels has been removed
|
|
|
|
- Added on_free_cmd() callback for dev handlers
|
|
|
|
- Fixed BUG() on task aborts.
|
|
|
|
- Fixed WCE (Write Cache Enabled) handling in FILEIO (by Ming Zhang)
|
|
|
|
- Minor cleanups and bug fixes.
|
|
|
|
Summary of changes between versions 0.9.3-pre4 and 0.9.3
|
|
--------------------------------------------------------
|
|
|
|
- Fixed IO errors on initiators (return code 20008) under considerable
|
|
load, because of returned BUSY status. Now QUEUE FULL status returned
|
|
instead.
|
|
|
|
- Fixed "deadlock" on sessions creation.
|
|
|
|
- Fixed support for > 2TB storage device in FILEIO handler (by Ming Zhang)
|
|
|
|
- NULLIO added to FILEIO handler (by Ming Zhang)
|
|
|
|
- Commands serialization now per-(session, device), i.e. tgt_dev.
|
|
|
|
- Minor cleanups and bug fixes
|
|
|
|
Summary of changes between versions 0.9.3-pre2 and 0.9.3-pre4
|
|
-------------------------------------------------------------
|
|
|
|
- Sessions registration and unregistrations reimplemented. The
|
|
interface with target drivers changed (made much more simple, but
|
|
incompatible).
|
|
|
|
- Some kmalloc()'s converted to SLAB caches (by Nathaniel Clark)
|
|
|
|
- Too low timeouts for management operations in scst_disk were
|
|
increased
|
|
|
|
- Cleanups and bug fixes, including several race-based crashes
|
|
|
|
Summary of changes between versions 0.9.3-pre1 and 0.9.3-pre2
|
|
-------------------------------------------------------------
|
|
|
|
- Task management was considerably redone. Particularly, now the result
|
|
of ABORT TASK is returned to remote initiator immediately, except if
|
|
the result of the aborted command is already started to be sent.
|
|
|
|
- Per-session commands serialization implemented as part of "device
|
|
blocking" cleanup.
|
|
|
|
- UA generating after MODE SELECT and LOG SELECT implemented
|
|
|
|
- CONFIG_SCST_STRICT_SERIALIZING compile-time option added for those who need
|
|
the most robust task management and willing to pay some performance cost for
|
|
that (see README)
|
|
|
|
- IRQ spinlocks were replaced by BH ones, where appropriate.
|
|
|
|
- Ability to change ISO image on the fly in CDROM FILEIO module added
|
|
|
|
- Cleanups and bug fixes
|
|
|
|
Summary of changes between versions 0.9.2 and 0.9.3-pre1
|
|
--------------------------------------------------------
|
|
|
|
- Sophisticated per-initiator access and devices visibility management added
|
|
(different initiators now could see different set of devices with
|
|
different permissions)
|
|
|
|
- FILEIO dev handler was reimplemented in most areas, including:
|
|
|
|
* Management interface via /proc added
|
|
|
|
* Various defects using devices/files larger 2Gb were fixed. Thanks
|
|
to Mark Buechler.
|
|
|
|
* New CDROM FILEIO handler added.
|
|
|
|
* Now per-session threads created to improve concurrent performance.
|
|
|
|
* New flags added that allow using virtual devices as read only,
|
|
with write through caching or in O_DIRECT mode.
|
|
|
|
* Task management support added.
|
|
|
|
- RAID controller (type 0xC) dev handler added.
|
|
|
|
- SCSI processor (type 3) dev handler added.
|
|
|
|
- Sessions unregistration contexts cleanup.
|
|
|
|
- Dev handler's on_free_cmd() was dropped. Target driver's flag
|
|
"thread_per_session" was dropped as well.
|
|
|
|
- Internal locking partially redone.
|
|
|
|
- A lot of stability/bug fixes, cleanups and performance improvements.
|
|
|
|
Summary of changes between versions 0.9.1 and 0.9.2
|
|
---------------------------------------------------
|
|
|
|
- 2.6 support, developed and tested on 2.6.7.
|
|
|
|
- FILEIO/BLKDEV virtual disk device handler added. See main README for
|
|
details.
|
|
|
|
- /proc updates, "trace_log_level" entry added to change traced
|
|
events on the fly.
|
|
|
|
- Some internal interfaces changed, see the documentation.
|
|
|
|
- Device handlers' source code layout changed, all device handlers
|
|
live in one subdirectory now.
|
|
|
|
- Crash on memory allocation failure while building SG data vector
|
|
fixed.
|
|
|
|
- Other minor fixes
|
|
|
|
Summary of changes between versions 0.9.0a and 0.9.1
|
|
----------------------------------------------------
|
|
|
|
- scst_debug.* files are also installed together with scsi_tgt.h
|
|
(required by QLA2x00 target and could be useful for other target
|
|
drivers)
|
|
|
|
- CDB length for unknown commands (e.g. vendor ones) is now determined
|
|
from CDB
|
|
|
|
- Race with the commands serialization on one drive fixed
|
|
|
|
- Cleanup
|
|
|