blob: 6167a65fe6fda913a637c036eed9fdb6d200b558 [file] [log] [blame]
.\" Process this file with
.\" groff -man -Tascii iscsi-scstd.8
.\"
.TH "iSCSI SCST Target Daemon" 8 "May 2007" Linux "User Manuals"
.SH NAME
iscsi-scstd \- iSCSI SCST Target Daemon
.SH SYNOPSIS
.B iscsi-scstd
.RB [\| \-c
.IR configfile \|]
.RB [\| \-d
.IR debuglevel \|]
.RB [\| \-f \|]
.RB [\| \-g
.IR GID \|]
.RB [\| \-h \|]
.RB [\| \-a
.IR address \|]
.RB [\| \-p
.IR port \|]
.RB [\| \-u
.IR UID \|]
.SH DESCRIPTION
The
.B iscsi-scstd
program implements the user level part of iSCSI SCST Target software for building an iSCSI storage system on Linux.
.SH OPTIONS
.TP
.BI \-c\ filename ,\ \-\-config= filename
Specify configuration file, default is
.I /etc/iscsi-scstd.conf
.TP
.BI \-d\ debuglevel ,\ \-\-debug= debuglevel
Turns on debugging. Logging goes to
.I /var/log/syslog
via
.BR syslog (1).
.TP
.BI \-f,\ \-\-foreground
Act as a normal application which uses a console.
.TP
.BI \-g\ GID ,\ \-\-gid= GID
Specify running group id, default is current gid.
.TP
.BI \-a\ address ,\ \-\-address= address
Specify on which local address the server should listen, default is any.
.TP
.BI \-p\ port ,\ \-\-port= port
Specify on which port the server should listen, default is 3260.
.TP
.BI \-h,\ \-\-help
Display help message on command line options.
.TP
.BI \-u\ UID ,\ \-\-uid= UID
Specify running user id, default is current uid.
.SH FILES
.I /etc/iscsi-scstd.conf
.RS
The system wide configuration file. See
.BR iscsi-scstd.conf (5)
for further details.
.RE
.SH DIAGNOSTICS
This may be logged to stderr:
.B Warnings
"Dropping key (%s=%s)"
.RS
Value(s): key, value
.RE
"unable to set fd flags (%s)!"
.RS
Value(s): strerror(errno)
.RE
"unable to get fd flags (%s)!"
.RS
Value(s): strerror(errno)
.RE
"unable to set SO_REUSEADDR on server socket (%s)!"
.RS
Value(s): strerror(errno)
.RE
"iscsi_ctrl: failed to scan '%s'"
.RS
Value(s): p
.RE
"target %u not found?"
.RS
Value(s): target_id
.RE
"session %#Lx not found?"
.RS
Value(s): session_id
.RE
"session_remove: session %#Lx not found?"
.RS
Value(s): session->sid.id64
.RE
"need to shutdown target %s"
.RS
Value(s): target->name
.RE
.B Errors
"unable to create server socket (%s)!"
.RS
Value(s): strerror(errno)
.RE
"unable to bind server socket (%s)!"
.RS
Value(s): strerror(errno)
.RE
"unable to listen to server socket (%s)!"
.RS
Value(s): strerror(errno)
.RE
"error reading /proc/iscsi/iscsi (%d)"
.RS
Value(s): errno
.RE
"unable to create pid file"
"starting daemon failed"
"unable to lock pid file"
"unable to open %s! (%s)"
.RS
Value(s): PROC_DEVICEDIR, strerror(errno)
.RE
"unable to open %s! (%s)"
.RS
Value(s): PROC_TARGETDIR, strerror(errno)
.RE
.B Debug Messages Level 0
"unknown user %s"
.RS
Value(s): value
.RE
"login by %s failed"
.RS
Value(s): user->name
.RE
"successful login by %s"
.RS
Value(s): user->name
.RE
"connection request from %s"
.RS
Value(s): inet_ntoa(name.sin_addr)
.RE
"connection closed"
.RS
Value(s): target->id
.RE
.B Debug Messages Level 1
"conn_take_fd: %u %u %u %Lx %d"
.RS
Value(s): conn->cid, conn->stat_sn, conn->exp_stat_sn, conn->sid.id64, fd
.RE
"exp_cmd_sn: %d,%d"
.RS
Value(s): conn->exp_cmd_sn, req->cmd_sn
.RE
"Login request (security negotiation): %d"
.RS
Value(s): conn->state
.RE
"Login request (operational negotiation): %d"
.RS
Value(s): conn->state
.RE
"Text request: %d"
.RS
Value(s): conn->state
.RE
"close conn %u session %Lx target %u"
.RS
Value(s): conn_id, session_id, target_id
.RE
"session_find_name: %s,%#Lx"
.RS
Value(s): iname, sid.id64
.RE
"session_find_id: %#Lx"
.RS
Value(s): sid
.RE
"session_create: %#Lx"
.RS
Value(s): session->sid.id64
.RE
"session_close: %#Lx"
.RS
Value(s): session->sid.id64
.RE
"session_remove: %#Lx"
.RS
Value(s): session->sid.id64
.RE
"active target %d: %s"
.RS
Value(s): id, name
.RE
"removing target %d"
.RS
Value(s): id
.RE
"creaing target %u: %s"
.RS
Value(s): target_next_id, p
.RE
"target_find_name: %s"
.RS
Value(s): name
.RE
"target_find_id: %u"
.RS
Value(s): id
.RE
"target_remove: %u,%s"
.RS
Value(s): target->id, target->name
.RE
.B Debug Messages Level 2
"%s %.16s"
.RS
Value(s): line, buf
.RE
"BHS: (%p)"
.RS
Value(s): buf
.RE
"AHS: (%p)"
.RS
Value(s): buf
.RE
"Data: (%p)"
.RS
Value(s): buf
.RE
.SH KNOWN ISSUES
Task attributes is incomplete (all tasks are treated as if they have the SIMPLE attribute.)
SCSI task management is incomplete.
NOP-In is incomplete.
The target never sends a NOP-In of its own accord.
Header and Data Digest in a discovery session are not implemented.
Out-of-memory situation leads to the system crash (There are still some out-of-memory bugs.)
.SH "SEE ALSO"
.BR iscsi-scstd.conf (5)