Skip to content

PMDK Version 2.1.0

Latest
Compare
Choose a tag to compare
@osalyk osalyk released this 24 May 09:08
· 2 commits to stable-2.1 since this release
2.1.0

This release :

  • Introduces the new logging subsystem in the release build for all libraries.
    • Messages by default are printed to syslog and stderr but might be redirected to a user-defined function, see pmem(obj)_log_set_function() for details.
    • Log level thresholds are controlled via new API, see pmem(obj)_log_set_treshold() for details.
    • These new APIs are not available for LIBPMEM2 and LIBPMEMPOOL at the moment.
    • The new logging subsystem is suppressed in the debug build when any of the legacy debug logging environment variables is set:
      • PMEM_LOG_LEVEL_FILE
      • PMEM2_LOG_LEVEL_FILE
      • PMEMOBJ_LOG_LEVEL_FILE
      • PMEMPOOL_LOG_LEVEL_FILE
    • The debug logging subsystem becomes DEPRECATED.
  • Introduces fuses against ill-considered use of NDCTL_ENABLE=n.
    • PMEMOBJ_IGNORE_DIRTY_SHUTDOWN and PMEMOBJ_IGNORE_BAD_BLOCKS are required to acknowledge the understanding of what production-critical functions are missing for the build without NDCTL.
  • Does not allow create PMEMOBJ pool without unsafe shutdown counter (USC) if not explicitly disabled. (#5968)
    • use PMEMOBJ_CONF="sds.at_create=0" to disable USC when working without PMem (emulated PMem, Docker, etc.).
  • Drops support for building without libpthread (NO_LIBPTHREAD build-time define).