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