Files
scst/usr/fileio
Vladislav Bolkhovitin cb1d6bdf63 Merged revisions 6977,6979-6980,6984-6986,6990-6992,6994,6997,7006-7009 via svnmerge from
svn://svn.code.sf.net/p/scst/svn/trunk

........
  r6977 | bvassche | 2016-08-23 08:42:41 -0700 (Tue, 23 Aug 2016) | 5 lines
  
  isert-scst: More MOFED 3.3 fixes for kernel versions >= 4.6.0
  
  This is a slightly modified version of a patch from
  Israel Rukshin <israelr@mellanox.com>.
........
  r6979 | vlnb | 2016-08-23 19:02:28 -0700 (Tue, 23 Aug 2016) | 5 lines
  
  scst: cleanup
  
  Reported-By: Curtis Maloney <curtis@tinbrain.net>
........
  r6980 | vlnb | 2016-08-23 19:05:03 -0700 (Tue, 23 Aug 2016) | 5 lines
  
  iscsi: convert recently added BUG_ON() to EXTRACHECKS_BUG_ON()
  
  This check is rather debug check, so should belong to debug build only
........
  r6984 | vlnb | 2016-09-19 20:10:30 -0700 (Mon, 19 Sep 2016) | 5 lines
  
  scst_sysfs: better return value when trying to create an acg that already exists
  
  Signed-off-by: Erez Zilber <erezzi.list@gmail.com>
........
  r6985 | vlnb | 2016-09-22 20:04:16 -0700 (Thu, 22 Sep 2016) | 5 lines
  
  scst_vdisk: added parameter cluster_mode to nullio device handler
  
  Signed-off-by: Kirill Tyushev <kirill.tyushev8@gmail.com>
........
  r6986 | bvassche | 2016-10-03 15:00:52 -0700 (Mon, 03 Oct 2016) | 6 lines
  
  scst/include/backport.h: Fix RHEL/CentOS 7 build
  
  RHEL 7 and CentOS 7 provide a definition of ktime_before(). Hence
  hide the ktime_before() definition on these Linux distro's.
........
  r6990 | bvassche | 2016-10-06 12:10:00 -0700 (Thu, 06 Oct 2016) | 3 lines
  
  scst_vdisk: Rename blockio_rw_sync() into blockio_read_sync()
........
  r6991 | bvassche | 2016-10-06 12:20:57 -0700 (Thu, 06 Oct 2016) | 2 lines
  
  scst: Port to Linux kernel v4.8
........
  r6992 | bvassche | 2016-10-06 17:22:47 -0700 (Thu, 06 Oct 2016) | 1 line
  
  scstadmin: Sort group and device group names alphabetically
........
  r6994 | bvassche | 2016-10-06 17:45:18 -0700 (Thu, 06 Oct 2016) | 1 line
  
  scst_vdisk: Use op_is_write() instead of comparing with REQ_OP_WRITE
........
  r6997 | vlnb | 2016-10-07 16:34:34 -0700 (Fri, 07 Oct 2016) | 3 lines
  
  SCST README: clarification
........
  r7006 | vlnb | 2016-10-10 20:06:41 -0700 (Mon, 10 Oct 2016) | 5 lines
  
  scst: fix tapes handling with Windows initiators
  
  Reported and tested by Florian Gall <florian@enterprize.dyndns.info>
........
  r7007 | vlnb | 2016-10-10 20:30:54 -0700 (Mon, 10 Oct 2016) | 3 lines
  
  fileio_tgt: fix debug output
........
  r7008 | vlnb | 2016-10-11 18:27:42 -0700 (Tue, 11 Oct 2016) | 5 lines
  
  README.drbd: update to point to README.dlm for reservations sync
  
  Suggested-by: Curtis Maloney <curtis@tinbrain.net>
........
  r7009 | vlnb | 2016-10-13 18:30:17 -0700 (Thu, 13 Oct 2016) | 6 lines
  
  iscsi-scst: fix false positive BUG_ON()
  
  It's false positive, because responses live in the parent request's list
  until last put for the parent.
........


git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.2.x@7010 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-10-14 01:58:55 +00:00
..
2011-04-06 12:28:40 +00:00
2016-01-22 04:04:43 +00:00
2011-03-29 19:14:02 +00:00
2015-11-06 03:40:37 +00:00
2016-01-22 04:04:43 +00:00
2016-04-20 02:48:28 +00:00
2016-08-03 02:24:57 +00:00

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

Version 3.2.x, XX XXXXX 2016
----------------------------

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