<!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 target in user space">
<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>FILEIO Target SCST Handler</title>
</head>

<body>
<!-- wrap starts here -->
<div id="wrap">
	<div id="header">
		<div class="logoimg"></div><h1 id="logo"><span class="orange"></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="http://www.sourceforge.net/projects/scst">Main</a></li>
			<li><a href="http://sourceforge.net/news/?group_id=110471">News</a></li>
			<li id="current"><a href="targets.html">Drivers</a></li>
			<li><a href="downloads.html">Downloads</a></li>
			<li><a href="contributing.html">Contributing</a></li>
			<li><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>Target Drivers</h1>
				<ul class="sidemenu">
					<li><a href="target_iscsi.html">ISCSI-SCST with iSER</a></li>
					<li><a href="target_qla2x00t.html">QLogic FC qla2x00t</a></li>
					<li><a href="target_srp.html">SCSI RDMA Protocol (SRP)</a></li>
					<li><a href="target_mvsas.html">Marvell SAS adapters</a></li>
					<li><a href="target_emulex.html">Emulex FC/FCoE</a></li>
					<li><a href="target_lsi.html">LSI/MPT adapters</a></li>
					<li><a href="target_fcoe.html">FCoE Target</a></li>
					<li><a href="target_local.html">Local Target Driver</a></li>
					<li><a href="target_ibmvscsi.html">IBM pSeries Virtual SCSI</a></li>
					<li><a href="target_old.html">Old Unsupported</a></li>
				</ul>
				<h1>User utilities</h1>
				<ul class="sidemenu">
					<li><a href="scst_admin.html">SCST Admin Utility</a></li>
					<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
				</ul>
			</div>

			<div id="main">
				<h1>FILEIO_TGT handler</h1>

				<p>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.</p>

				<p>You can find the latest development version of this handler in the SCST SVN. See the download page how to setup
				access to it.</p>
				<p class="post-footer align-right">
					<a href="downloads.html" class="readmore">Download</a>
					<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
				</p>
	  		</div>
	</div>
</div>
<!-- footer starts here -->
<div id="footer">
	<p>&copy; Copyright 2004 - 2020 <b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
	Design by: <b><font class="names">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>
