mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-14 09:11:27 +00:00
Web updates. Particularly, "Contributing" page was added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@509 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
164
www/contributing.html
Normal file
164
www/contributing.html
Normal file
@@ -0,0 +1,164 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta name="Keywords" content="Generic SCSI Target Middle Level for Linux" />
|
||||
<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>SCST: Generic SCSI Target Middle Level for Linux</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="wrap">
|
||||
<div id="header">
|
||||
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
|
||||
<h2 id="slogan">SCSI Target Middle Level for Linux</h2>
|
||||
</div>
|
||||
<div id="menu">
|
||||
<ul>
|
||||
<li id="sponsorship"><a href="sponsorship.html">Sponsorship</a></li>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</a></li>
|
||||
<li><a href="targets.html">Drivers</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li id="current"><a href="contributing.html">Contributing</a></li>
|
||||
<li><a href="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="content-wrap">
|
||||
<div id="main">
|
||||
<h1>Contributing to SCST</h1>
|
||||
|
||||
<p>If you would like to contribute to SCST development, you can do in many ways:
|
||||
|
||||
<ul>
|
||||
<li><span>By reporting bugs or other problems.</span></li>
|
||||
<li><span>By writing or updating various documentation to keep it complete and up to date.</span></li>
|
||||
<li><span>By sending patches, which fix bugs or implement new functionality.
|
||||
See below a list of possible SCST improvements with some possible
|
||||
implementation ideas.</span></li>
|
||||
<li><span>By sending donations. They would be spent on making SCST even better.
|
||||
</ul>
|
||||
|
||||
<h1>Possible SCST improvements</h1>
|
||||
|
||||
<h3>Zero-copy FILEIO for READ-direction commands</h3>
|
||||
|
||||
<p>At the moment, SCST in FILEIO mode uses standard Linux read() and write() syscalls paths,
|
||||
which copy data from the page cache to the supplied buffer and back. Zero-copy FILEIO
|
||||
would use page cache data directly. This would be a major performance improvement,
|
||||
especially for fast hardware, like Infiniband, because it would eliminate the data copy
|
||||
latency. This proposal is limited for READs only, because for WRITEs it is a lot harder to
|
||||
implement, so it is worth to do zero-copy for READs and WRITEs separately.
|
||||
|
||||
<p>The main idea is to add one more flag to filp_open() "flags" parameter
|
||||
(like O_RDONLY, O_DIRECT, etc.) O_ZEROCOPY, which would be available
|
||||
only if the caller is from the kernel space . In this case fd->f_op->readv(),
|
||||
do_sync_readv_writev(), etc. would receive as the pointer to data
|
||||
buffer not a real data buffer, but pointer to an empty SG vector. Then:
|
||||
|
||||
<ul>
|
||||
<li><span>Generic buffer allocation in SCST would not be used, instead vdisk_parse()
|
||||
would allocate the SG vector, but wouldn't fill it with actual pages.</span></li>
|
||||
|
||||
<li><span>In generic_file_aio_read(), if O_ZEROCOPY flag was set,
|
||||
function do_generic_file_read() would be called with the last parameter set
|
||||
to a pointer to new function file_zero_copy_read_actor() instead of file_read_actor().</span></li>
|
||||
|
||||
<li><span>Function file_zero_copy_read_actor() would be basically the same as
|
||||
file_read_actor(), but, instead of copy data using __copy_to_user*() functions,
|
||||
it would add the supplied page to the appropriate place in the received in
|
||||
desc->arg.buf SG vector and reference, i.e. page_get(), that page.</span></li>
|
||||
|
||||
<li><span>In vdisk_devtype.on_free_cmd(), which doesn't exist yet, all pages
|
||||
from the SG vector would be dereferenced, i.e. page_put(). Then the SG vector itself
|
||||
would be freed.</span></li>
|
||||
</ul>
|
||||
|
||||
<p>That's all. For WRITEs the current code path would remain unchanged.
|
||||
|
||||
<h3>Zero-copy FILEIO for WRITE-direction commands</h3>
|
||||
|
||||
<p>Implementation should be similar to zero-copy FILEIO for READ commands. All
|
||||
incoming data should be inserted in the page cache, then dereferenced in
|
||||
vdisk_devtype.on_free_cmd(). The main problem is insertion of data pages in the
|
||||
page cache, namely, locking issues related to it. They should be carefully
|
||||
investigated.
|
||||
|
||||
<h3>Persistent reservations</h3>
|
||||
|
||||
<p>Support for PERSISTENT RESERVE IN and PERSISTENT RESERVE OUT is required to
|
||||
work in many cluster environments, e.g. Windows 2003 Cluster.
|
||||
|
||||
<p>For implementation you should use scst_reserve_local() and
|
||||
scst_release_local() as a base. You should store all reservation keys
|
||||
for in files in /var/scst, one file per device
|
||||
(it would allow to eliminate additional locking), like
|
||||
/var/scst/boot_disk for device "boot_disk" and load them in memory, when
|
||||
device would be registered.
|
||||
|
||||
<p>In the first version it can be done for virtual
|
||||
devices only and reject PERSISTENT RESERVE IN and OUT commands for
|
||||
pass-through devices with "COMMAND NOT SUPPORTED" sense data.
|
||||
|
||||
<h3>Automatic sessions reassignment</h3>
|
||||
|
||||
<p>At the moment, if security name for an initiator reassigned (moved) to another security
|
||||
group, the existing sessions from that initiator are not automatically reassigned to
|
||||
the new security group, i.e. they remain in the old one. The only ways to reassign them
|
||||
are either sessions restart, or restart of the corresponding target driver. Both in many
|
||||
cases are not options.
|
||||
|
||||
<p>To implement that you should on event of any group change:
|
||||
<ul>
|
||||
<li><span>Globally suspend all activities by scst_suspend_activity().</span></li>
|
||||
|
||||
<li><span>Go over all existing sessions. For each find the corresponding ACG
|
||||
(see scst_init_session() as an example) and check if it's the same as the existing
|
||||
one. If it's the same, then go to the next session. Otherwise, reassign
|
||||
it to the new ACG. For that you should go over all devices in the group/session
|
||||
pair (tgt_dev's) and delete not existing in the new ACG tgt_dev's,
|
||||
add new ones and keep the existing ones.</span></li>
|
||||
|
||||
<li><span>Resume the activities.</span></li>
|
||||
</ul>
|
||||
|
||||
<h3>Dynamic I/O flow control</h3>
|
||||
|
||||
<p>At the moment, if an initiator or several initiators simultaneously send to
|
||||
target too many commands, especially in seek intensive workloads, target can get
|
||||
overloaded and not able to finish commands on time. In such cases you can see on
|
||||
the initiator(s) messages about aborting commands or resetting the target. See in SCST core
|
||||
README section "What if target's backstorage is too slow" for more details.
|
||||
To fix this problem it is necessary to implement a dynamic I/O flow control in
|
||||
SCST core.
|
||||
|
||||
<p>The flow control, generally, is quite simple. Each SCST command has timeout value,
|
||||
which is set by the corresponding dev handler. SCST core should keep device's queue depth
|
||||
at the level that the worst command's execution time, i.e. time between scst_rx_cmd()
|
||||
and scst_finish_cmd(), would be between something like timeout/10 and timeout/5.
|
||||
So, commands execution time should be checked and:
|
||||
|
||||
<ul>
|
||||
<li><span>If it's > timeout/5, then the new queue depth should be set to max(1,
|
||||
cur_depth/2)</span></li>
|
||||
|
||||
<li><span>If it's < timeout/10, then new queue depth should be set to min(MAX_DEPTH,
|
||||
cur_depth+1). This shouldn't be done too often, once in a few minutes should be
|
||||
sufficient</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- wrap ends here -->
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
</body>
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</a></li>
|
||||
<li><a href="targets.html">Drivers</a></li>
|
||||
<li id="current"><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="contributing.html">Contributing</a></li>
|
||||
<li><a href="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -79,16 +80,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
<!-- footer ends here -->
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -71,16 +72,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
<!-- footer ends here -->
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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><a href="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -99,16 +100,16 @@
|
||||
<li><span><strong>Pass-through mode</strong> with one to many relationship, i.e. when multiple initiators can
|
||||
connect to the exported pass-through devices, for virtually all SCSI devices types: <strong>disks (type 0),
|
||||
tapes (type 1), processors (type 3), CDROMs (type 5), MO disks (type 7), medium changers (type 8) and RAID
|
||||
controllers (type 0xC)</strong></span></li>
|
||||
controllers (type 0xC)</strong>.</span></li>
|
||||
<li><span><strong>FILEIO mode</strong>, which allows to use files on file systems or block devices as virtual
|
||||
remotely available SCSI disks or CDROMs with benefits of the <strong>Linux page cache</strong></span></li>
|
||||
remotely available SCSI disks or CDROMs with benefits of the <strong>Linux page cache</strong>.</span></li>
|
||||
<li><span><strong>BLOCKIO mode</strong>, which performs direct block IO with a block device, bypassing
|
||||
page-cache for all operations. This mode works ideally with high-end storage HBAs and for applications that
|
||||
either do not need caching between application and disk or need the large block throughput.</span></li>
|
||||
<li><span><strong>User space mode</strong> using scst_user device handler, which allows to implement in the
|
||||
user space virtual SCSI devices in the SCST environment</span></li>
|
||||
user space virtual SCSI devices in the SCST environment.</span></li>
|
||||
<li><span><strong>"Performance" device handlers</strong>, which provide in pseudo pass-through mode a way for
|
||||
direct performance measurements without overhead of actual data transferring from/to underlying SCSI device
|
||||
direct performance measurements without overhead of actual data transferring from/to underlying SCSI device.
|
||||
</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -139,12 +140,11 @@
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
<!-- footer ends here -->
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -67,15 +68,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
<!-- footer ends here -->
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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><a href="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -1092,11 +1093,11 @@
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- footer ends here -->
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -70,16 +71,15 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- wrap ends here -->
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
<p>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
<!-- footer ends here -->
|
||||
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
</html>
|
||||
</body>
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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><a href="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -47,7 +48,11 @@
|
||||
|
||||
<p>Thus, you can speed up a <strong>LOT</strong> all the works related to
|
||||
SCST inclusion in the mainline kernel by <strong>sponsoring</strong> it.
|
||||
Ultimately, you can make them a full time work.
|
||||
The needed financial amount is quite low, just for one person for several months.
|
||||
In this time all current showstoppers, like /proc based interface, as well as
|
||||
all problems found during future public reviews should be fixed.
|
||||
Even half of this amount would allow to work half full time exclusively on
|
||||
SCST integration into Linux kernel. Funds can be on one time or per month basis.
|
||||
|
||||
<p>Investing in SCST integration in Linux kernel, you investing not only
|
||||
in making Linux <strong>the best storage OS</strong>, but, if your company
|
||||
@@ -55,16 +60,17 @@
|
||||
future</strong> of your product and, hence, your company.
|
||||
|
||||
<p>If you are interested, please contact Vladislav Bolkhovitin <<strong>vst at vlnb net</strong>>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- wrap ends here -->
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
<p>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
</body>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -67,12 +68,11 @@
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -125,16 +126,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
<!-- footer ends here -->
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -68,7 +69,7 @@
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
@@ -76,4 +77,4 @@
|
||||
<!-- footer ends here -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -89,16 +90,14 @@
|
||||
|
||||
<!-- wrap ends here -->
|
||||
</div>
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -68,16 +69,14 @@
|
||||
|
||||
<!-- wrap ends here -->
|
||||
</div>
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -72,16 +73,14 @@
|
||||
|
||||
<!-- wrap ends here -->
|
||||
</div>
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -71,12 +72,11 @@
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<li><a href="http://www.sourceforge.net/projects/scst">Main</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="scstvsstgt.html">SCST vs STGT</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -65,16 +66,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>
|
||||
© Copyright 2008 <strong>SCST (SCSI Target Middle Level for Linux)</strong>
|
||||
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
|
||||
<!-- footer ends here -->
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user