pmem Tools version 1.4

The PMDK repository on GitHub is the ultimate source of information on PMDK from release 2.0! For all questions and to submit eventual issues please follow to that repository. The PMDK documentation collected here should be valid up to the 1.13.1 release but is maintained only on a best-effort basis and may not reflect the latest state of the art.



pmempool-feature - toggle or query pool set features


$ pmempool feature (-e|-d|-q feature-name) [options] <file>


The pmempool feature command enables / disables or queries pool set features.

Available pool feature-names are:

  • SINGLEHDR - only the first part in each replica contains the pool part internal metadata. This value can be used only with -q. It can not be enabled or disabled. For details see poolset(5).

  • CHECKSUM_2K - only the first 2KiB of pool part internal metadata is checksummed. Other features may depend on this one to store additional metadata in otherwise unused second 2KiB part of a header. When CHECKSUM_2K is disabled whole 4KiB is checksummed.

  • SHUTDOWN_STATE - enables additional check performed during pool open which verifies pool consistency in the presence of dirty shutdown. CHECKSUM_2K has to be enabled prior to SHUTDOWN_STATE otherwise enabling SHUTDOWN_STATE will fail.

  • CHECK_BAD_BLOCKS - enables checking bad blocks performed during opening a pool and fixing bad blocks performed by pmempool-sync during syncing a pool. Currently (Linux kernel v4.19, libndctl v62) checking and fixing bad blocks require read access to the following resource files (containing physical addresses) of NVDIMM devices which only root can read by default:


It is possible to use poolset as file argument. But poolsets with remote replicas are not supported.

Available options:

-h, --help

Print help message.

-v, --verbose

Increase verbosity level.

-e, --enable feature-name

Enable feature for pool set.

-d, --disable feature-name

Disable feature for pool set.

-q, --query feature-name

Print feature status.


Poolsets with features not defined in this document (e.g. enabled by the newer software version) are not supported.


pmempool feature command is not fail safe.


$ pmempool feature --enable CHECKSUM_2K pool.set

Enables POOL_FEAT_CKSUM_2K incompat feature flag.

$ pmempool feature --disable CHECKSUM_2K pool.set

Disables POOL_FEAT_CKSUM_2K incompat feature flag.

$ pmempool feature --query CHECKSUM_2K pool.set

Prints POOL_FEAT_CKSUM_2K incompat feature flag value.


poolset(5) and

The contents of this web site and the associated GitHub repositories are BSD-licensed open source.