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