← Documents Documentation/scsi/scsi-parameters.rst GitHub 원문 ↗

Linux 6.18.37 · SCSI

SCSI kernel parameter

SCSI core와 legacy adapter의 module parameter, LUN 한계, logging 및 bus scan mode를 설명합니다.

Source pathDocumentation/scsi/scsi-parameters.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

scsi-parameters.rst:1-108

SCSI core와 legacy adapter의 module parameter, LUN 한계, logging 및 bus scan mode를 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ======================
4 SCSI Kernel Parameters
5 ======================
6
7 See Documentation/admin-guide/kernel-parameters.rst for general information on
8 specifying module parameters.
9
10 This document may not be entirely up to date and comprehensive. The command
11 ``modinfo -p ${modulename}`` shows a current list of all parameters of a loadable
12 module. Loadable modules, after being loaded into the running kernel, also
13 reveal their parameters in /sys/module/${modulename}/parameters/. Some of these
14 parameters may be changed at runtime by the command
15 ``echo -n ${value} > /sys/module/${modulename}/parameters/${parm}``.
16
17 ::
18
19 advansys= [HW,SCSI]
20 See header of drivers/scsi/advansys.c.
21
22 aha152x= [HW,SCSI]
23 See Documentation/scsi/aha152x.rst.
24
25 aha1542= [HW,SCSI]
26 Format: <portbase>[,<buson>,<busoff>[,<dmaspeed>]]
27
28 aic7xxx= [HW,SCSI]
29 See Documentation/scsi/aic7xxx.rst.
30
31 aic79xx= [HW,SCSI]
32 See Documentation/scsi/aic79xx.rst.
33
34 atascsi= [HW,SCSI]
35 See drivers/scsi/atari_scsi.c.
36
37 BusLogic= [HW,SCSI]
38 See drivers/scsi/BusLogic.c, comment before function
39 BusLogic_ParseDriverOptions().
40
41 gvp11= [HW,SCSI]
42
43 ips= [HW,SCSI] Adaptec / IBM ServeRAID controller
44 See header of drivers/scsi/ips.c.
45
46 mac5380= [HW,SCSI]
47 See drivers/scsi/mac_scsi.c.
48
49 scsi_mod.max_luns=
50 [SCSI] Maximum number of LUNs to probe.
51 Should be between 1 and 2^32-1.
52
53 scsi_mod.max_report_luns=
54 [SCSI] Maximum number of LUNs received.
55 Should be between 1 and 16384.
56
57 NCR_D700= [HW,SCSI]
58 See header of drivers/scsi/NCR_D700.c.
59
60 ncr5380= [HW,SCSI]
61 See Documentation/scsi/g_NCR5380.rst.
62
63 ncr53c400= [HW,SCSI]
64 See Documentation/scsi/g_NCR5380.rst.
65
66 ncr53c400a= [HW,SCSI]
67 See Documentation/scsi/g_NCR5380.rst.
68
69 ncr53c8xx= [HW,SCSI]
70
71 osst= [HW,SCSI] SCSI Tape Driver
72 Format: <buffer_size>,<write_threshold>
73 See also Documentation/scsi/st.rst.
74
75 scsi_debug_*= [SCSI]
76 See drivers/scsi/scsi_debug.c.
77
78 scsi_mod.default_dev_flags=
79 [SCSI] SCSI default device flags
80 Format: <integer>
81
82 scsi_mod.dev_flags=
83 [SCSI] Black/white list entry for vendor and model
84 Format: <vendor>:<model>:<flags>
85 (flags are integer value)
86
87 scsi_mod.scsi_logging_level=
88 [SCSI] a bit mask of logging levels
89 See drivers/scsi/scsi_logging.h for bits. Also
90 settable via sysctl at dev.scsi.logging_level
91 (/proc/sys/dev/scsi/logging_level).
92 There is also a nice 'scsi_logging_level' script in the
93 S390-tools package, available for download at
94 https://github.com/ibm-s390-linux/s390-tools/blob/master/scripts/scsi_logging_level
95
96 scsi_mod.scan= [SCSI] sync (default) scans SCSI busses as they are
97 discovered. async scans them in kernel threads,
98 allowing boot to proceed. none ignores them, expecting
99 user space to do the scan.
100
101 sim710= [SCSI,HW]
102 See header of drivers/scsi/sim710.c.
103
104 st= [HW,SCSI] SCSI tape parameters (buffers, etc.)
105 See Documentation/scsi/st.rst.
106
107 wd33c93= [HW,SCSI]
108 See header of drivers/scsi/wd33c93.c.
109

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

현재 parameter를 확인하고 runtime에 변경하기

1-16

Module parameter 지정의 일반 규칙은 `Documentation/admin-guide/kernel-parameters.rst`를 참고한다. 이 문서는 완전히 최신이거나 포괄적이지 않을 수 있다.

Load 가능한 module의 현재 parameter 목록은 `modinfo -p ${modulename}`으로 확인한다. Module을 실행 중인 kernel에 load하면 `/sys/module/${modulename}/parameters/`에도 parameter가 나타난다. 일부는 `echo -n ${value} > /sys/module/${modulename}/parameters/${parm}`으로 runtime에 바꿀 수 있다.

.. SPDX-License-Identifier: GPL-2.0

======================
SCSI Kernel Parameters
======================

See Documentation/admin-guide/kernel-parameters.rst for general information on
specifying module parameters.

This document may not be entirely up to date and comprehensive. The command
``modinfo -p ${modulename}`` shows a current list of all parameters of a loadable
module. Loadable modules, after being loaded into the running kernel, also
reveal their parameters in /sys/module/${modulename}/parameters/. Some of these
parameters may be changed at runtime by the command
``echo -n ${value} > /sys/module/${modulename}/parameters/${parm}``.

Adapter driver별 parameter 안내

17-48

`advansys`는 `drivers/scsi/advansys.c` header, `aha152x`는 `Documentation/scsi/aha152x.rst`, `aic7xxx`와 `aic79xx`는 각각 같은 이름의 SCSI 문서를 참고한다. `aha1542` 형식은 `<portbase>[,<buson>,<busoff>[,<dmaspeed>]]`이다.

`atascsi`는 `drivers/scsi/atari_scsi.c`, `BusLogic`은 `drivers/scsi/BusLogic.c`의 `BusLogic_ParseDriverOptions()` 앞 주석, `ips`는 Adaptec/IBM ServeRAID controller용 `drivers/scsi/ips.c` header, `mac5380`은 `drivers/scsi/mac_scsi.c`를 참고한다. `gvp11`은 별도 설명이 없다.

Legacy adapter parameter
Parameter참고
advansysdrivers/scsi/advansys.c
aha152xDocumentation/scsi/aha152x.rst
aha1542portbase,buson,busoff,dmaspeed
aic7xxx / aic79xxDocumentation/scsi의 동명 문서
atascsidrivers/scsi/atari_scsi.c
BusLogicBusLogic_ParseDriverOptions() 앞 주석
ipsAdaptec/IBM ServeRAID
mac5380drivers/scsi/mac_scsi.c

Parameter와 원문이 지정한 참고 위치다.

::

        advansys=        [HW,SCSI]
                        See header of drivers/scsi/advansys.c.

        aha152x=        [HW,SCSI]
                        See Documentation/scsi/aha152x.rst.

        aha1542=        [HW,SCSI]
                        Format: <portbase>[,<buson>,<busoff>[,<dmaspeed>]]

        aic7xxx=        [HW,SCSI]
                        See Documentation/scsi/aic7xxx.rst.

        aic79xx=        [HW,SCSI]
                        See Documentation/scsi/aic79xx.rst.

        atascsi=        [HW,SCSI]
                        See drivers/scsi/atari_scsi.c.

        BusLogic=        [HW,SCSI]
                        See drivers/scsi/BusLogic.c, comment before function
                        BusLogic_ParseDriverOptions().

        gvp11=                [HW,SCSI]

        ips=                [HW,SCSI] Adaptec / IBM ServeRAID controller
                        See header of drivers/scsi/ips.c.

        mac5380=        [HW,SCSI]
                        See drivers/scsi/mac_scsi.c.

LUN 탐색 한계와 NCR driver

49-70

`scsi_mod.max_luns`는 probe할 LUN의 최대 수로 1 이상 `2^32-1` 이하여야 한다. `scsi_mod.max_report_luns`는 REPORT LUNS로 받을 최대 LUN 수이며 1~16384 범위다.

`NCR_D700`은 `drivers/scsi/NCR_D700.c` header를 참고한다. `ncr5380`, `ncr53c400`, `ncr53c400a`는 모두 `Documentation/scsi/g_NCR5380.rst`를 참고하며 `ncr53c8xx`에는 별도 설명이 없다.

SCSI LUN limit
Parameter범위
scsi_mod.max_luns1 ~ 2^32-1
scsi_mod.max_report_luns1 ~ 16384

Probe와 REPORT LUNS 수신 한계를 구분한다.

        scsi_mod.max_luns=
                        [SCSI] Maximum number of LUNs to probe.
                        Should be between 1 and 2^32-1.

        scsi_mod.max_report_luns=
                        [SCSI] Maximum number of LUNs received.
                        Should be between 1 and 16384.

        NCR_D700=        [HW,SCSI]
                        See header of drivers/scsi/NCR_D700.c.

        ncr5380=        [HW,SCSI]
                        See Documentation/scsi/g_NCR5380.rst.

        ncr53c400=        [HW,SCSI]
                        See Documentation/scsi/g_NCR5380.rst.

        ncr53c400a=        [HW,SCSI]
                        See Documentation/scsi/g_NCR5380.rst.

        ncr53c8xx=        [HW,SCSI]

Tape, debug, device flag와 logging

71-95

`osst`는 SCSI tape driver이며 형식은 `<buffer_size>,<write_threshold>`이고 `Documentation/scsi/st.rst`도 참고한다. `scsi_debug_*`는 `drivers/scsi/scsi_debug.c`에 설명돼 있다. `scsi_mod.default_dev_flags`는 정수 형식의 기본 SCSI device flag다.

`scsi_mod.dev_flags`는 vendor/model black·white list entry이며 `<vendor>:<model>:<flags>` 형식이고 flags는 정수다. `scsi_mod.scsi_logging_level`은 logging level bit mask다. Bit는 `drivers/scsi/scsi_logging.h`를 참고하며 `dev.scsi.logging_level`, 즉 `/proc/sys/dev/scsi/logging_level` sysctl로도 설정한다.

S390-tools에는 편리한 `scsi_logging_level` script가 있으며 `https://github.com/ibm-s390-linux/s390-tools/blob/master/scripts/scsi_logging_level`에서 받을 수 있다.

        osst=                [HW,SCSI] SCSI Tape Driver
                        Format: <buffer_size>,<write_threshold>
                        See also Documentation/scsi/st.rst.

        scsi_debug_*=        [SCSI]
                        See drivers/scsi/scsi_debug.c.

        scsi_mod.default_dev_flags=
                        [SCSI] SCSI default device flags
                        Format: <integer>

        scsi_mod.dev_flags=
                        [SCSI] Black/white list entry for vendor and model
                        Format: <vendor>:<model>:<flags>
                        (flags are integer value)

        scsi_mod.scsi_logging_level=
                        [SCSI] a bit mask of logging levels
                        See drivers/scsi/scsi_logging.h for bits.  Also
                        settable via sysctl at dev.scsi.logging_level
                        (/proc/sys/dev/scsi/logging_level).
                        There is also a nice 'scsi_logging_level' script in the
                        S390-tools package, available for download at
                        https://github.com/ibm-s390-linux/s390-tools/blob/master/scripts/scsi_logging_level

SCSI bus scan mode와 나머지 driver

96-108

`scsi_mod.scan=sync`는 발견하는 즉시 SCSI bus를 동기 scan하며 기본값이다. `async`는 kernel thread에서 scan해 boot가 계속 진행되게 한다. `none`은 bus를 무시하고 user space가 scan할 것으로 기대한다.

`sim710`은 `drivers/scsi/sim710.c` header를 참고한다. `st`는 buffer 등을 포함한 SCSI tape parameter이며 `Documentation/scsi/st.rst`에 설명돼 있다. `wd33c93`은 `drivers/scsi/wd33c93.c` header를 참고한다.

scsi_mod.scan
동작
sync발견과 함께 동기 scan, 기본값
asyncKernel thread에서 scan하고 boot 계속
noneKernel은 무시하고 user space가 scan

Bus 발견 뒤 scan 수행 방식을 선택한다.

        scsi_mod.scan=        [SCSI] sync (default) scans SCSI busses as they are
                        discovered.  async scans them in kernel threads,
                        allowing boot to proceed.  none ignores them, expecting
                        user space to do the scan.

        sim710=                [SCSI,HW]
                        See header of drivers/scsi/sim710.c.

        st=                [HW,SCSI] SCSI tape parameters (buffers, etc.)
                        See Documentation/scsi/st.rst.

        wd33c93=        [HW,SCSI]
                        See header of drivers/scsi/wd33c93.c.