NDCTL-READ-INFOBLOCK(1)
π ndctl-read-infoblock β the tea on reading your info-blocks π
okay bestie, welcome to ndctl-read-infoblock, a lil gem from the ndctl manual. she's here to read β and if you want, parse β the info-block of a namespace. yes the whole thing. no crumbs. let's get into it π«Ά
β¨ NAME β¨
ndctl-read-infoblock β read and optionally parse the info-block a namespace
(it's giving "peek behind the curtain but make it a CLI command" and we're obsessed π )
πΈ SYNOPSIS πΈ
ndctl read-infoblock <namespace0.0> [<namespace1.0>..<namespaceN.Y>] [<options>]
π¦ DESCRIPTION π¦
so real talk, as described in the theory of operation section of ndctl-create-namespace(1), the raw capacity of a namespace can encapsulate a personality, aka a mode of operation. specifically, that mode can be set to one of "sector", "fsdax", or "devdax". each of those modes is defined by an info-block format that uniquely identifies the mode of operation β like a lil ID card for your namespace's whole vibe. π₯
and the read-infoblock command? she knows the location (relative to the start of the namespace) and the field definition of those data structures. she studied. she did the homework. π
β οΈ important note, bestie: unlike a partition table, the info-block is not exposed by default. so the namespace needs to be disabled before the info-block can be accessed. you literally cannot skip this step, it's not a suggestion, it's the rules π
π EXAMPLE π
here's the whole flow, no cap:
ndctl disable-namespace namespace0.0
disabled 1 namespace
ndctl read-infoblock -j namespace0.0
[
{
"dev":"namespace0.0",
"signature":"NVDIMM_PFN_INFO",
"uuid":"56b11990-66b1-4d91-9cac-ca084c051259",
"parent_uuid":"00000000-0000-0000-0000-000000000000",
"flags":0,
"version":"1.3",
"dataoff":69206016,
"npfns":1031680,
"mode":2,
"start_pad":0,
"end_trunc":0,
"align":2097152
}
]
look at that JSON. she's structured. she's beautiful. she ATE. π
β¨ OPTIONS β¨
<namespace(s)>β one or morenamespaceX.Ydevice names. and yes, you can pass the keywordallto operate on every namespace in the system, optionally filtered by bus id (see the--bus=option), or region id (see the--region=option). live your group-project dreams, operate on everyone π«-V,--verifyβ attempt to validate that the info-block is self consistent by validating the embedded checksum, and that info-block formats that contain aparent-uuidattribute also match the base-uuid of the namespace. it's the vibe check option. it's literally a vibe check. π§-o,--outputβ output file-j,--jsonβ parse the info-block data into json. give the people (and the scripts) what they want π-u,--humanβ enable json output and convert number formats to human readable strings, for example show the size in terms of"KB","MB","GB", etc instead of a signed 64-bit numbers per the JSON interchange format (implies--json). no more squinting at a giant number like it's a captcha, we're being β¨readableβ¨ out here-r,--region=β aregionXdevice name, or a region id number. restrict the operation to the specified region(s). the keywordallcan be specified to indicate the lack of any restriction, however this is the same as not supplying a--regionoption at all. so like,allis just the long way of saying nothing. iconic behavior honestly π
π COPYRIGHT π
Copyright Β© 2016 - 2022, Intel Corporation. License GPLv2: GNU GPL version 2 http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
π SEE ALSO π
ndctl-create-namespace(1)- UEFI NVDIMM Label Protocol <http://www.uefi.org/sites/default/files/resources/UEFI_Spec_2_7.pdf>
and that's the whole page, bestie!! this one's from the ndctl manual, dated 2026-07-07, and it lives under the name NDCTL-READ-INFOBLOCK(1). go forth, disable that namespace, read that info-block, and slay πβ¨πΈπ¦π π«Ά
π¦ where this page comes from
- fedora 43: ndctl 85-1.fc43 Β· GPL-2.0-only AND LGPL-2.1-only AND CC0-1.0 AND MIT
- fedora 44: ndctl 85-1.fc44 Β· GPL-2.0-only AND LGPL-2.1-only AND CC0-1.0 AND MIT
- ubuntu stonking: ndctl 82-1ubuntu1 Β· LGPL-2.1-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms