Skip to content

@stellarhopper stellarhopper released this Oct 28, 2019

This release incorporates functionality up to the 5.4 kernel, and adds a
number of bug fixes, and improvements.

Highlights include small changes for PowerPC compatibility, improvements
to the dax.sh unit test to detect failures in mapping huge pages,
support for the 'security frozen' attribute, user experience
improvements for the daxctl-reconfigure-device command, including an
option to specify movable vs. non-movable state for onlining memory, and
an option to allow create-namespaces to create a maximal configuration
until it exhausts all available region capacity.

Commands:
  create-namespace: add --continue option
  daxctl-reconfigure-device: add --no-movable option
  daxctl-reconfigure-device: display movable state in listings
  daxctl-reconfigure-device: detect races in memory onlining
  security: support for 'security frozen' attribute

Tests:
  dax.sh: add detection for huge page failures
  dax.sh: add XFS reflink dependency
  daxctl-devices.sh: skip on older kernels

APIs:
  ndctl_dimm_security_is_frozen
  daxctl_memory_is_movable
  daxctl_memory_online_no_movable
Assets 2

@stellarhopper stellarhopper released this Aug 7, 2019 · 37 commits to master since this release

This release incorporates functionality up to the 5.3 kernel, and adds a
number of bug fixes, and improvements.

Highlights include a new command to reconfigure dax devices to
different modes (devdax - default, and system-ram - to hotplug the dax
device as system memory), improvements to ndctl-{read,write,init}-labels
allowing smaller sized reads/writes, usability fixes to ndctl-monitor,
and ndctl-create-namespace, and a fix to ndctl-check-namespace allowing
it to be used on systems with different page sizes.

Commands:
  daxctl-reconfigure-device: new command for device mode management
  daxctl-{on,off}line-memory: new commands for devices in system-ram mode
  monitor: logging improvements, allow sending to background
  inject-error: refuse to operate on activew BTT namespaces
  *-labels: improvements to minimize data transfer
  create-namespace: usability improvements around region search

Tests:
  security.sh: handle backup keys, mark test as 'destructive'
  device-dax: fix bus-model detection
  daxctl-devices: new test for daxctl-reconfigure-device

APIs:
  ndctl_cmd_cfg_read_set_extent
  ndctl_cmd_cfg_write_set_extent
  ndctl_dimm_read_label_extent
  ndctl_dimm_read_label_index
  ndctl_dimm_zero_label_extent
  daxctl_dev_disable
  daxctl_dev_enable_devdax
  daxctl_dev_enable_ram
  daxctl_dev_get_ctx
  daxctl_dev_get_memory
  daxctl_dev_get_resource
  daxctl_dev_get_target_node
  daxctl_dev_is_enabled
  daxctl_memory_get_block_size
  daxctl_memory_get_dev
  daxctl_memory_get_node_path
  daxctl_memory_is_online
  daxctl_memory_num_sections
  daxctl_memory_offline
  daxctl_memory_online
Assets 2

@stellarhopper stellarhopper released this May 11, 2019 · 71 commits to master since this release

This release incorporates functionality up to the 5.1 kernel, and adds a
number of bug fixes and improvements.

Highlights include a new command to clear errors on a given namespace, a
new travis YAML configuration to enable travis builds for Ubuntu, an
example QEMU script in contrib/ for HMAT emulation, an optional poll
interval for wait-scrub, several fixes related to the security commands,
support for the HYPER-V family of DSM commands, and several fixes to
tests, documentation, and related to building.

Commands:
    clear-errors: new command to clear errors on a namespace
    monitor: remove the requirement of a default config
    sanitize-dimm: allow a zero-key for secure-erase
    sanitize-dimm: preserve keys after an overwrite
    load-keys: fix for non-TPM keys

Tests:
    security: add a new testlet for load-keys
    test-core: add dax_pmem* modules
    misc: fix sys/mman.h vs linux/mman.h includes

APIs:
    ndctl_bus_poll_scrub_completion
Assets 2

@stellarhopper stellarhopper released this Feb 6, 2019

Fixes:
    Fix build issues around keyutils inclusion
Assets 2

@stellarhopper stellarhopper released this Feb 2, 2019 · 108 commits to master since this release

This release incorporates functionality up to the 5.0 kernel, and adds a
number of bug fixes and improvements.

Highlights include a migration path for the new dax-bus ABI, several
cleanups to ndctl-monitor, support for firmware status translation,
displaying the supported_alignments attribute, and using it in the
namespace creation process, and support for security operations as
defined in the Intel DSM specification.

Commands:
    inject-smart: check the firmware status for errors
    zero-labels: correctly handle firmware errors
    create-namespace: use supported_alignments when available
    Add new security commands

Tests:
    security.sh: new test for security commands
    device-dax: fix intermittent poison handling failures
    dsm-fail: cleanup leftover debug

APIs:
    ndctl_cmd_submit_xlat
    ndctl_cmd_xlat_firmware_status
    ndctl_dax_get_num_alignments
    ndctl_dax_get_supported_alignment
    ndctl_dimm_disable_passphrase
    ndctl_dimm_freeze_security
    ndctl_dimm_get_security
    ndctl_dimm_master_secure_erase
    ndctl_dimm_overwrite
    ndctl_dimm_secure_erase
    ndctl_dimm_update_master_passphrase
    ndctl_dimm_update_passphrase
    ndctl_dimm_wait_overwrite
    ndctl_pfn_get_num_alignments
    ndctl_pfn_get_supported_alignment
Assets 2

@stellarhopper stellarhopper released this Oct 5, 2018 · 164 commits to master since this release

This release incorporates functionality up to the 4.20 kernel, and a
number of bug fixes and improvements.

Highlights include switching the documentation build to asciidoctor by
default, fixes to destroy-namespace for reporting the number of
namespaces acted upon, using the namespace badblocks listings exported
by the kernel, and making them available to non-root users, a new helper
for retrieving the dirty-shutdown-count, reverting the udev rule to set
the shutdown count latch and cache the dirty-shutdown-count, and fixing
the ndctl-monitor daemon to exit successfully in the absence of NVDIMMs.

Commands:
    destroy-namespace: fix number of namespaces reported
    check-labels: fix the number of labels checked reporting
    monitor: exit daemon with success when no DIMMs found

Tests:
    Fix a missing include for list_smart_dimm
    pfn-meta-errors.sh: new test for clearing errors in the volatile
        'struct page' metadata area

APIs:
    ndctl_dimm_get_dirty_shutdown
    ndctl_namespace_get_first_badblock
    ndctl_namespace_get_next_badblock
Assets 2

@stellarhopper stellarhopper released this Aug 14, 2018 · 188 commits to master since this release

This release incorporates functionality up to the 4.19 kernel, and a
number of bug fixes and improvements.

Highlights include addition of the 'ndctl monitor' command to monitor
for SMART health events, use of the new max_available_extent sysfs
attribute for namespace creation, verbosity levels for ndctl-list, a
udev rule for enabling the LSS latch when supported, a bypass route
for making the unsafe shutdown count available for non-privileged users,
improvements to ndctl-inject-smart that include an 'uninject' option
for all fields, and a new unit test, a number of static analysis fixes,
and unit test improvements and fixes.

Commands:
    monitor: new command for monitoring SMART health events
    list: support -v, -vv, -vvv verbosity levels
    inject-smart: add --uninject-* and --uninject-all options
    create-namespace: use max_available_extent for namespace creation
    list: add new fields to -H for alarm_enabled_*
    list: always output JSON arrays when --human is absent

Tests:
    dax.sh: dax-poisonCheck for availability of MAP_SYNC
    dax.sh: fix return code
    device-dax: relax canned timeouts
    monitor: new test
    inject-smart: new test
    max_available_extent_ns: new test

APIs:
    ndctl_cmd_smart_inject_ctrl_temperature
    ndctl_dimm_get_event_flags
    ndctl_dimm_get_flags
    ndctl_dimm_get_health
    ndctl_dimm_is_flag_supported
    ndctl_dimm_smart_inject_supported
    ndctl_region_get_max_available_extent
Assets 2

@stellarhopper stellarhopper released this Jul 6, 2018 · 247 commits to master since this release

Fixes:
    libndctl: fix the uninject API (v1) actually injecting errors
Assets 2

@stellarhopper stellarhopper released this Jun 26, 2018 · 247 commits to master since this release

Fixes:
    Add autotools detection for MAP_SYNC
Assets 2

@stellarhopper stellarhopper released this Jun 26, 2018 · 248 commits to master since this release

This release incorporates functionality up to the 4.18 kernel, and
a number of bug fixes and improvements.

Highlights include a fix to the error injection APIs to inject fewer
bytes of errors per sector, support for building documentation with
asciidoctor in addition to asciidoc, multi-arrgument support for
util_<obj>_filter, and a new OPTION_FILENAME in option parsing. Unit
test updates include cleanups to unit test scripts refactoring out a
lot of common boilerplate, MADV_HWPOISON tests, and a new test for
capacity vs label locking.

Commands:
    inject-error: add a --saturate option to inject entire sectors
    list: display the 'map' location in namespace listings
    list: add controller temperature, and its threshold/alarm setting

Tests:
    dax-pmd, device-dax: add a test for MADV_HWPOISON
    sector-mode.sh: fix to work with updated label support in nfit_test
    common: source common bash functions and variables
    dsm-fail: test for capacity vs label locking
    libndctl: update for smart controller temperature
    various: disable tests that inject poison with dax until 4.19

APIs:
    ndctl_cmd_ars_cap_get_clear_unit
    ndctl_cmd_ars_stat_get_flag_overflow
    ndctl_namespace_inject_error2
    ndctl_namespace_uninject_error2
Assets 2
You can’t perform that action at this time.