[ANNOUNCE]: SCST target drivers suit 1.0.1 development freeze

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

I'm glad to announce that development of SCST drivers suit is frozen and ready for final testing before release, which is scheduled in few weeks time depending from amount of problems found during testing.

The SCST is an alternative implementation of SCSI target subsystem for Linux. It provides unified, consistent interface between SCSI target drivers and Linux kernel and simplifies target drivers development.

SCST allows creation of sophisticated storage devices, which provide advanced functionality, like replication, thin provisioning, deduplication, high availability, automatic backup, etc. Another class of such devices are Virtual Tape Libraries (VTL) as well as other disk-based backup solutions. SCST created devices not limited by IP network interface only, but they can use any link supporting SCSI-style data exchange, including Fibre Channel, SAS and parallel SCSI. It might well be that your favorite storage appliance running SCST in the firmware.

SCST suit consists of a set of subprojects: SCST core itself with a set of device handlers as well as target drivers and user space utilities. Particularly, it has target drivers for iSCSI, QLogic qla2xxx cards and InfiniBand SRP. You can find more info about it on SCST home page http://scst.sourceforge.net.

SCST aims to be included in the mainline kernel. You can find the first iteration of SCST patches review in http://lkml.org/lkml/2008/12/10/245.

You can download SCST target drivers suit 1.0.1 by running a command:

$ svn co https://scst.svn.sourceforge.net/svnroot/scst/branches/1.0.1.x

Summary of changes in SCST core 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 Asynchronous 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.

 - Deprecated scst_cmd_get_tgt_resp_flags() removed

 - SWP and TAS parameters made changeable 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 in iSCSI-SCST between versions 1.0.0 and 1.0.1
-----------------------------------------------------------------

 - Support for variable length CDB added

 - Sending and receiving padding bytes as well as sense data
   reimplemented to make it more reliable

 - Support for SCSI Asynchronous Event Notifications added

 - Sessions and connections reinstatement reimplemented to be conforming
   to iSCSI RFC

 - iscsi-scst-adm fixed

 - Removed artificial limitation of sg_tablesize. It isn't needed,
   because the regular iSCSI negotiated MaxRecvDataSegmentLength-related
   facilities do all the job pretty well.

 - Merge with IET r170-211:

   * Update MaxConnections documentation

   * Remove isns config description from man page

   * Check return values of chdir(), ftruncate() and write(), because
     recent versions of the glibc insist on the return value being
     checked by introducing __attribute__((warn_unused_result)) to these
     functions.

   * Fix snprintf use in isns.c

   * Take \0-termination into account when passing strings to
     isns_tlv_set() to solve incompatibility with MS iSNS 3.0 as IQN
     length is multiple of 4

   * Fix list corruption if SCST target registration fails

   * Register the target port actually used instead of the default iSCSI
     port.

   * Remove unused connection->pad

   * Refactor cmnd_execute()

   * Introduce min*/max*() and more list_* macros

   * Multipart PDU support for discovery sessions

   * Add support for Reject PDUs and make use of them in appropriate
     places.

   * Ignore SIGPIPE in iscsi-scstd

   * Allow removal of kernel target objects if the user space object
     does not exist

   * Use netlink_socket_release() to clean up netlink sockets correctly
     (taking care of namespaces)

   * More scalable proc seq_file implementation

   * Segfault in ietd buffer overrun in dump_line

   * Add iscsi-scst-adm support to display list of CHAP accounts and
     their data

   * Fixed compilation on glibc 2.8

   * Fix CHAP account handling bugs

   * Fix bugs in multi PDU handling code

 - Support for CentOS 5.2 added (Bart Van Assche)

 - Fixed NOP-Out with payload handling

 - Several minor iSCSI RFC violations fixed

 - Update for kernels up to 2.6.29

 - Zero-copy feature, introduced by put_page_callback patch made
   kernel compile time configurable via
   CONFIG_TCP_ZERO_COPY_TRANSFER_COMPLETION_NOTIFICATION option. If you
   upgrade from earlier versions, see the corresponding "[CAUTION]"
   e-mail in scst-devel mailing list about possible compatibility
   problems.

 - A lot of cleanups and minor fixes


Summary of changes in qla2x00t between versions 1.0.0 and 1.0.1
---------------------------------------------------------------

 - Update to initiator driver from 2.6.27

 - HOWTO added (Amit Mehta)

 - Fixed wrong sess_count decrement on session registration failure

 - Fixed possible oops in the initiator driver on the module unload

 - Updated to work on kernels up to 2.6.29

 - Other minor fixes


Summary of changes in SRPT between versions 1.0.0 and 1.0.1
-----------------------------------------------------------

 - Update for kernels up to 2.6.29

 - Fixed incorrect SCST state used on error path

 - Unneeded context switches during commands processing eliminated

 - Minor fixes and cleanups


Summary of changes in fileio_tgt between versions 1.0.0 and 1.0.1
-----------------------------------------------------------------

 - Added notification about device capacity change

 - Usage of new commands SCST_USER_UNREGISTER_DEVICE,
   SCST_USER_FLUSH_CACHE and SCST_USER_DEVICE_CAPACITY_CHANGED added

 - Sync with vdisk handler

 - Added autogenerated SCSI SN


Change logs for other modules have not updated yet, but going to be updated soon.

Thanks to all who made it happen!
Vlad
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux