Files
scst/usr/fileio
Yan Burman f704a4afee Merged revisions 5785-5786,5793-5796,5798,5801-5802,5804-5806,5808,5810-5811,5814,5816-5817 via svnmerge from
svn+ssh://yanb123@svn.code.sf.net/p/scst/svn/trunk

........
  r5785 | bvassche | 2014-09-09 14:09:20 +0300 (Tue, 09 Sep 2014) | 9 lines
  
  scst_local: Change max_lun into SCST_MAX_LUN (16383)
  
  Today SCST does not support LUN numbers >= 16384. Additionally,
  there is a bug in older Linux initiator systems that prevents
  proper handling of LUN numbers >= 2**32. See also Hannes Reinecke,
  scsi_scan: Fixup scsilun_to_int(), June 25, 2014 (commit ID
  d9e5d6183715e691b37afd3785c311d05cd1338d). Hence set max_lun to
  16383.
........
  r5786 | bvassche | 2014-09-09 14:27:27 +0300 (Tue, 09 Sep 2014) | 6 lines
  
  scst_local: Set max_id to 1
      
  The value 0 is not valid for the max_id member of struct Scsi_Host.
      
  Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
........
  r5793 | bvassche | 2014-09-10 14:42:54 +0300 (Wed, 10 Sep 2014) | 1 line
  
  scstadmin: Sync saved configuration files
........
  r5794 | bvassche | 2014-09-10 14:44:14 +0300 (Wed, 10 Sep 2014) | 2 lines
  
  scstadmin test 06-cont-on-err.t: Filter out scstadmin version number
........
  r5795 | bvassche | 2014-09-10 15:18:09 +0300 (Wed, 10 Sep 2014) | 1 line
  
  ib_srpt: Add max_sge_delta kernel module parameter
........
  r5796 | bvassche | 2014-09-10 15:20:30 +0300 (Wed, 10 Sep 2014) | 1 line
  
  ib_srpt: Update Subversion ignore lists
........
  r5798 | bvassche | 2014-09-12 14:16:35 +0300 (Fri, 12 Sep 2014) | 1 line
  
  fcst/Makefile: Add release-archive target
........
  r5801 | bvassche | 2014-09-12 14:20:16 +0300 (Fri, 12 Sep 2014) | 1 line
  
  fcst: Change version number from 0.3 into 3.1.0-pre
........
  r5802 | vlnb | 2014-09-13 04:13:29 +0300 (Sat, 13 Sep 2014) | 3 lines
  
  Fix autofinding SCST headers in fileio_tgt
........
  r5804 | vlnb | 2014-09-13 04:35:12 +0300 (Sat, 13 Sep 2014) | 3 lines
  
  Web updates
........
  r5805 | vlnb | 2014-09-13 04:37:12 +0300 (Sat, 13 Sep 2014) | 3 lines
  
  Update root README to use symlink instead of bind mount for QLogic git driver integration
........
  r5806 | bvassche | 2014-09-15 15:30:43 +0300 (Mon, 15 Sep 2014) | 1 line
  
  ib_srpt: Make "make -j<n> install" work for n >= 2 if "make all" has not been run first
........
  r5808 | bvassche | 2014-09-16 14:06:00 +0300 (Tue, 16 Sep 2014) | 6 lines
  
  scst/src/Makefile: Make "make install" without prior "make" work
      
  Avoid that MOD_VERS and MODS_VERS evaluate to an empty string.
      
  Reported-by: Yan Burman <yanb@mellanox.com>
........
  r5810 | bvassche | 2014-09-17 13:54:25 +0300 (Wed, 17 Sep 2014) | 1 line
  
  scst_vdisk: Insert a blank line
........
  r5811 | bvassche | 2014-09-17 13:56:40 +0300 (Wed, 17 Sep 2014) | 14 lines
  
  vdisk_blockio: Make large COMPARE AND WRITE requests work for stacked block devices
      
  Stacked block devices impose weird restrictions on S/G-lists. Hence
  make the COMPARE AND WRITE implementation independent of these
  restrictions.
      
  Additionally, reduce the MAXIMUM COMPARE AND WRITE LENGTH limit from
  0xff (no limit) to 0xfe to reduce the maximum amount of memory allocated
  during a COMPARE AND WRITE. Also serialize COMPARE AND WRITE
  operations, fix the offset reported for miscompares and fix the start
  offset of the region that is synchronized if the FUA bit has been set.
      
  Reported-by: Vishal Tripathi <vishal.tripathi@calsoftinc.com>
........
  r5814 | bvassche | 2014-09-18 10:08:49 +0300 (Thu, 18 Sep 2014) | 1 line
  
  nightly build: Update kernel versions
........
  r5816 | vlnb | 2014-09-20 09:31:43 +0300 (Sat, 20 Sep 2014) | 3 lines
  
  Web updates
........
  r5817 | bvassche | 2014-09-28 21:54:04 +0200 (Sun, 28 Sep 2014) | 1 line
  
  scripts/rebuild-rhel-kernel-rpm: Enable put_page_callback patch for RHEL 7
........


git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/iser@5819 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-09-29 08:31:12 +00:00
..
2011-04-06 12:28:40 +00:00
2011-03-29 19:14:02 +00:00
2014-01-28 05:12:15 +00:00
2014-01-28 05:12:15 +00:00

User space FILEIO handler
=========================

Version 3.1.0, XX XXXXX 2014
----------------------------

User space program fileio_tgt uses interface of SCST's scst_user dev
handler and allows to see how it works in various modes. Fileio_tgt
provides mostly the same functionality as the kernel space SCST's
scst_vdisk handler with the only exceptions that it supports O_DIRECT
mode and doesn't support BLOCKIO one. O_DIRECT mode is basically the
same as BLOCKIO, but also supports files, so for some loads it could be
significantly faster, than the regular FILEIO access. All the words
about BLOCKIO mode from SCST's README file apply to O_DIRECT mode as
well.

Installation
------------

Make sure you have installed SCST core, if not, see its README file for
details how to do it.

Then run "make all install"

For the best performance make sure you don't have any debug options
(i.e. lines like "CFLAGS += -DDEBUG" containing "-DDEBUG*" string)
enabled in the Makefile.

Usage
-----

Load scst_user module using modprobe or insmod, then start fileio_tgt
program. It can be used as the following:

fileio_tgt [OPTION] name path

Where:

 - OPTION - one or several not required options, see below.
 
 - name - name of the virtual device as it will be seen by SCST and used
   in the subsequent access management using the corresponding SCST interface.
   
 - path - path to the device file.

The following options are supported:

 -b or --block=size: block size, must be power of 2 and >=512

 -e or --threads=count: number of threads

 -t or --write_through: write through mode

 -r or --read_only: read only

 -o or --direct: O_DIRECT mode, see above for details

 -n or --nullio: NULLIO mode, see SCST's README file for details

 -c or --nv_cache: NV_CACHE mode, see SCST's README file for details

 -p or --parse=type: parse type, one of "std" (default), "call" or "excpt"

 -f or --on_free=type: on free call type, one of "ignore" (default) or "call"

 -m or --mem_reuse=type: Memory reuse type, one of "all" (default), "read",
  "write" or "none"

 -s or --prio_thread: Use separate thread for mgmt (prio) commands

 -l or --non_blocking: Use non-blocking operations

Also in the debug builds the following options are supported:

 -d or --debug=level: debug tracing level

 -g or --debug_tm_ignore: turn on DEBUG_TM_IGNORE, one of the task management
  debugging features

If you don't understand some these options, don't use them, default
values provide the best performance.

Vladislav Bolkhovitin <vst@vlnb.net>, http://scst.sourceforge.net