Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F107169054
D24638.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
6 KB
Referenced Files
None
Subscribers
None
D24638.diff
View Options
Index: head/sbin/nvmecontrol/nvmecontrol.8
===================================================================
--- head/sbin/nvmecontrol/nvmecontrol.8
+++ head/sbin/nvmecontrol/nvmecontrol.8
@@ -1,4 +1,5 @@
.\"
+.\" Copyright (c) 2020 Warner Losh <imp@FreeBSD.org>
.\" Copyright (c) 2018-2019 Alexander Motin <mav@FreeBSD.org>
.\" Copyright (c) 2012 Intel Corporation
.\" All rights reserved.
@@ -34,7 +35,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 5, 2019
+.Dd April 30, 2020
.Dt NVMECONTROL 8
.Os
.Sh NAME
@@ -47,8 +48,8 @@
.Ic identify
.Op Fl v
.Op Fl x
-.Aq device id
-.Aq namespace id
+.Op Fl n Ar nsid
+.Aq Ar device-id | Ar namespace-id
.Nm
.Ic perftest
.Aq Fl n Ar num_threads
@@ -56,10 +57,10 @@
.Op Fl p
.Aq Fl s Ar size_in_bytes
.Aq Fl t Ar time_in_sec
-.Aq namespace id
+.Aq Ar namespace-id
.Nm
.Ic reset
-.Aq controller id
+.Aq Ar device-id
.Nm
.Ic logpage
.Aq Fl p Ar page_id
@@ -69,26 +70,25 @@
.Op Fl f Ar LSP
.Op Fl i Ar LSI
.Op Fl r
-.Aq device id
-.Aq namespace id
+.Aq Ar device-id | Ar namespace-id
.Nm
.Ic ns active
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic ns allocated
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic ns attach
.Aq Fl n Ar nsid
.Aq Fl c Ar cntid
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic ns attached
.Aq Fl n Ar nsid
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic ns controllers
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic ns create
.Aq Fl s Ar nsze
@@ -100,33 +100,32 @@
.Op Fl l Ar pil
.Op Fl L Ar flbas
.Op Fl d Ar dps
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic ns delete
.Aq Fl n Ar nsid
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic ns detach
.Aq Fl n Ar nsid
.Aq Fl c Ar cntid
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic ns identify
.Op Fl v
.Op Fl x
.Aq Fl n Ar nsid
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic nsid
-.Aq device id
-.Aq namespace id
+.Aq Ar device-id | Ar namespace-id
.Nm
.Ic resv acquire
.Aq Fl c Ar crkey
.Op Fl p Ar prkey
.Aq Fl t Ar rtype
.Aq Fl a Ar racqa
-.Aq namespace id
+.Aq Ar namespace-id
.Nm
.Ic resv register
.Op Fl c Ar crkey
@@ -134,25 +133,25 @@
.Aq Fl r Ar rrega
.Op Fl i Ar iekey
.Op Fl p Ar cptpl
-.Aq namespace id
+.Aq Ar namespace-id
.Nm
.Ic resv release
.Aq Fl c Ar crkey
.Aq Fl t Ar rtype
.Aq Fl a Ar rrela
-.Aq namespace id
+.Aq Ar namespace-id
.Nm
.Ic resv report
.Op Fl e
.Op Fl v
.Op Fl x
-.Aq namespace id
+.Aq Ar namespace-id
.Nm
.Ic firmware
.Op Fl s Ar slot
.Op Fl f Ar path_to_firmware
.Op Fl a
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic format
.Op Fl f Ar fmt
@@ -161,8 +160,7 @@
.Op Fl l Ar pil
.Op Fl E
.Op Fl C
-.Aq device id
-.Aq namespace id
+.Aq Ar device-id | Ar namespace-id
.Nm
.Ic sanitize
.Aq Fl a Ar sanact
@@ -172,7 +170,7 @@
.Op Fl r
.Op Fl I
.Op Fl U
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic power
.Op Fl l
@@ -181,25 +179,57 @@
.Nm
.Ic wdc cap-diag
.Op Fl o path_template
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic wdc drive-log
.Op Fl o path_template
-.Aq device id
+.Aq Ar device-id
.Nm
.Ic wdc get-crash-dump
.Op Fl o path_template
-.Aq device id
+.Aq Ar device-id
.\" .Nm
.\" .Ic wdc purge
-.\" .Aq device id
+.\" .Aq device-id
.\" .Nm
.\" .Ic wdc purge-monitor
-.\" .Aq device id
+.\" .Aq device-id
.Sh DESCRIPTION
NVM Express (NVMe) is a storage protocol standard, for SSDs and other
high-speed storage devices over PCI Express.
.Pp
+.Ss identify
+The identify commands reports information from the drive's
+.Dv IDENTIFY_CONTROLLER
+if a
+.Ar device-id
+is specified.
+It reports
+.Dv IDENTIFY_NAMESPACE
+data if a
+.Ar namespace-id
+is specified.
+When used with disk names, the
+.Dv IDENTIFY_NAMESPACE
+data is reported, unless the namespace
+.Ar nsid
+is overridden with the
+.Fl n
+flag.
+Then that namespace's data is reported, if it exists.
+The command accepts the following parameters:
+.Bl -tag -width 6n
+.It Fl n
+The namespace
+.Aq nsid
+to use instead of the namespace associated with the device.
+A
+.Ar nsid
+of
+.Dq 0
+is used to retrieve the
+.Dv IDENTIFY_CONTROLLER
+data associated with that drive.
.Ss logpage
The logpage command knows how to print log pages of various types.
It also knows about vendor specific log pages from hgst/wdc and intel.
@@ -250,6 +280,12 @@
Various namespace management commands.
If namespace management is supported by device, allow list, create and delete
namespaces, list, attach and detach controllers to namespaces.
+.Ss nsid
+Reports the namespace id and controller device associated with the
+.Aq Ar namespace-id
+or
+.Aq Ar device-id
+argument.
.Ss resv acquire
Acquire or preempt namespace reservation, using specified parameters:
.Bl -tag -width 6n
@@ -430,19 +466,54 @@
by .bin.
These logs must be sent to the vendor for analysis.
This tool only provides a way to extract them.
+.Sh DEVICE NAMES
+Where
+.Aq Ar namespace-id
+is required, you can use either the
+.Pa nvmeXnsY
+device, or the disk device such as
+.Pa ndaZ
+or
+.Pa nvdZ .
+The leading
+.Pa /dev/
+is omitted.
+Where
+.Aq Ar device-id
+is required, you can use either the
+.Pa nvmeX
+device, or the disk device such as
+.Pa nda Z
+or
+.Pa nvdZ .
+For commands that take an optional
+.Aq nsid
+you can use it to get information on other namespaces, or to query the
+drive itself.
+A
+.Aq nsid
+of
+.Dq 0
+means query the drive itself.
.Sh EXAMPLES
.Dl nvmecontrol devlist
.Pp
Display a list of NVMe controllers and namespaces along with their device nodes.
.Pp
.Dl nvmecontrol identify nvme0
+.Dl nvmecontrol identify -n 0 nvd0
.Pp
-Display a human-readable summary of the nvme0 IDENTIFY_CONTROLLER data.
+Display a human-readable summary of the nvme0
+.Dv IDENTIFY_CONTROLLER
+data.
+In this example, nvd0 is connected to nvme0.
.Pp
.Dl nvmecontrol identify -x -v nvme0ns1
+.Dl nvmecontrol identify -x -v -n 1 nvme0
.Pp
-Display an hexadecimal dump of the nvme0 IDENTIFY_NAMESPACE data for namespace
-1.
+Display an hexadecimal dump of the nvme0
+.Dv IDENTIFY_NAMESPACE
+data for namespace 1.
.Pp
.Dl nvmecontrol perftest -n 32 -o read -s 512 -t 30 nvme0ns1
.Pp
@@ -451,8 +522,10 @@
Results are printed to stdout when 30 seconds expires.
.Pp
.Dl nvmecontrol reset nvme0
+.Dl nvmecontrol reset nda4
.Pp
Perform a controller-level reset of the nvme0 controller.
+In this example, nda4 is wired to nvme0.
.Pp
.Dl nvmecontrol logpage -p 1 nvme0
.Pp
@@ -500,6 +573,24 @@
.Dl nvmecontrol power nvme0
.Pp
Get the current power mode.
+.Pp
+.Dl nvmecontrol identify -n 0 nda0
+.Pp
+Identify the drive data associated with the
+.Pa nda0
+device.
+The corresponding
+.Pa nvmeX
+devices is used automatically.
+.Pp
+.Dl nvmecontrol identify nda0
+.Pp
+Get the namespace parameters associated with the
+.Pa nda0
+device.
+The corresponding
+.Pa nvmeXnsY
+device is used automatically.
.Sh DYNAMIC LOADING
The directories
.Pa /lib/nvmecontrol
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Jan 12, 4:31 AM (2 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15761159
Default Alt Text
D24638.diff (6 KB)
Attached To
Mode
D24638: Various improvements to the nvmecontrol man page:
Attached
Detach File
Event Timeline
Log In to Comment