diff options
Diffstat (limited to 'share/examples/scsi_target/scsi_target.8')
-rw-r--r-- | share/examples/scsi_target/scsi_target.8 | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/share/examples/scsi_target/scsi_target.8 b/share/examples/scsi_target/scsi_target.8 new file mode 100644 index 000000000000..677e2b4ae6fa --- /dev/null +++ b/share/examples/scsi_target/scsi_target.8 @@ -0,0 +1,158 @@ +.\" Copyright (c) 2002 +.\" Nate Lawson. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY Nate Lawson AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd November 15, 2002 +.Dt SCSI_TARGET 8 +.Os +.Sh NAME +.Nm scsi_target +.Nd usermode SCSI disk emulator +.Sh SYNOPSIS +.Nm +.Op Fl AdST +.Op Fl b Ar size +.Op Fl c Ar size +.Op Fl s Ar size +.Op Fl W Ar num +.Ar bus : Ns Ar target : Ns Ar lun +.Ar filename +.Sh DESCRIPTION +The +.Nm +utility emulates a SCSI target device using the +.Xr targ 4 +device driver. +It supports the basic commands of a direct access device, like +.Xr da 4 . +In typical operation, it opens a control device and +enables target mode for the specified LUN. +It then communicates with +the SIM using CCBs exchanged via +.Xr read 2 +and +.Xr write 2 . +READ and WRITE CDBs are satisfied with the specified backing store file. +.Pp +For performance, all backing store accesses use +.Xr aio 4 . +Thus, +.Nm +requires a kernel compiled with +.Cd "options VFS_AIO" . +.Pp +Options: +.Bl -tag -width indent +.It Fl A +Enable 16 addresses if supported by the SIM. +Default is 8. +.It Fl S +Enable synchronous transfers if supported by the SIM. +Default is disabled. +.It Fl T +Enable tagged queuing if supported by the SIM. +Default is no tagged queuing. +.It Fl W Cm 8 | 16 | 32 +Enable 16 or 32 bit wide transfers if supported by the SIM. +Default is 8. +.It Fl b Ar bufsize +Set buffer size for transfers. +Transfers larger than this will be split into multiple transfers. +.It Fl c Ar sectorsize +Set sector size for emulated volume. +Default is 512. +.It Fl d +Enable debugging output in +.Nm +and its associated control device. +.It Fl s Ar volsize +Use a different size for the emulated volume. +Must be less than or equal to the size of +.Ar filename . +If the number ends with a +.Dq Li k , +.Dq Li m , +.Dq Li g , +.Dq Li t , +.Dq Li p , +or +.Dq Li e , +the number is multiplied by 2^10 (1K), 2^20 (1M), 2^30 (1G), 2^40 (1T), +2^50 (1P) and 2^60 (1E) +respectively. +.El +.Pp +Required arguments: +.Bl -tag -width indent +.It Ar bus : Ns Ar target : Ns Ar lun +Attach to specified bus ID, target ID, and LUN. +.It Ar filename +File to use as a backing store. +.El +.Pp +All options default to the minimal functionality of SCSI-1. +To be safe, +.Nm +checks the SIM for the requested capability before enabling target mode. +.Sh FILES +.Bl -tag -width ".Pa /usr/share/examples/scsi_target" -compact +.It Pa /dev/targ* +Control devices. +.It Pa /usr/share/examples/scsi_target +Source directory. +.El +.Sh EXAMPLES +Create a 5 megabyte backing store file. +.Pp +.Dl "dd if=/dev/zero of=vol size=1m count=5" +.Pp +Enable target mode on bus 0, target ID 1, LUN 0, using +.Pa vol +as the backing store for READ6/10 and WRITE6/10 commands. +Only the first 1000 bytes of +.Pa vol +will be used. +Debugging information will be output. +16-bit wide transfers will be used if the SIM supports them. +.Pp +.Dl "scsi_target -d -s 1000 -W 16 0:1:0 vol" +.Sh SEE ALSO +.Xr scsi 4 , +.Xr targ 4 +.Sh AUTHORS +.An -nosplit +The +.Nm +example first appeared in +.Fx 3.0 +and was written by +.An Justin T. Gibbs . +It was rewritten for +.Fx 5.0 +by +.An Nate Lawson Aq nate@root.org . |