Releases: pmem/pmdk
PMDK Version 1.8-rc2
PMDK Version 1.8-rc2
PMDK Version 1.8-rc1
PMDK Version 1.8-rc1
PMDK Version 1.7
This release:
- Introduces new APIs in libpmemobj for managing space used by transactions.
(see pmemobj_tx_log_append_buffer man page for details) - Introduces new APIs in librpmem, splitting rpmem_persist into rpmem_flush
and rpmem_drain, allowing applications to use the flush + drain model
already known from libpmem. (libpmemobj does not use this feature yet) - Optimizes large libpmemobj transactions by significantly reducing
the amount of memory modified at the commit phase. - Optimizes tracking of libpmemobj reservations.
- Adds new flags for libpmemobj's pmemobj_tx_xadd_range[_direct] API:
POBJ_XADD_NO_SNAPSHOT and POBJ_XADD_ASSUME_INITIALIZED, allowing
applications to optimize how memory is tracked by the library.
To support some of the above changes the libpmemobj on-media layout had
to be changed, which means that old pools have to be converted using
pmdk-convert >= 1.7.
Other changes:
- obj: fix merging of ranges when NOFLUSH flag is used (pmem/issues#1100)
- rpmem: fix closing of ssh connection (pmem/issues#995, pmem/issues#1060)
- obj: abort transaction on pmemobj_tx_publish failure
Internal changes:
- test: fault injection tests for pmemblk, pmemlog, and pmemobj
- test: improved Python testing framework
- test: support real pmem in bad blocks tests
- common: allow not building examples and benchmarks
PMDK Version 1.7-rc2
PMDK Version 1.7-rc2
PMDK Version 1.7-rc1
PMDK Version 1.7-rc1
PMDK Version 1.4.3
This release fixes possible pool corruptions on Windows (see #3728 for details) and improves compatibility with newer Linux kernels with respect to Device DAX detection.
Bug fixes:
- common: (win) fix possible pool file coruption (pmem/issues#972, pmem/issues#715, pmem/issues#603)
- common: implement correct / robust device_dax_alignment (pmem/issues#1071)
- common: fix device dax detection
- obj: fix pmemobj_check for pools with some sizes (pmem/issues#975)
- obj: fix type numbers for pmemobj_list_insert_new
- obj: fix pmemobj_tx_lock error handling
- obj: fix possible memory leak in tx_add_lock
- common: fix ctl_load_config during libpmemobj initialization (pmem/issues#917)
- common: win: fix getopt returning "option is ambiguous"
- common: fix persistent domain detection (pmem/issues#1093)
- pool: do not copy same regions in update_uuids
- test: split test obj_tx_lock into two test cases
- test: remove checking errno in obj_tx_add_range_direct
- test: remove invalid expect_normal_exit
- test: fix int overflow in pmem_deep_persist test
- test: fix pmempool_check test
- test: (win) fix a few issues related to long paths
PMDK Version 1.5.2
This release fixes possible pool corruptions on Windows (see #3728 for details), improves compatibility with newer Linux kernels with respect to Device DAX detection, fixes pmemobj space management for large pools, improves compatibility with newer toolchains and fixes a number of smaller bugs.
Detailed list of bug fixes:
- common: (win) fix possible pool file corruption (pmem/issues#972, pmem/issues#715, pmem/issues#603)
- common: implement correct / robust device_dax_alignment (pmem/issues#1071)
- obj: fix crash after large undo log recovery
- obj: fix recycler not locating unused chunks
- doc: update pmemobj_tx_lock documentation wrt behavior on fail
- common: fix build of rpm packages on suse (pmem/issues#1023)
- common: fix persistent domain detection (pmem/issues#1093)
- common: vecq: fix a pointer-to-struct aliasing violation (crash on arm64)
- rpmem: lock file prior to unlink (pmem/issues#833)
- common: fix for pool_set error handling (pmem/issues#1036)
- pmreorder: fix handling of store drain flush drain pattern
- obj: fix possible memory leak in tx_add_lock
- pool: free bad_block vector
- common: fix bug in badblock file error handling
- obj: fix handling of malloc failures
- common: fix handling of malloc failures (ctl)
- jemalloc: fix build with gcc 9
- obj: don't overwrite errno when palloc_heap_check_remote fails
- doc: fix typos in pmreorder configuration
- doc: fix pmreorder emit log macro
- tools: link with release variant of pmemcommon
- test: support Valgrind 3.15
- test: skip if fi_info is missing
- test: split test obj_tx_lock into two test cases (pmem/issues#1027)
- test: (win) fix sparsefile error handling
- test: fix libpmempool_feature tests that match logs
- test: remove vmem_delete test (pmem/issues#1074)
- test: adjust matchfiles in vmem_valgrind_region test (pmem/issues#1087)
- test: remove old log files for windows (pmem/issues#1013)
- test: remove invalid expect_normal_exit (pmem/issues#1092)
- test: suppress ld leak (pmem/issues#1098)
- test: fix failing pmemdetect on Windows
- test: fix match files in tests which use dax devices
- test: fix pmempool_check test
PMDK Version 1.6.1
This release fixes possible pool corruptions on Windows (see #3728 for details), improves compatibility with newer Linux kernels with respect to Device DAX detection, fixes pmemobj space management for large pools, improves compatibility with newer toolchains, incorporates build fixes for FreeBSD and fixes a number of smaller bugs.
Detailed list of bug fixes:
- common: (win) fix possible pool file corruption (pmem/issues#972, pmem/issues#715, pmem/issues#603)
- common: implement correct / robust device_dax_alignment (pmem/issues#1071)
- obj: fix recycler not locating unused chunks
- doc: update pmemobj_tx_lock documentation wrt behavior on fail
- common: fix persistent domain detection (pmem/issues#1093)
- common: vecq: fix a pointer-to-struct aliasing violation (crash on arm64)
- common: fix minor issues related to ndctl linking
- obj: drop recursion from pmemobj_next
- common: fix bug in badblock file error handling
- obj: fix handling of malloc failures
- common: fix handling of malloc failures (ctl)
- jemalloc: fix build with gcc 9
- obj: don't overwrite errno when palloc_heap_check_remote fails
- doc: fix pmreorder emit log macro
- rpmem: change order of rpmem init (pmem/issues#1043)
- common: Fix build failure due to unused macro PAGE_SIZE
- common: support older versions of pkg-config
- tools: link with release variant of pmemcommon
- common: add PMDK prefix to local copy of queue.h (pmem/issues#990)
- rpmem: switch to using an open coded basename (FreeBSD)
- common: posix_fallocate: guard against integer underflow in check (FreeBSD)
- test: support Valgrind 3.15
- test: skip if fi_info is missing
- test: (win) fix sparsefile error handling
- test: fix libpmempool_feature tests that match logs
- test: remove vmem_delete test (pmem/issues#1074)
- test: adjust matchfiles in vmem_valgrind_region test (pmem/issues#1087)
- test: remove old log files for windows (pmem/issues#1013)
- test: remove invalid expect_normal_exit (pmem/issues#1092)
- test: suppress ld leak (pmem/issues#1098)
- test: Expose necessary symbols in libvmmalloc_dummy_funcs (FreeBSD)
- test: fix tests failing because
tput
fails (FreeBSD) - test: avoid obj_critnib_mt taking very long on many-core machines
- test: deal with libndctl's path without build system
- test: overwrite old log in pmempool_create/TEST14.PS1
- test: fix match files in tests which use dax devices
- test: fix match file in rpmem_addr_ext test
- test: fix pmempool_check test
NVML/PMDK Version 1.3.3
Bug fixes:
- pmem: fix clflush bit position
- common: implement correct / robust device_dax_alignment
- common: fix device dax detection
- common: fix library dependencies (pmem/issues#767)
- common: use rpm-config CFLAGS/LDFLAGS when building packages (pmem/issues#768)
- test: fix vmmalloc_malloc_hooks (pmem/issues#773)
- test: fix compilation with clang-5.0 (pmem/issues#783)
- pool: fix set convert of v3 -> v4
- common: generate pkg-config files on make install (pmem/issues#610)
- common: fix dependencies for Debian's dev packages
- test: add missing include in unittest.h
- common: (win) fix timed locks
- common: provide src version in GitHub tarballs
- common: fix free function in tls
NVML/PMDK Version 1.2.4
Bug fixes:
- common: fix device dax detection (compatibility with newer kernels)