<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="Keywords" content="SCSI targets comparison, iSCSI targets comparison">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SCSI Targets Comparison</title>
</head>

<body>
<!-- wrap starts here -->
<div id="wrap">
	<div id="header">
		<div class="logoimg"></div><h1 id="logo"><span class="orange">&nbsp;</span></h1>
		<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
	</div>

	<div id="menu">
		<ul>
			<li><a href="index.html">Home</a></li>
			<li><a href="https://github.com/SCST-project/scst">Main</a></li>
			<li><a href="https://github.com/SCST-project/scst/releases">News</a></li>
			<li><a href="targets.html">Drivers</a></li>
			<li><a href="downloads.html">Downloads</a></li>
			<li><a href="contributing.html">Contributing</a></li>
			<li id="current"><a href="comparison.html">Comparison</a></li>
			<li><a href="users.html">Users</a></li>
		</ul>
	</div>

	<!-- content-wrap starts here -->
	<div id="content-wrap">
			<div id="sidebar">
				<h1>Comparison</h1>
				<ul class="sidemenu">
					<li><a href="comparison.html">Features comparison</a></li>
					<li><a href="scstvslio.html">SCST vs LIO/TCM</a></li>
					<li><a href="scstvsstgt.html">SCST vs STGT</a></li>
					<li><a href="mc_s.html">MC/S vs MPIO</a></li>
				</ul>
			</div>

			<div id="main">
				<h1>Features comparison between Linux SCSI targets</h1>

				<p>This features comparison is intended to be a complete and fair feature-by-feature
				comparison between the listed targets without any bias to SCST. If you see anything
				wrong somewhere or anything missed, you are welcome to report it in scst-devel
				mailing list and it will be corrected.
				</p>

				<p>Also Sebastian Riemer wrote a good summary in <a href="http://sourceforge.net/mailarchive/message.php?msg_id=30688206" rel="nofollow">his e-mail</a> (April 2013)</p>

				<p><small>As on June 2011, briefly reviewed April 2013.</small></p>

<table bgcolor="#F0F0F0" border="1" cellspacing="1" cellpadding="7" style="text-align:center" width="620" summary="">

<tr>
<td>
</td><td><b><a href="http://scst.sourceforge.net/" title="http://scst.sourceforge.net/" rel="nofollow">SCST</a></b>
</td><td><b><a href="http://stgt.sourceforge.net/" title="http://stgt.sourceforge.net/" rel="nofollow">STGT</a></b>
</td><td><b><a href="http://iscsitarget.sourceforge.net/" title="http://iscsitarget.sourceforge.net/" rel="nofollow">IET</a></b>
</td><td><b><a href="scstvslio.html">LIO/TCM</a></b>
</td></tr>

<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>General</b>
</td></tr>
<tr>
<td align="left"><b>Upstream kernel</b></td>				<td> - </td>		<td> - </td>		<td> - </td>		<td> <a href="scstvslio.html">Since 2.6.38</a></td>
</tr>
<tr>
<td align="left"><b>Generic Target Engine</b></td>			<td> + </td>		<td> + </td>		<td> iSCSI only </td>	<td> + </td>
</tr>
<tr>
<td align="left"><b>Architecture</b></td>				<td> Kernel only</td>	<td> User space only </td> <td> Split <sup>
															   <A HREF="#1">1</A>
															   </sup> </td>		<td> Kernel only </td>
</tr>
<tr>
<td align="left"><b>Stability</b></td>					<td> + </td>		<td> + </td>		<td> + </td>		<td> Probably </td>
</tr>
<tr>
<td align="left"><b>Performance <sup><A HREF="#2">2</A></sup></b></td>	<td> ***** <sup>
									<A HREF="#3">3</A>
									</sup></td>		<td> ***</td>		<td> **** </td>		<td> ****- </td>
</tr>
<tr>
<th align="left"> Zero-copy passing data between target and
backend drivers</th>							<td> + <sup>
									<A HREF="#4">4</A>
									</sup></td>		<td> + <sup>
												<A HREF="#5">5</A>
												</sup> </td>		<td> + </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Support for transports without expecting
transfer values (Wide (parallel) SCSI, SAS)</b></td>			<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Interface with user space</b></td>			<td> SysFS (or obsolete
									ProcFS)</td>		<td> Custom </td>	<td> - </td>		<td> ConfigFS/IOCTL/ProcFS </td>
</tr>


<tr bgcolor="#E0E0E0">
<td colspan="5"><b>Features</b>
</td></tr>
<tr>
<td align="left"><b>Target drivers in kernel space</b></td>		<td> + </td>		<td> - </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Target drivers in user space</b></td>		<td>Via scst_local (e.g.
									 using STGT
									 pass-through)</td>	<td> + </td>		<td> - </td>		<td>Via tcm_loop (e.g.
																		 using STGT pass-through)</td>
</tr>
<tr>
<td align="left"><b>Backstorage handlers in kernel space</b></td>	<td> + </td>		<td> - </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Backstorage handlers in user space</b></td>		<td>+</td>		<td> + </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Advanced devices access control
<sup><A HREF="#7">7</A></sup></b></td>				<td> + </td>		<td> - </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Automatic sessions reassignment (changes in the
access control immediately seen by initiators)</b></td>		<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Support for Asynchronous Event Notifications
(AEN)</b></td>								<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Notifications for devices added/removed or
resized through AENs or Unit Attentions (initiators can instantly see
any target reconfiguration in a PnP-like manner)</b></td>		<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Bidirectional Commands</b></td>			<td> +</td>		<td> + </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Extended CDB (size >16 bytes)</b></td>		<td> +</td>		<td> + </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Descriptor sense support</b></td>			<td> + </td>		<td> + </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>RESERVE/RELEASE
(Windows 2003 clustering)</b></td>					<td> + </td>		<td> + </td>		<td> + </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Safe RESERVE/RELEASE implementation according to
SCSI requirements <sup><A HREF="#9">9</A></sup></b></td>		<td> Safe </td>		<td> Safe </td>		<td> Safe from
															v1.4.18</td>		<td> Not safe </td>
</tr>
<tr>
<td align="left"><b>Safe implementation of Task Management commands
<sup><A HREF="#10">10</A></sup></b></td>				<td> Safe </td>		<td> Not safe </td>	<td> Not safe </td>	<td> LUN RESET - safe.
																		Other TM commands not
																		implemented. </td>
</tr>
<tr>
<td align="left"><b>Support for SCSI task attributes, including
ORDERED commands</b></td>						<td> + </td>		<td> + </td>		<td> -, <br> data
															corruption possible
															<sup><A HREF="#11">
															11</A></sup></td>	<td>  -, <br>data
																		corruption possible
																		<sup><A HREF="#11">
																		11</A></sup> </td>
</tr>
<tr>
<td align="left"><b>Persistent (SCSI-3) Reservations
(Windows 2008 clustering / RHEL5 I/O fencing)</b></td>			<td> + </td>		<td> + <br> (not all
												functionality
												implemented)</td>	<td> - </td>		<td> + </td>
<tr>
<td align="left"><b>Durable, i.e. transactional, save of Persistent
Through Power Loss Persistent Reservation data</b></td>			<td> Durable </td>	<td>Not supported</td>	<td> - </td>		<td> Not durable </td>
</tr>
<tr>
<td align="left"><b>ALUA</b></td>					<td> +/- (Implicit
									only)<sup>
									<A HREF="#19">19</A>
									</sup> </td>		<td> - </td>		<td> - </td>		<td> +/-<sup><A HREF="#19">
																		19</A></sup></td>
</tr>
<tr>
<td align="left"><b>Failover Clustering</b></td>			<td> + </td>		<td> + </td>		<td> + </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Different threading models to choose the best
performing</b></td>							<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>CPU affinity control</b></td>			<td> + </td>		<td> - </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>I/O context grouping between I/O threads (big
performance win with CFQ)</b></td>					<td> + </td>		<td> - </td>		<td> + </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Per-initiator I/O context grouping (big
performance and fairness win if several initiators access the same
virtual or backend device on the target)</b></td>			<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Protection against commands with
wrong transfer size or transfer direction (may lead to crash or
hard lockup of the target)</b></td>					<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Protection against crashing target by making it
to allocate too much memory for buffers and go into OOM state
</b></td>								<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Caching of allocated buffers</b></td>		<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Latencies measurement facility</b></td>		<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Configuration tool with ability to automatically
apply changes in the config file on fly without any restarts</b></td>	<td> scstadmin </td>	<td> - </td>		<td> - </td>		<td> rtsadmin? </td>
</tr>
<tr>
<td align="left"><b>SCSI MIBs</b></td>					<td> - </td>		<td> - </td>		<td> - </td>		<td>  +-
																		<sup><A HREF="#12">12</A></sup></td>
</tr>


<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>Supported transports and hardware</b>
</td></tr>
<tr>
<td align="left"><b>iSCSI</b></td>					<td> + </td>		<td> + </td>		<td> + </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>QLogic (Fibre Channel and FCoE)</b></td>		<td> + </td>		<td> - </td>		<td> - </td>		<td> +</td>
</tr>
<tr>
<td align="left"><b>Emulex (Fibre Channel and FCoE)</b></td>		<td> + </td>		<td> - </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>SRP</b></td>					<td> + </td>		<td> - </td>		<td> - </td>		<td> Preliminary </td>
</tr>
<tr>
<td align="left"><b>iSER</b></td>					<td> + </td>		<td> + </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Marvell (SAS)</b></td>				<td> Beta </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>FCoE</b></td>					<td> + </td>		<td>Under
									 			 development</td>	<td> - </td>		<td> Alpha </td>
</tr>
<tr>
<td align="left"><b>LSI (Parallel (Wide) SCSI and Fibre Channel)
</b></td>								<td> Alpha </td>	<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>LSI (SAS)</b></td>					<td> Preliminary
									(not completed) </td>	<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Local access to emulated backstorage devices
<sup><A HREF="#6">6</A></sup></b></td>					<td> scst_local </td>	<td> - </td>		<td> - </td>		<td> tcm_loop </td>
</tr>
<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>Supported backstorage</b>
</td></tr>
<tr>
<td align="left"><b>Kernel side FILEIO</b></td>				<td> + </td>		<td> - </td>		<td> + </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Kernel side BLOCKIO</b></td>			<td> + </td>		<td> - </td>		<td> + </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>User space FILEIO</b></td>				<td> + </td>		<td> + </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>O_DIRECT FILEIO</b></td>				<td> fileio_tgt </td>	<td> + </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Async FILEIO</b></td>				<td> - </td>		<td> + </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Native RAMDISK</b></td>				<td> - </td>		<td> - </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>SCSI pass-through
	<sup><A HREF="#13">13</A></sup></b></td>			<td> + </td>		<td> Single
												initiator only, not
												enforced<sup>
												<A HREF="#14">14</A>
												</sup> </td>		<td> - </td>		<td> Single initiator only, not enforced,
																		limited functionality for tapes
																		<sup><A HREF="#14">14</A></sup></td>
</tr>
<tr>
<td align="left"><b>Zero-copy data read/write to/from backstorage
</b></td>								<td>BLOCKIO, user space
									FILEIO in O_DIRECT mode,
									pass-through <sup>
									<A HREF="#15">15</A>
									</sup></td>		<td> - <sup>
												<A HREF="#5">5</A>
												</sup> </td>		<td> BLOCKIO </td>	<td> BLOCKIO, pass-
									                                                                        through </td>
</tr>
<tr>
<td align="left"><b>Cache safe<sup><A HREF="#8">8</A></sup>
FILEIO</b></td>								<td> Safe </td>		<td>Safe only RDWR
												 backend</td>		<td> Safe </td>		<td> Safe </td>
</tr>
<tr>
<td align="left"><b>Cache safe<sup><A HREF="#8">8</A></sup>
BLOCKIO</b></td>							<td> Safe </td>		<td> - </td>		<td> Not safe </td>	<td> Safe </td>
</tr>
<tr>
<td align="left"><b>4k sectors support in pass-through mode</b></td>	<td> + </td>		<td> - </td>		<td> - </td>		<td> ? </td>
</tr>
<tr>
<td align="left"><b>4k, 2k, 1k and 512 byte sectors emulation
in modes, other than pass-through</b></td>				<td> + </td>		<td> + </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Virtual CD devices emulation from ISO files
</b></td>								<td> + </td>		<td> + </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Possibility to write to emulated from ISO files
CD devices</b></td>							<td> - </td>		<td> + </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Emulation of virtual tape and media changer
devices (VTL)</b></td>							<td> - </td>		<td>Experimental</td>	<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Thin provisioning support</b></td>			<td>+<br></td>		<td> ? </td>		<td> - </td>		<td> + </td>
</tr>

<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>iSCSI Target</b>
</td></tr>
<tr>
<td align="left"><b>Architecture</b></td>				<td> Split <sup>
									<A HREF="#1">1</A>
									</sup> </td>		<td> User space
												only </td>		<td> Split <sup>
															<A HREF="#1">1</A>
															</sup></td>		<td> Kernel only </td>
</tr>
<tr>
<td align="left"><b>Interface with user space</b></td>			<td>SysFS (or obsolete
									ProcFS)/
									IOCTL/Netlink</td>	<td> - </td>		<td>IOCTL/ProcFS/
															Netlink</td>	<td> ConfigFS/IOCTL/ProcFS </td>
</tr>
<tr>
<td align="left"><b>Zero-copy data send/receive</b></td>		<td> Send only<sup>
									<A HREF="#16">16</A>
									</sup> </td>		<td> In some cases,
												send only <sup>
												<A HREF="#5">5</A>
												</sup> </td>		<td> Send only</td>	<td> Send only </td>
</tr>
<tr>
<td align="left"><b><a href="mc_s.html">Multiple connections per
session (MS/C)</a></b></td>						<td> - </td>		<td> - </td>		<td>+</td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Max ErrorRecoveryLevel</b></td>			<td> 0 </td>		<td> 0 </td>		<td> 0 </td>		<td> 2 </td>
</tr>
<tr>
<td align="left"><b>Support for limiting number of initiators
allowed to connect to a target</b></td>					<td> + </td>		<td> - </td>		<td> + </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Per-portal targets visibility control</b></td>	<td> + </td>		<td> - </td>		<td> + </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Per-initiators targets visibility control</b></td>	<td> + </td>		<td> + </td>		<td> + </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Support for AHS</b></td>				<td> + </td>		<td> + </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Support for iSCSI redirects</b></td>		<td> + </td>		<td> + </td>		<td> + </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Bidirectional Commands</b></td>			<td> + </td>		<td> + </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Extended CDB (size >16 bytes)</b></td>		<td> + </td>		<td> + </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Support for AENs (initiators can instantly see any
target reconfiguration in a PnP-like manner)</b></td>			<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Support for iSNS</b></td>				<td> + </td>		<td> + </td>		<td> + </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Safe implementation of Task Management commands
<sup><A HREF="#10">10</A></sup></b></td>				<td> Safe </td>		<td> Not safe </td>	<td> Not safe </td>	<td> ABORT TASK - not safe,
																		LUN RESET - safe,
																		other TM commands not
																		implemented. </td>
</tr>
<tr>
<td align="left"><b>Safe implementation of connections and sessions
reinstatement <sup><A HREF="#17">17</A></sup></b></td>			<td> Safe </td>		<td> Not safe </td>	<td> Not safe </td>	<td> Not safe </td>
</tr>
<tr>
<td align="left"><b>Usage of hardware instructions for digest
calculations, if available</b></td>					<td> + </td>		<td> - </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Each connection multithreaded digest calculation
</b></td>								<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
<tr>
<td align="left"><b>Safe restart <sup><A HREF="#18">18</A></sup>
</b></td>								<td> Safe </td>		<td> ? </td>		<td> Not safe before
															v1.4.18. After -
															probably safe.</td>	<td> ?</td>
</tr>
<tr>
<td align="left"><b>iSCSI MIBs</b></td>					<td> - </td>		<td> - </td>		<td> - </td>		<td> +-
																		<sup><A HREF="#12">12</A></sup></td>
</tr>
<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>Local access target</b>
</td></tr>
<tr>
<td align="left"><b>Bidirectional support</b></td>			<td> + </td>		<td> - </td>		<td> - </td>		<td> + </td>
</tr>
<tr>
<td align="left"><b>Support for AENs (initiators can instantly see any
target reconfiguration in a PnP-like manner)</b></td>			<td> + </td>		<td> - </td>		<td> - </td>		<td> - </td>
</tr>
</table>

<br>
<p><strong><big><u>REMARKS:</u></big></strong></p>

<p><A NAME="1"></A> 1. All iSCSI management implemented in user space and actual data transfers in kernel space without user space involved.</p>

<p><A NAME="2"></A> 2. The result "in average" is listed. One target can be better somewhere, another one somewhere else. Although manual tuning of target and
		       system parameters tends the restore the difference listed in the comparison. You can find example measurements <a href="vl_res.txt">here</a>,
		       <a href="bart_res.txt">here</a> and <a href="tomasz_res.txt">here</a>.</p>

<p><A NAME="3"></A> 3. All SCST and its drivers' kernel patches supposed to be applied and SCST with the drivers built in the release or performance build.
		       Without the kernel patches SCST performance will be at "****+" level, except for the case, when user space backstorage handler used
		       with iSCSI-SCST iSCSI target driver, where performance will be at "***+" level.</p>

<p><A NAME="4"></A> 4 In SCST data are always passed in zero-copy manner between target and backend drivers without need for any
		       additional kernel patches, except in case, when local access (scst_local) used with user space backend. </p>

<p><A NAME="5"></A> 5. Some zero-copy functionality isn't available from user space, sometimes fundamentally.
		       For instance, zero-copy FILEIO with page cache or zero-copy send to a socket. Also STGT can't use splice() for in-kernel
		       target drivers, because it has memory management in user space. To use splice() with socket-based user space target drivers
		       STGT would need a deep redesign of internal interactions between target drivers, core and backend handlers. But in
		       some cases STGT can use zero-copy sendfile().</p>

<p><A NAME="6"></A> 6. "Local access to emulated backstorage devices" means that you can access emulated by a SCSI target devices
		       locally on the target host. For instance, you can mount your ISO image from emulated by the target
		       CDROM device locally on the target host.</p>

<p><A NAME="7"></A> 7. "Advanced devices access control" means that different initiators can see different sets
		       of devices from the same target. This feature is required for hardware targets, which don't have ability
		       to create virtual targets.</p>

<p><A NAME="8"></A> 8. "Cache safe" means that cache synchronization commands (SYNCHRONIZE_CACHE and FUA attribute) from initiators perform
			what they expected to perform, i.e. push all the requested blocks from all caches, including devices' caches,
			to non-volatile media.</p>

<p><A NAME="9"></A> 9. SCSI requires that if an initiator clears reservation held by another initiator, the reservation holder must be notified
		       about the reservation clearance. Otherwise, several initiators can at the same time change supposed to be protected by the
		       reservation data, which can corrupt them. This is what was called
		       <a href="http://communities.vmware.com/thread/53797?tstart=0&amp;start=15">"Russian roulette with your data"</a> on the VMware
		       community forum by someone working for VMware. But, sure, it can affect not only VMware, but also any other cluster
		       implementation, relying on this functionality.</p>

<p><A NAME="10"></A> 10. After a task management command completed and before the corresponding response was sent to the initiator, who sent that task management
		       command, all the affected SCSI commands must get into a state, where they can't affect following after
		       the tasks management response commands from this initiator. This is the safe implementation.
		       The unsafe implementation only marks all the affected
		       SCSI commands as aborted and then immediately send task management response to the initiator. This implementation only
		       guarantees that the initiator will never receive responses from those commands, but it doesn't
		       guarantee that none of those commands will get executed by backstorage <strong>*AFTER*</strong> any
		       SCSI command, which initiator will send after it received the task management response thinking
		       that all the aborted commands actually fully aborted. This could lead to a data corruption.</p>

<p><A NAME="11"></A> 11. Both IET and LIO report in INQUIRY command response support for full task management model. But they process ORDERED
			commands the same way as SIMPLE commands, i.e. allow free reorder of them before they get executed. That violates SCSI standard
			and can lead to a data corruption to any application relying on commands order provided by ORDERED attribute.</p>

<p><A NAME="12"></A> 12. LIO exports the information needed for an RFC 4455 implementation, but requires additional RFC 4455 implementing module.
			 At the moment, there is no open source implementation of such module.</p>

<p><A NAME="13"></A> 13. SCSI pass-through mode allows to export your local SCSI-capable device. For instance with it you can share your parallel
			SCSI tape or SATA DVD-RW device to your iSCSI network.</p>

<p><A NAME="14"></A> 14. STGT and LIO don't emulate all the necessary SCSI host functionality to allow to share SCSI devices
		       in pass-through mode to several initiators, although LIO has some necessary processing, but not all.
		       They can only pass SCSI commands from initiators to
		       SCSI devices and responses back. This is safe only with a single initiator. This limitation
		       isn't enforced anyhow and both STGT and LIO don't issue any warning about it, so an user will not be notified about this
		       limitation and can quietly corrupt his/her data. You can find more technical information about it
		       <a href="http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg06911.html">here</a>.
		       Also LIO in pass-through mode doesn't do necessary sense processing for tape devices to
		       correctly return residual information, so tapes can used with it with limited functionality.</p>

<p><A NAME="15"></A> 15. You can find a proposal how to implement zero-copy FILEIO in SCST on the <a href="contributing.html#ZC_READ">
		       Contributing</a> page.</p>

<p><A NAME="16"></A> 16. Doesn't need any kernel patch, except in the case, when used with user space backend.</p>

<p><A NAME="17"></A> 17. Connections and sessions reinstatement is, basically, a kind of Task Management command, because it implies commands aborting.
		       So, similarly to the safe task management above, a safe implementation of connections and sessions reinstatement
		       must not accept SCSI commands from new connection/session until all the SCSI commands in
		       being reinstated connection/session get into a state, where they can't affect new commands.</p>

<p><A NAME="18"></A> 18. "Safe restart" means that after the iSCSI target restart, all the connected initiators will seamlessly restore all existing before
			the restart connections. "Not safe" means that, most likely, the connected initiators will fail to restore
			existing connections with some errors. However, your iSCSI initiator also should be able to handle the safe restart. For instance,
			old (pre-CentOS/RHEL 5) open-iscsi has problems in this area. But the latest versions do it pretty well.</p>

<p><A NAME="19"></A> 19. Generic implementation, i.e. not coupled to any particular cluster implementation, which means it is needed additional effort
			to used with each particular cluster setup.</p>

	  		</div>
	</div>
</div>
<!-- wrap ends here -->
<!-- footer starts here -->
<div id="footer">
	<p>&copy; Copyright 2004 - 2021 <b><font color="#EC981F">Vladislav Bolkhovitin, Bart Van Assche &amp; others</font></b>&nbsp;&nbsp;
	   Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://apps.sourceforge.net/piwik/scst/" : "http://apps.sourceforge.net/piwik/scst/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
piwik_action_name = '';
piwik_idsite = 1;
piwik_url = pkBaseURL + "piwik.php";
piwik_log(piwik_action_name, piwik_idsite, piwik_url);
</script>
<object><noscript><p><img src="http://apps.sourceforge.net/piwik/scst/piwik.php?idsite=1" alt="piwik"></p></noscript></object>
<!-- End Piwik Tag -->
</body>
</html>
