xref: /linux/Documentation/ABI/stable/sysfs-nvme (revision 55ab7e14222e5f0b0fd9f7711ca391d2924b35e3)
1*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/model
2*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/serial
3*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/firmware_rev
4*1c4635cfSGuixin LiuDate:		January 2016
5*1c4635cfSGuixin LiuKernelVersion:	4.5
6*1c4635cfSGuixin LiuContact:	Keith Busch <kbusch@kernel.org>
7*1c4635cfSGuixin LiuDescription:
8*1c4635cfSGuixin Liu		Shows the model, serial number, or firmware revision string
9*1c4635cfSGuixin Liu		of the NVMe controller, as reported in the Identify
10*1c4635cfSGuixin Liu		Controller data structure.
11*1c4635cfSGuixin Liu
12*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/cntlid
13*1c4635cfSGuixin LiuDate:		February 2016
14*1c4635cfSGuixin LiuKernelVersion:	4.6
15*1c4635cfSGuixin LiuContact:	Ming Lin <ming.l@ssi.samsung.com>
16*1c4635cfSGuixin LiuDescription:
17*1c4635cfSGuixin Liu		Shows the controller identifier assigned by the NVMe
18*1c4635cfSGuixin Liu		subsystem.
19*1c4635cfSGuixin Liu
20*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/cntrltype
21*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/dctype
22*1c4635cfSGuixin LiuDate:		February 2022
23*1c4635cfSGuixin LiuKernelVersion:	5.18
24*1c4635cfSGuixin LiuContact:	Martin Belanger <martin.belanger@dell.com>
25*1c4635cfSGuixin LiuDescription:
26*1c4635cfSGuixin Liu		cntrltype: Shows the controller type. Possible values: "io",
27*1c4635cfSGuixin Liu		"discovery", "admin", "reserved".
28*1c4635cfSGuixin Liu
29*1c4635cfSGuixin Liu		dctype: Shows the discovery controller type. Possible values:
30*1c4635cfSGuixin Liu		"none", "ddc", "cdc", "reserved".
31*1c4635cfSGuixin Liu
32*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/reset_controller
33*1c4635cfSGuixin LiuDate:		November 2015
34*1c4635cfSGuixin LiuKernelVersion:	4.5
35*1c4635cfSGuixin LiuContact:	Christoph Hellwig <hch@lst.de>
36*1c4635cfSGuixin LiuDescription:
37*1c4635cfSGuixin Liu		Write-only. Writing any value triggers a synchronous
38*1c4635cfSGuixin Liu		controller reset.
39*1c4635cfSGuixin Liu
40*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/rescan_controller
41*1c4635cfSGuixin LiuDate:		April 2016
42*1c4635cfSGuixin LiuKernelVersion:	4.7
43*1c4635cfSGuixin LiuContact:	Keith Busch <kbusch@kernel.org>
44*1c4635cfSGuixin LiuDescription:
45*1c4635cfSGuixin Liu		Write-only. Writing any value triggers a namespace rescan
46*1c4635cfSGuixin Liu		on this controller.
47*1c4635cfSGuixin Liu
48*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/transport
49*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/subsysnqn
50*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/address
51*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/delete_controller
52*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/reconnect_delay
53*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/ctrl_loss_tmo
54*1c4635cfSGuixin LiuDate:		June 2016
55*1c4635cfSGuixin LiuKernelVersion:	4.8
56*1c4635cfSGuixin LiuContact:	Ming Lin <ming.l@ssi.samsung.com>
57*1c4635cfSGuixin LiuDescription:
58*1c4635cfSGuixin Liu		Fabrics controller attributes added with NVMe-oF support.
59*1c4635cfSGuixin Liu
60*1c4635cfSGuixin Liu		transport: Shows the transport type string. Possible values:
61*1c4635cfSGuixin Liu		"pcie", "tcp", "rdma", "fc", "loop".
62*1c4635cfSGuixin Liu
63*1c4635cfSGuixin Liu		subsysnqn: Shows the NVMe Qualified Name (NQN) of the
64*1c4635cfSGuixin Liu		subsystem this controller belongs to.
65*1c4635cfSGuixin Liu
66*1c4635cfSGuixin Liu		address: Shows the transport-specific address string. Only
67*1c4635cfSGuixin Liu		available for fabrics controllers.
68*1c4635cfSGuixin Liu
69*1c4635cfSGuixin Liu		delete_controller: Write-only. Triggers deletion of this
70*1c4635cfSGuixin Liu		fabrics controller.
71*1c4635cfSGuixin Liu
72*1c4635cfSGuixin Liu		reconnect_delay: Shows or sets the reconnect delay in
73*1c4635cfSGuixin Liu		seconds. Reading returns the delay value, or "off" if
74*1c4635cfSGuixin Liu		disabled.
75*1c4635cfSGuixin Liu
76*1c4635cfSGuixin Liu		ctrl_loss_tmo: Shows or sets the controller loss timeout in
77*1c4635cfSGuixin Liu		seconds. Reading returns the timeout value, or "off" if
78*1c4635cfSGuixin Liu		infinite reconnects are allowed. Writing a negative value
79*1c4635cfSGuixin Liu		disables the timeout.
80*1c4635cfSGuixin Liu
81*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/hostnqn
82*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/hostid
83*1c4635cfSGuixin LiuDate:		February 2020
84*1c4635cfSGuixin LiuKernelVersion:	5.7
85*1c4635cfSGuixin LiuContact:	Sagi Grimberg <sagi@grimberg.me>
86*1c4635cfSGuixin LiuDescription:
87*1c4635cfSGuixin Liu		hostnqn: Shows the host NQN used by this fabrics controller.
88*1c4635cfSGuixin Liu
89*1c4635cfSGuixin Liu		hostid: Shows the host identifier (UUID format) used by this
90*1c4635cfSGuixin Liu		fabrics controller.
91*1c4635cfSGuixin Liu
92*1c4635cfSGuixin Liu		Only available for fabrics controllers.
93*1c4635cfSGuixin Liu
94*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/fast_io_fail_tmo
95*1c4635cfSGuixin LiuDate:		November 2020
96*1c4635cfSGuixin LiuKernelVersion:	5.11
97*1c4635cfSGuixin LiuContact:	Victor Gladkov <Victor.Gladkov@kioxia.com>
98*1c4635cfSGuixin LiuDescription:
99*1c4635cfSGuixin Liu		Shows or sets the fast I/O fail timeout in seconds. Reading
100*1c4635cfSGuixin Liu		returns the timeout value, or "off" if disabled. Writing a
101*1c4635cfSGuixin Liu		negative value disables the fast I/O fail. Only available
102*1c4635cfSGuixin Liu		for fabrics controllers.
103*1c4635cfSGuixin Liu
104*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/kato
105*1c4635cfSGuixin LiuDate:		April 2021
106*1c4635cfSGuixin LiuKernelVersion:	5.13
107*1c4635cfSGuixin LiuContact:	Hannes Reinecke <hare@suse.de>
108*1c4635cfSGuixin LiuDescription:
109*1c4635cfSGuixin Liu		Shows the Keep Alive Timeout value in milliseconds for
110*1c4635cfSGuixin Liu		this controller.
111*1c4635cfSGuixin Liu
112*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/cmb
113*1c4635cfSGuixin LiuDate:		October 2016
114*1c4635cfSGuixin LiuKernelVersion:	4.9
115*1c4635cfSGuixin LiuContact:	Stephen Bates <sbates@raithlin.com>
116*1c4635cfSGuixin LiuDescription:
117*1c4635cfSGuixin Liu		Shows the Controller Memory Buffer (CMB) register values
118*1c4635cfSGuixin Liu		in format "cmbloc : 0x%08x\ncmbsz  : 0x%08x\n". Only
119*1c4635cfSGuixin Liu		visible when the controller has a CMB (cmbsz != 0).
120*1c4635cfSGuixin Liu		PCI transport only.
121*1c4635cfSGuixin Liu
122*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/cmbloc
123*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/cmbsz
124*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/hmb
125*1c4635cfSGuixin LiuDate:		July 2021
126*1c4635cfSGuixin LiuKernelVersion:	5.15
127*1c4635cfSGuixin LiuContact:	Keith Busch <kbusch@kernel.org>
128*1c4635cfSGuixin LiuDescription:
129*1c4635cfSGuixin Liu		cmbloc: Shows the CMBLOC register value.
130*1c4635cfSGuixin Liu
131*1c4635cfSGuixin Liu		cmbsz: Shows the CMBSZ register value.
132*1c4635cfSGuixin Liu
133*1c4635cfSGuixin Liu		cmbloc and cmbsz are only visible when the controller has
134*1c4635cfSGuixin Liu		a CMB. PCI transport only.
135*1c4635cfSGuixin Liu
136*1c4635cfSGuixin Liu		hmb: Shows or sets whether the Host Memory Buffer (HMB) is
137*1c4635cfSGuixin Liu		enabled. Reading returns 1 (enabled) or 0 (disabled).
138*1c4635cfSGuixin Liu		Writing 1 enables HMB; writing 0 disables it. Only
139*1c4635cfSGuixin Liu		visible when the controller supports HMB (hmpre != 0).
140*1c4635cfSGuixin Liu		PCI transport only.
141*1c4635cfSGuixin Liu
142*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/state
143*1c4635cfSGuixin LiuDate:		November 2016
144*1c4635cfSGuixin LiuKernelVersion:	4.11
145*1c4635cfSGuixin LiuContact:	Sagi Grimberg <sagi@grimberg.me>
146*1c4635cfSGuixin LiuDescription:
147*1c4635cfSGuixin Liu		Shows the current state of the controller. Possible values:
148*1c4635cfSGuixin Liu		"new", "live", "resetting", "connecting", "deleting",
149*1c4635cfSGuixin Liu		"deleting (no IO)", "dead".
150*1c4635cfSGuixin Liu
151*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/numa_node
152*1c4635cfSGuixin LiuDate:		November 2018
153*1c4635cfSGuixin LiuKernelVersion:	5.0
154*1c4635cfSGuixin LiuContact:	Hannes Reinecke <hare@suse.de>
155*1c4635cfSGuixin LiuDescription:
156*1c4635cfSGuixin Liu		Shows the NUMA node the controller is attached to.
157*1c4635cfSGuixin Liu
158*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/queue_count
159*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/sqsize
160*1c4635cfSGuixin LiuDate:		September 2019
161*1c4635cfSGuixin LiuKernelVersion:	5.4
162*1c4635cfSGuixin LiuContact:	James Smart <jsmart2021@gmail.com>
163*1c4635cfSGuixin LiuDescription:
164*1c4635cfSGuixin Liu		queue_count: Shows the total number of queues (admin + I/O)
165*1c4635cfSGuixin Liu		for this controller.
166*1c4635cfSGuixin Liu
167*1c4635cfSGuixin Liu		sqsize: Shows the submission queue size for this controller.
168*1c4635cfSGuixin Liu
169*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/dhchap_secret
170*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/dhchap_ctrl_secret
171*1c4635cfSGuixin LiuDate:		June 2022
172*1c4635cfSGuixin LiuKernelVersion:	6.0
173*1c4635cfSGuixin LiuContact:	Hannes Reinecke <hare@suse.de>
174*1c4635cfSGuixin LiuDescription:
175*1c4635cfSGuixin Liu		dhchap_secret: Shows or sets the host DH-HMAC-CHAP secret
176*1c4635cfSGuixin Liu		for this controller. Reading returns "none" if not set.
177*1c4635cfSGuixin Liu		Writing must use the "DHHC-1:" key format and triggers
178*1c4635cfSGuixin Liu		re-authentication.
179*1c4635cfSGuixin Liu
180*1c4635cfSGuixin Liu		dhchap_ctrl_secret: Shows or sets the controller
181*1c4635cfSGuixin Liu		DH-HMAC-CHAP secret for bidirectional authentication.
182*1c4635cfSGuixin Liu		Same format as dhchap_secret.
183*1c4635cfSGuixin Liu
184*1c4635cfSGuixin Liu		Only available when CONFIG_NVME_HOST_AUTH is enabled and
185*1c4635cfSGuixin Liu		for fabrics controllers.
186*1c4635cfSGuixin Liu
187*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/tls_key
188*1c4635cfSGuixin LiuDate:		August 2023
189*1c4635cfSGuixin LiuKernelVersion:	6.7
190*1c4635cfSGuixin LiuContact:	Hannes Reinecke <hare@suse.de>
191*1c4635cfSGuixin LiuDescription:
192*1c4635cfSGuixin Liu		Shows the serial of the currently active TLS PSK as hex.
193*1c4635cfSGuixin Liu		Returns empty if no TLS key is active. Only available for
194*1c4635cfSGuixin Liu		TCP controllers with TLS or secure concatenation enabled
195*1c4635cfSGuixin Liu		(CONFIG_NVME_TCP_TLS).
196*1c4635cfSGuixin Liu
197*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/tls_configured_key
198*1c4635cfSGuixin LiuDate:		July 2024
199*1c4635cfSGuixin LiuKernelVersion:	6.12
200*1c4635cfSGuixin LiuContact:	Hannes Reinecke <hare@kernel.org>
201*1c4635cfSGuixin LiuDescription:
202*1c4635cfSGuixin Liu		Shows the serial of the configured TLS key. Writing 0
203*1c4635cfSGuixin Liu		triggers a PSK reauthentication (REPLACETLSPSK) with
204*1c4635cfSGuixin Liu		the target. After reauthentication the returned serial
205*1c4635cfSGuixin Liu		will be the new key. Only available for TCP controllers
206*1c4635cfSGuixin Liu		with secure concatenation enabled (CONFIG_NVME_TCP_TLS).
207*1c4635cfSGuixin Liu
208*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/tls_keyring
209*1c4635cfSGuixin LiuDate:		July 2024
210*1c4635cfSGuixin LiuKernelVersion:	6.12
211*1c4635cfSGuixin LiuContact:	Hannes Reinecke <hare@kernel.org>
212*1c4635cfSGuixin LiuDescription:
213*1c4635cfSGuixin Liu		Shows the TLS keyring description. Only available for TCP
214*1c4635cfSGuixin Liu		controllers with a keyring configured (CONFIG_NVME_TCP_TLS).
215*1c4635cfSGuixin Liu
216*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/tls_mode
217*1c4635cfSGuixin LiuDate:		April 2026
218*1c4635cfSGuixin LiuKernelVersion:	7.1
219*1c4635cfSGuixin LiuContact:	Daniel Wagner <wagi@kernel.org>
220*1c4635cfSGuixin LiuDescription:
221*1c4635cfSGuixin Liu		Shows the TLS mode: "tls" for direct TLS or "concat" for
222*1c4635cfSGuixin Liu		secure concatenation. Only available for TCP controllers
223*1c4635cfSGuixin Liu		with TLS or secure concatenation enabled
224*1c4635cfSGuixin Liu		(CONFIG_NVME_TCP_TLS).
225*1c4635cfSGuixin Liu
226*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/passthru_err_log_enabled
227*1c4635cfSGuixin LiuDate:		January 2024
228*1c4635cfSGuixin LiuKernelVersion:	6.8
229*1c4635cfSGuixin LiuContact:	Alan Adamson <alan.adamson@oracle.com>
230*1c4635cfSGuixin LiuDescription:
231*1c4635cfSGuixin Liu		Shows or sets whether admin passthrough error logging is
232*1c4635cfSGuixin Liu		enabled for this controller. Reading returns "on" or "off".
233*1c4635cfSGuixin Liu		Writing accepts a boolean value.
234*1c4635cfSGuixin Liu
235*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/quirks
236*1c4635cfSGuixin LiuDate:		November 2025
237*1c4635cfSGuixin LiuKernelVersion:	7.0
238*1c4635cfSGuixin LiuContact:	Maurizio Lombardi <mlombard@redhat.com>
239*1c4635cfSGuixin LiuDescription:
240*1c4635cfSGuixin Liu		Shows the active quirk names for this controller, one per
241*1c4635cfSGuixin Liu		line. Shows "none" if no quirks are active.
242*1c4635cfSGuixin Liu
243*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/admin_timeout
244*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/io_timeout
245*1c4635cfSGuixin LiuDate:		May 2026
246*1c4635cfSGuixin LiuKernelVersion:	7.2
247*1c4635cfSGuixin LiuContact:	Maurizio Lombardi <mlombard@redhat.com>
248*1c4635cfSGuixin LiuDescription:
249*1c4635cfSGuixin Liu		admin_timeout: Shows or sets the admin command timeout in
250*1c4635cfSGuixin Liu		milliseconds.
251*1c4635cfSGuixin Liu
252*1c4635cfSGuixin Liu		io_timeout: Shows or sets the I/O command timeout in
253*1c4635cfSGuixin Liu		milliseconds. Changes are propagated to all namespace
254*1c4635cfSGuixin Liu		request queues.
255*1c4635cfSGuixin Liu
256*1c4635cfSGuixin Liu		The value must be nonzero. Only writable after the
257*1c4635cfSGuixin Liu		controller has been started at least once.
258*1c4635cfSGuixin Liu
259*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/uuid
260*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/eui
261*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/nsid
262*1c4635cfSGuixin LiuDate:		December 2015
263*1c4635cfSGuixin LiuKernelVersion:	4.5
264*1c4635cfSGuixin LiuContact:	Keith Busch <kbusch@kernel.org>
265*1c4635cfSGuixin LiuDescription:
266*1c4635cfSGuixin Liu		Namespace identification attributes.
267*1c4635cfSGuixin Liu
268*1c4635cfSGuixin Liu		uuid: Shows the UUID for this namespace. Falls back to
269*1c4635cfSGuixin Liu		showing the NGUID for backward compatibility. Hidden if
270*1c4635cfSGuixin Liu		both are all zeros.
271*1c4635cfSGuixin Liu
272*1c4635cfSGuixin Liu		eui: Shows the IEEE Extended Unique Identifier (EUI-64).
273*1c4635cfSGuixin Liu		Hidden if all zeros.
274*1c4635cfSGuixin Liu
275*1c4635cfSGuixin Liu		nsid: Shows the namespace identifier (NSID).
276*1c4635cfSGuixin Liu
277*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/wwid
278*1c4635cfSGuixin LiuDate:		February 2016
279*1c4635cfSGuixin LiuKernelVersion:	4.6
280*1c4635cfSGuixin LiuContact:	Keith Busch <kbusch@kernel.org>
281*1c4635cfSGuixin LiuDescription:
282*1c4635cfSGuixin Liu		Shows the World Wide Identifier for this namespace. The
283*1c4635cfSGuixin Liu		format depends on available identifiers (in priority
284*1c4635cfSGuixin Liu		order): "uuid.{UUID}", "eui.{NGUID}", "eui.{EUI64}", or
285*1c4635cfSGuixin Liu		"nvme.{VID}-{SERIAL}-{MODEL}-{NSID}".
286*1c4635cfSGuixin Liu
287*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/nguid
288*1c4635cfSGuixin LiuDate:		June 2017
289*1c4635cfSGuixin LiuKernelVersion:	4.13
290*1c4635cfSGuixin LiuContact:	Johannes Thumshirn <jthumshirn@suse.de>
291*1c4635cfSGuixin LiuDescription:
292*1c4635cfSGuixin Liu		Shows the Namespace Globally Unique Identifier (NGUID).
293*1c4635cfSGuixin Liu		Hidden if the NGUID is all zeros.
294*1c4635cfSGuixin Liu
295*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXcYnZ/ana_grpid
296*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXcYnZ/ana_state
297*1c4635cfSGuixin LiuDate:		May 2018
298*1c4635cfSGuixin LiuKernelVersion:	4.19
299*1c4635cfSGuixin LiuContact:	Christoph Hellwig <hch@lst.de>
300*1c4635cfSGuixin LiuDescription:
301*1c4635cfSGuixin Liu		ana_grpid: Shows the ANA Group ID for this namespace
302*1c4635cfSGuixin Liu		path device.
303*1c4635cfSGuixin Liu
304*1c4635cfSGuixin Liu		ana_state: Shows the ANA state. Possible values:
305*1c4635cfSGuixin Liu		"optimized", "non-optimized", "inaccessible",
306*1c4635cfSGuixin Liu		"persistent-loss", "change".
307*1c4635cfSGuixin Liu
308*1c4635cfSGuixin Liu		Only visible when the controller supports ANA.
309*1c4635cfSGuixin Liu		Requires CONFIG_NVME_MULTIPATH.
310*1c4635cfSGuixin Liu
311*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXcYnZ/queue_depth
312*1c4635cfSGuixin LiuDate:		June 2024
313*1c4635cfSGuixin LiuKernelVersion:	6.11
314*1c4635cfSGuixin LiuContact:	Thomas Song <tsong@purestorage.com>
315*1c4635cfSGuixin LiuDescription:
316*1c4635cfSGuixin Liu		Shows the current active I/O count on this path's
317*1c4635cfSGuixin Liu		controller. Returns empty if iopolicy is not "queue-depth".
318*1c4635cfSGuixin Liu		Requires CONFIG_NVME_MULTIPATH.
319*1c4635cfSGuixin Liu
320*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXcYnZ/numa_nodes
321*1c4635cfSGuixin LiuDate:		January 2025
322*1c4635cfSGuixin LiuKernelVersion:	6.15
323*1c4635cfSGuixin LiuContact:	Nilay Shroff <nilay@linux.ibm.com>
324*1c4635cfSGuixin LiuDescription:
325*1c4635cfSGuixin Liu		Shows the NUMA node mask for which this path is the
326*1c4635cfSGuixin Liu		currently selected path. Returns empty if iopolicy is not
327*1c4635cfSGuixin Liu		"numa". Requires CONFIG_NVME_MULTIPATH.
328*1c4635cfSGuixin Liu
329*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/delayed_removal_secs
330*1c4635cfSGuixin LiuDate:		May 2025
331*1c4635cfSGuixin LiuKernelVersion:	6.16
332*1c4635cfSGuixin LiuContact:	Nilay Shroff <nilay@linux.ibm.com>
333*1c4635cfSGuixin LiuDescription:
334*1c4635cfSGuixin Liu		Shows or sets the delayed removal timeout in seconds for
335*1c4635cfSGuixin Liu		the multipath head device. When nonzero, I/O is queued
336*1c4635cfSGuixin Liu		instead of failed when all paths are gone, and head removal
337*1c4635cfSGuixin Liu		is deferred. Only visible on multipath head devices.
338*1c4635cfSGuixin Liu		Requires CONFIG_NVME_MULTIPATH.
339*1c4635cfSGuixin Liu
340*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/csi
341*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/metadata_bytes
342*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/nuse
343*1c4635cfSGuixin LiuDate:		December 2023
344*1c4635cfSGuixin LiuKernelVersion:	6.8
345*1c4635cfSGuixin LiuContact:	Daniel Wagner <dwagner@suse.de>
346*1c4635cfSGuixin LiuDescription:
347*1c4635cfSGuixin Liu		csi: Shows the Command Set Identifier for this namespace.
348*1c4635cfSGuixin Liu
349*1c4635cfSGuixin Liu		metadata_bytes: Shows the metadata size in bytes.
350*1c4635cfSGuixin Liu
351*1c4635cfSGuixin Liu		nuse: Shows the Namespace Utilization (NUSE) value. Reading
352*1c4635cfSGuixin Liu		triggers an Identify Namespace command to refresh the
353*1c4635cfSGuixin Liu		value (rate-limited to avoid excessive commands).
354*1c4635cfSGuixin Liu
355*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/passthru_err_log_enabled
356*1c4635cfSGuixin LiuDate:		January 2024
357*1c4635cfSGuixin LiuKernelVersion:	6.8
358*1c4635cfSGuixin LiuContact:	Alan Adamson <alan.adamson@oracle.com>
359*1c4635cfSGuixin LiuDescription:
360*1c4635cfSGuixin Liu		Shows or sets whether I/O passthrough error logging is
361*1c4635cfSGuixin Liu		enabled for this namespace. Reading returns "on" or "off".
362*1c4635cfSGuixin Liu		Writing accepts a boolean value.
363*1c4635cfSGuixin Liu
364*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/diag/command_error_count
365*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/diag/reset_count
366*1c4635cfSGuixin LiuWhat:		/sys/class/nvme/nvmeX/diag/reconnect_count
367*1c4635cfSGuixin LiuDate:		May 2026
368*1c4635cfSGuixin LiuKernelVersion:	7.2
369*1c4635cfSGuixin LiuContact:	Nilay Shroff <nilay@linux.ibm.com>
370*1c4635cfSGuixin LiuDescription:
371*1c4635cfSGuixin Liu		Controller diagnostic counters.
372*1c4635cfSGuixin Liu
373*1c4635cfSGuixin Liu		command_error_count: Admin command error counter.
374*1c4635cfSGuixin Liu
375*1c4635cfSGuixin Liu		reset_count: Controller reset counter.
376*1c4635cfSGuixin Liu
377*1c4635cfSGuixin Liu		reconnect_count: Accumulated reconnect counter. Only
378*1c4635cfSGuixin Liu		available for fabrics controllers.
379*1c4635cfSGuixin Liu
380*1c4635cfSGuixin Liu		All counters can be reset by writing a value.
381*1c4635cfSGuixin Liu
382*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/diag/command_retries_count
383*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/diag/command_error_count
384*1c4635cfSGuixin LiuDate:		May 2026
385*1c4635cfSGuixin LiuKernelVersion:	7.2
386*1c4635cfSGuixin LiuContact:	Nilay Shroff <nilay@linux.ibm.com>
387*1c4635cfSGuixin LiuDescription:
388*1c4635cfSGuixin Liu		Namespace diagnostic counters for non-multipath
389*1c4635cfSGuixin Liu		configurations (when CONFIG_NVME_MULTIPATH is not
390*1c4635cfSGuixin Liu		configured).
391*1c4635cfSGuixin Liu
392*1c4635cfSGuixin Liu		command_retries_count: I/O command retry counter.
393*1c4635cfSGuixin Liu
394*1c4635cfSGuixin Liu		command_error_count: I/O command error counter.
395*1c4635cfSGuixin Liu
396*1c4635cfSGuixin Liu		All counters can be reset by writing any value.
397*1c4635cfSGuixin Liu
398*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXcYnZ/diag/command_retries_count
399*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXcYnZ/diag/command_error_count
400*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXcYnZ/diag/multipath_failover_count
401*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/diag/io_requeue_no_usable_path_count
402*1c4635cfSGuixin LiuWhat:		/sys/block/nvmeXnY/diag/io_fail_no_available_path_count
403*1c4635cfSGuixin LiuDate:		May 2026
404*1c4635cfSGuixin LiuKernelVersion:	7.2
405*1c4635cfSGuixin LiuContact:	Nilay Shroff <nilay@linux.ibm.com>
406*1c4635cfSGuixin LiuDescription:
407*1c4635cfSGuixin Liu		Namespace diagnostic counters for multipath
408*1c4635cfSGuixin Liu		configurations (when CONFIG_NVME_MULTIPATH is
409*1c4635cfSGuixin Liu		configured).
410*1c4635cfSGuixin Liu
411*1c4635cfSGuixin Liu		command_retries_count: I/O command retry counter.
412*1c4635cfSGuixin Liu
413*1c4635cfSGuixin Liu		command_error_count: I/O command error counter.
414*1c4635cfSGuixin Liu
415*1c4635cfSGuixin Liu		multipath_failover_count: Multipath failover counter.
416*1c4635cfSGuixin Liu
417*1c4635cfSGuixin Liu		io_requeue_no_usable_path_count: Counter of I/Os
418*1c4635cfSGuixin Liu		requeued because no usable path was available.
419*1c4635cfSGuixin Liu
420*1c4635cfSGuixin Liu		io_fail_no_available_path_count: Counter of I/Os
421*1c4635cfSGuixin Liu		failed because no available path existed.
422*1c4635cfSGuixin Liu
423*1c4635cfSGuixin Liu		All counters can be reset by writing any value.
424*1c4635cfSGuixin Liu
425*1c4635cfSGuixin LiuWhat:		/sys/class/nvme-subsystem/nvme-subsysX/model
426*1c4635cfSGuixin LiuWhat:		/sys/class/nvme-subsystem/nvme-subsysX/serial
427*1c4635cfSGuixin LiuWhat:		/sys/class/nvme-subsystem/nvme-subsysX/firmware_rev
428*1c4635cfSGuixin LiuWhat:		/sys/class/nvme-subsystem/nvme-subsysX/subsysnqn
429*1c4635cfSGuixin LiuDate:		November 2017
430*1c4635cfSGuixin LiuKernelVersion:	4.15
431*1c4635cfSGuixin LiuContact:	Hannes Reinecke <hare@suse.de>
432*1c4635cfSGuixin LiuDescription:
433*1c4635cfSGuixin Liu		Shows the model, serial number, firmware revision, or NQN
434*1c4635cfSGuixin Liu		of the NVMe subsystem.
435*1c4635cfSGuixin Liu
436*1c4635cfSGuixin LiuWhat:		/sys/class/nvme-subsystem/nvme-subsysX/iopolicy
437*1c4635cfSGuixin LiuDate:		February 2019
438*1c4635cfSGuixin LiuKernelVersion:	5.1
439*1c4635cfSGuixin LiuContact:	Hannes Reinecke <hare@suse.de>
440*1c4635cfSGuixin LiuDescription:
441*1c4635cfSGuixin Liu		Shows or sets the multipath I/O path selection policy for
442*1c4635cfSGuixin Liu		this subsystem. Accepted values: "numa", "round-robin",
443*1c4635cfSGuixin Liu		"queue-depth". Changing the policy clears all current path
444*1c4635cfSGuixin Liu		selections. Only available when CONFIG_NVME_MULTIPATH is
445*1c4635cfSGuixin Liu		enabled.
446*1c4635cfSGuixin Liu
447*1c4635cfSGuixin LiuWhat:		/sys/class/nvme-subsystem/nvme-subsysX/subsystype
448*1c4635cfSGuixin LiuDate:		September 2021
449*1c4635cfSGuixin LiuKernelVersion:	5.16
450*1c4635cfSGuixin LiuContact:	Hannes Reinecke <hare@suse.de>
451*1c4635cfSGuixin LiuDescription:
452*1c4635cfSGuixin Liu		Shows the subsystem type. Possible values: "discovery",
453*1c4635cfSGuixin Liu		"nvm", "reserved".
454