aboutsummaryrefslogtreecommitdiff
path: root/doc/scsi_logging_level.8
blob: 57a5cf4b05ae2708bc5b82251212e45173b640b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
.TH SCSI_LOGGING_LEVEL "8" "April 2022" "sg3_utils\-1.48" SG3_UTILS
.SH NAME
scsi_logging_level \- access Linux SCSI logging level information
.SH SYNOPSIS
.B scsi_logging_level
[\fI\-\-all=LEV\fR] [\fI\-\-create\fR] [\fI\-\-error=LEV\fR] [\fI\-\-get\fR]
[\fI\-\-help\fR] [\fI\-\-highlevel=LEV\fR] [\fI\-\-hlcomplete=LEV\fR]
[\fI\-\-hlqueue=LEV\fR] [\fI\-\-ioctl=LEV\fR] [\fI\-\-llcomplete=LEV\fR]
[\fI\-\-llqueue=LEV\fR] [\fI\-\-lowlevel=LEV\fR] [\fI\-\-midlevel=LEV\fR]
[\fI\-\-mlcomplete=LEV\fR] [\fI\-\-mlqueue=LEV\fR] [\fI\-\-scan=LEV\fR]
[\fI\-\-set\fR] [\fI\-\-timeout=LEV\fR] [\fI\-\-version\fR]
.SH DESCRIPTION
.\" Add any additional description here
.PP
This bash shell script accesses the Linux SCSI subsystem logging
level. The current values can be shown (e.g. with \fI\-\-get\fR)
or changed (e.g. with \fI\-\-set\fR). Superuser permissions will
typically be required to set the logging level.
.PP
One of these options: \fI\-\-create\fR, \fI\-\-get\fR or \fI\-\-set\fR
is required. Only one of them can be given.
.SH OPTIONS
Arguments to long options are mandatory for short options as well.
.TP
\fB\-a\fR, \fB\-\-all\fR=\fILEV\fR
\fILEV\fR is used for all SCSI_LOG fields.
.TP
\fB\-c\fR, \fB\-\-create\fR
Options are parsed and placed in internal fields that are displayed but
no logging levels are changed within the Linux kernel.
.TP
\fB\-E\fR, \fB\-\-error\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_ERROR field.
.TP
\fB\-g\fR, \fB\-\-get\fR
Fetches the current SCSI logging levels from the Linux kernel and
displays them.
.TP
\fB\-h\fR, \fB\-\-help\fR
print out the usage message then exit.
.TP
\fB\-H\fR, \fB\-\-highlevel\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_HLQUEUE and SCSI_LOG_HLCOMPLETE fields.
.TP
\fB\-\-hlcomplete\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_HLCOMPLETE field.
.TP
\fB\-\-hlqueue\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_HLQUEUE field.
.TP
\fB\-I\fR, \fB\-\-ioctl\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_IOCTL field.
.TP
\fB\-\-llcomplete\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_LLCOMPLETE field.
.TP
\fB\-\-llqueue\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_LLQUEUE field.
.TP
\fB\-L\fR, \fB\-\-lowlevel\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_LLQUEUE and SCSI_LOG_LLCOMPLETE fields.
.TP
\fB\-M\fR, \fB\-\-midlevel\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_MLQUEUE and SCSI_LOG_MLCOMPLETE fields.
.TP
\fB\-\-mlcomplete\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_MLCOMPLETE field.
.TP
\fB\-\-mlqueue\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_MLQUEUE field.
.TP
\fB\-S\fR, \fB\-\-scan\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_SCAN field.
.TP
\fB\-s\fR, \fB\-\-set\fR
Uses the fields specified in this command's options and attempts to
apply them to the Linux SCSI subsystem logging levels. Typically superuser
permissions will be required to do this.
.TP
\fB\-T\fR, \fB\-\-timeout\fR=\fILEV\fR
\fILEV\fR is placed in the SCSI_LOG_TIMEOUT field.
.TP
\fB\-v\fR, \fB\-\-version\fR
Outputs the version information and then exits.
.SH NOTES
The \fI\-\-get\fR and \fI\-\-set\fR options access the
/proc/sys/dev/scsi/logging_level pseudo file.
.SH EXIT STATUS
The exit status of this script is 0 when it is successful. Any other
exit status indicates that an error has occurred.
.SH EXAMPLES
The following will set SCSI_LOG_ERROR to level 5 in the Linux kernel. It
requires root permissions:
.PP
  scsi_logging_level \-s \-E 5
.PP
So as to not interfere with other SCSI subsystem upper level drivers (ULDs)
which most likely will be active at the same time, the Linux sg driver uses
SCSI_LOG_TIMEOUT for logging purposes. To see full debugging and trace from
the sg driver use:
.PP
  scsi_logging_level \-s \-T 7
.PP
The output from the sg driver caused by this will go to the system
logs (e.g. /var/log/syslog). To reduce the amount of output use a number
lower than 7. Using 0 will turn off the tracing and debug.
.PP
To turn on maximum SCSI subsystem logging use:
.PP
  scsi_logging_level \-s \-a 7
.PP
That is probably best done on a system that does not use a SCSI command
device to hold the root file system, or the file system that holds the
system log. Note that SATA disks and USB attached storage nearly always
use the SCSI subsystem.
.SH AUTHORS
Written by IBM. Small alterations by Douglas Gilbert.
.SH "REPORTING BUGS"
Report bugs to <dgilbert at interlog dot com>.
.SH COPYRIGHT
Copyright \(co IBM Corp. 2006
.br
This software is distributed under the GPL version 2. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.PP
The software was obtained from an IBM package called s390\-tools\-1.6.2
found on that company's "developerworks" site. The most recent version of
that package at this time is 1.8.3 .