Skip to content

@marcinslusarz marcinslusarz released this Sep 30, 2019 · 196 commits to master since this release

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:

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
Assets 4
Pre-release
Pre-release

@marcinslusarz marcinslusarz released this Sep 26, 2019 · 200 commits to master since this release

PMDK Version 1.7-rc2
Assets 4
Pre-release
Pre-release

@marcinslusarz marcinslusarz released this Sep 24, 2019 · 269 commits to master since this release

PMDK Version 1.7-rc1
Assets 4

@marcinslusarz marcinslusarz released this Aug 30, 2019 · 2633 commits to master since this release

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
Assets 4

@marcinslusarz marcinslusarz released this Aug 30, 2019 · 1047 commits to master since this release

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
Assets 4

@marcinslusarz marcinslusarz released this Aug 30, 2019 · 633 commits to master since this release

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
Assets 4

@marcinslusarz marcinslusarz released this Aug 30, 2019 · 3935 commits to master since this release

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
Assets 4

@marcinslusarz marcinslusarz released this Aug 30, 2019 · 5279 commits to master since this release

Bug fixes:

  • common: fix device dax detection (compatibility with newer kernels)
Assets 4
Aug 9, 2019
PMDK Version 1.6.1-rc1
Aug 9, 2019
PMDK Version 1.5.2-rc1
You can’t perform that action at this time.