logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

pmempool_feature_query(), pmempool_feature_enable(), pmempool_feature_disable() - toggle or query pool

Compatibility

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

Description

       The feature argument accepts following values:

       • PMEMPOOL_FEAT_SINGLEHDR - only the first part in each replica contains the pool part internal metadata.
         This value can be used only with pmempool_feature_query().  It can not be enabled or disabled.  For de‐
         tails see poolset(5).

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

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

       • PMEMPOOL_FEAT_CHECK_BAD_BLOCKS - enables checking bad blocks performed during opening a pool and fixing
         bad blocks performed by pmempool-sync during syncing a pool.  For details see pmempool-feature(1).

       The pmempool_feature_query() function checks state of feature in the pool set pointed by path.

       The pmempool_feature_enable() function enables feature in the pool set pointed by path.

       The pmempool_feature_disable() function disables feature in the pool set pointed by path.

Disclaimer

pmempool_feature_query(), pmempool_feature_enable() and pmempool_feature_disable() are not fail safe.

Name

pmempool_feature_query(),  pmempool_feature_enable(),  pmempool_feature_disable()  - toggle or query pool
       set features

Return Value

       On  success,  pmempool_feature_query() returns 0 if feature is disabled or 1 if it is enabled.  On error,
       it returns -1 and sets errno accordingly.

       On success, pmempool_feature_enable() returns 0.  On error, it returns -1 and sets errno accordingly.

       On success, pmempool_feature_disable() returns 0.  On error, it returns -1 and sets errno accordingly.

       If non zero flags are provided errno is set to EINVAL and function returns -1.

See Also

poolset(5) and <https://pmem.io>

Synopsis

              #include <libpmempool.h>

              int pmempool_feature_query(const char *path, enum pmempool_feature feature, unsigned flags);

              int pmempool_feature_enable(const char *path, enum pmempool_feature feature, unsigned flags);

              int pmempool_feature_disable(const char *path, enum pmempool_feature feature, unsigned flags);

See Also