# ndctl-read-infoblock(1)

## NAME

ndctl-read-infoblock - read and optionally parse the info-block a namespace

## SYNOPSIS

ndctl read-infoblock  \<namespace0.0> \[\<namespace1.0>..\<namespaceN.Y>] \[\<options>]

## DESCRIPTION

As described in the theory of operation section of [ndctl-create-namespace](https://docs.pmem.io/ndctl-user-guide/v72.0/ndctl-create-namespace#theory-of-operation) , the raw capacity of a namespace may encapsulate a personality, or mode of operation. Specifically, the mode may be set to one of "sector", "fsdax", and "devdax". Each of those modes is defined by an info-block format that uniquely identifies the mode of operation. The read-infoblock command knows the location (relative to the start of the namespace) and field definition of those data structures.

Note that unlike a partition table info-block is not exposed by default, so the namespace needs to be disabled before the info-block can be accessed.

## EXAMPLE

```
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
  }
]
```

## OPTIONS

\<namespace(s)>

One or more *namespaceX.Y* device names. The keyword *all* can be specified to operate on every namespace in the system, optionally filtered by bus id (see --bus= option), or region id (see --region= option).

-V, --verify

Attempt to validate that the info-block is self consistent by validating the embedded checksum, and that info-block formats that contain a *parent-uuid* attribute also match the base-uuid of the namespace.

-o, --output

Output file

-j, --json

Parse the info-block data into json.

-i, --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).

-r, --region

A *regionX* device name, or a region id number. Restrict the operation to the specified region(s). The keyword *all* can be specified to indicate the lack of any restriction, however this is the same as not supplying a --region option at all.

## Copyright

Copyright (c) 2016 - 2019, 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

&#x20;[ndctl-create-namespace](https://docs.pmem.io/ndctl-user-guide/v72.0/ndctl-man-pages/ndctl-create-namespace) , [UEFI NVDIMM Label Protocol](http://www.uefi.org/sites/default/files/resources/UEFI_Spec_2_7.pdf)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pmem.io/ndctl-user-guide/v72.0/ndctl-man-pages/ndctl-read-infoblock.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
