1NDCTL-LIST(1)                                                    NDCTL-LIST(1)
2
3
4

NAME

6       ndctl-list - dump the platform nvdimm device topology and attributes in
7       json
8

SYNOPSIS

10       ndctl list [<options>]
11
12       Walk all the nvdimm buses in the system and list all attached devices
13       along with some of their major attributes.
14
15       Options can be specified to limit the output to devices of a certain
16       class. Where the classes are buses, dimms, regions, and namespaces. By
17       default, ndctl list with no options is equivalent to:
18
19       ndctl list --namespaces --bus=all --region=all
20

EXAMPLE

22           # ndctl list --buses --namespaces
23
24           {
25             "provider":"nfit_test.1",
26             "dev":"ndbus2",
27             "namespaces":[
28               {
29                 "dev":"namespace9.0",
30                 "mode":"raw",
31                 "size":33554432,
32                 "blockdev":"pmem9"
33               }
34             ]
35           }
36           {
37             "provider":"nfit_test.0",
38             "dev":"ndbus1"
39           }
40           {
41             "provider":"e820",
42             "dev":"ndbus0",
43             "namespaces":[
44               {
45                 "dev":"namespace0.0",
46                 "mode":"fsdax",
47                 "size":8589934592,
48                 "blockdev":"pmem0"
49               }
50             ]
51           }
52

OPTIONS

54       -r, --region=
55           A regionX device name, or a region id number. Restrict the
56           operation to the specified region(s). The keyword all can be
57           specified to indicate the lack of any restriction, however this is
58           the same as not supplying a --region option at all.
59
60       -b, --bus=
61           A bus id number, or a provider string (e.g. "ACPI.NFIT"). Restrict
62           the operation to the specified bus(es). The keyword all can be
63           specified to indicate the lack of any restriction, however this is
64           the same as not supplying a --bus option at all.
65
66       -d, --dimm=
67           An nmemX device name, or dimm id number. The dimm id number here is
68           X in nmemX. Filter listing by devices that reference the given
69           dimm. For example to see all namespaces comprised of storage
70           capacity on nmem0:
71
72           # ndctl list --dimm=nmem0 --namespaces
73
74       -n, --namespace=
75           An namespaceX.Y device name, or namespace region plus id tuple X.Y.
76           Limit the namespace list to the single identified device if
77           present.
78
79       -m, --mode=
80           Filter listing by the mode (raw, fsdax, sector or devdax) of the
81           namespace(s).
82
83       -U, --numa-node=
84           Filter listing by numa node
85
86       -B, --buses
87           Include bus info in the listing
88
89       -D, --dimms
90           Include dimm info in the listing
91
92           {
93             "dev":"nmem0",
94             "id":"cdab-0a-07e0-ffffffff",
95             "handle":0,
96             "phys_id":0,
97             "security:":"disabled"
98           }
99
100       -H, --health
101           Include dimm health info in the listing. For example:
102
103           {
104             "dev":"nmem0",
105             "health":{
106               "health_state":"non-critical",
107               "temperature_celsius":23,
108               "spares_percentage":75,
109               "alarm_temperature":true,
110               "alarm_spares":true,
111               "temperature_threshold":40,
112               "spares_threshold":5,
113               "life_used_percentage":5,
114               "shutdown_state":"clean"
115             }
116           }
117
118       -F, --firmware
119           Include firmware info in the listing, including the state and
120           capability of runtime firmware activation:
121
122           # ndctl list -BDF
123           [
124             {
125               "provider":"nfit_test.0",
126               "dev":"ndbus2",
127               "scrub_state":"idle",
128               "firmware":{
129                 "activate_method":"suspend",
130                 "activate_state":"idle"
131               },
132               "dimms":[
133                 {
134                   "dev":"nmem1",
135                   "id":"cdab-0a-07e0-ffffffff",
136                   "handle":0,
137                   "phys_id":0,
138                   "security":"disabled",
139                   "firmware":{
140                     "current_version":0,
141                     "can_update":true
142                   }
143                 },
144           ...
145           ]
146
147       -X, --device-dax
148           Include device-dax ("daxregion") details when a namespace is in
149           "devdax" mode.
150
151           {
152             "dev":"namespace0.0",
153             "mode":"devdax",
154             "size":4225761280,
155             "uuid":"18ae1bbb-bb62-4efc-86df-4a5caacb5dcc",
156             "daxregion":{
157               "id":0,
158               "size":4225761280,
159               "align":2097152,
160               "devices":[
161                 {
162                   "chardev":"dax0.0",
163                   "size":4225761280
164                 }
165               ]
166             }
167           }
168
169       -R, --regions
170           Include region info in the listing
171
172       -N, --namespaces
173           Include namespace info in the listing. Namespace info is listed by
174           default if no other options are specified to the command.
175
176       -i, --idle
177           Include idle (not enabled) devices in the listing
178
179       -c, --configured
180           Include configured devices (non-zero sized namespaces) regardless
181           of whether they are enabled, or not. Other devices besides
182           namespaces are always considered "configured".
183
184       -C, --capabilities
185           Include region capabilities in the listing, i.e. supported
186           namespace modes and variable properties like sector sizes and
187           alignments.
188
189       -M, --media-errors
190           Include media errors (badblocks) in the listing. Note that the
191           badblock_count property is included in the listing by default when
192           the count is non-zero, otherwise it is hidden. Also, if the
193           namespace is in sector mode the badblocks listing is not included
194           and badblock_count property may include blocks that are located in
195           metadata, or unused capacity in the namespace. Convert a sector
196           namespace into raw mode to list precise badblocks offsets.
197
198           {
199             "dev":"namespace7.0",
200             "mode":"raw",
201             "size":33554432,
202             "blockdev":"pmem7",
203             "badblock_count":17,
204             "badblocks":[
205               {
206                 "offset":4,
207                 "length":1
208               },
209               {
210                 "offset":32768,
211                 "length":8
212               },
213               {
214                 "offset":65528,
215                 "length":8
216               }
217             ]
218           }
219
220       -v, --verbose
221           Increase verbosity of the output. This can be specified multiple
222           times to be even more verbose on the informational and
223           miscellaneous output, and can be used to override omitted flags for
224           showing specific information.
225
226
227-v In addition to the enabled namespaces default output, show
228               the numa_node, raw_uuid, and bad block media errors.
229
230-vv Everything -v provides, plus automatically enable --dimms,
231               --buses, and --regions.
232
233-vvv Everything -vv provides, plus --health, --capabilities,
234               --idle, and --firmware. :: The verbosity can also be scoped by
235               the object type. For example to just list regions with
236               capabilities and media error info.
237
238           # ndctl list -Ru -vvv -r 0
239           {
240             "dev":"region0",
241             "size":"4.00 GiB (4.29 GB)",
242             "available_size":0,
243             "max_available_extent":0,
244             "type":"pmem",
245             "numa_node":0,
246             "target_node":2,
247             "capabilities":[
248               {
249                 "mode":"sector",
250                 "sector_sizes":[
251                   512,
252                   520,
253                   528,
254                   4096,
255                   4104,
256                   4160,
257                   4224
258                 ]
259               },
260               {
261                 "mode":"fsdax",
262                 "alignments":[
263                   4096,
264                   2097152,
265                   1073741824
266                 ]
267               },
268               {
269                 "mode":"devdax",
270                 "alignments":[
271                   4096,
272                   2097152,
273                   1073741824
274                 ]
275               }
276             ],
277             "persistence_domain":"unknown"
278           }
279
280       -u, --human
281           Format numbers representing storage sizes, or offsets as human
282           readable strings with units instead of the default machine-friendly
283           raw-integer data. Convert other numeric fields into hexadecimal
284           strings.
285
286           # ndctl list --region=7
287           {
288             "dev":"region7",
289             "size":67108864,
290             "available_size":67108864,
291             "type":"pmem",
292             "iset_id":-6382611090938810793,
293             "badblock_count":8
294           }
295
296           # ndctl list --human --region=7
297           {
298             "dev":"region7",
299             "size":"64.00 MiB (67.11 MB)",
300             "available_size":"64.00 MiB (67.11 MB)",
301             "type":"pmem",
302             "iset_id":"0xa76c6907811fae57",
303             "badblock_count":8
304           }
305

ENVIRONMENT VARIABLES

307       NDCTL_LIST_LINT
308           A bug in the "ndctl list" output needs to be fixed with care for
309           other tooling that may have developed a dependency on the buggy
310           behavior. The NDCTL_LIST_LINT variable is an opt-in to apply fixes,
311           and not regress previously shipped behavior by default. This
312           environment variable applies the following fixups:
313
314           •   Fix "ndctl list -Rv" to only show region objects and not
315               include namespace objects. ::
316
318       Copyright © 2016 - 2022, Intel Corporation. License GPLv2: GNU GPL
319       version 2 http://gnu.org/licenses/gpl.html. This is free software: you
320       are free to change and redistribute it. There is NO WARRANTY, to the
321       extent permitted by law.
322

SEE ALSO

324       linkndctl:ndctl-create-namespace[1]
325
326
327
328                                  08/03/2023                     NDCTL-LIST(1)
Impressum