Skip to content

Releases: pmem/ndctl

ndctl: release v64

02 Feb 02:32
v64
f407a8b
Compare
Choose a tag to compare
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

ndctl: release v63

05 Oct 23:05
v63
cb2d678
Compare
Choose a tag to compare
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

ndctl: release v62

14 Aug 00:36
v62
11f560f
Compare
Choose a tag to compare
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

ndctl: release v61.2

06 Jul 23:40
v61.2
39ef3d0
Compare
Choose a tag to compare
Fixes:
    libndctl: fix the uninject API (v1) actually injecting errors

ndctl: release v61.1

26 Jun 23:45
v61.1
8162931
Compare
Choose a tag to compare
Fixes:
    Add autotools detection for MAP_SYNC

ndctl: release v61

26 Jun 17:42
v61
0d6aeea
Compare
Choose a tag to compare
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

ndctl: release v60.3

17 May 16:28
v60.3
5189cba
Compare
Choose a tag to compare
Fixes:
    ndctl: fix libtool versioning

ndctl: release v60.2

16 May 23:29
v60.2
58842a2
Compare
Choose a tag to compare
Fixes:
    inject-error: inject only 'clear_err_unit' bytes of error per sector

ndctl: release v60.1

23 Apr 19:36
v60.1
618aea1
Compare
Choose a tag to compare
Fixes:
    documentation: add inject-smart to the Makefile
    libndctl: fix ABI breakage due to rename of fw_info_get_updated_version

ndctl: release v60

18 Apr 18:37
v60
3f78a76
Compare
Choose a tag to compare
This release incorporates functionality up to the 4.17 kernel, and
a number of bug fixes and improvements.

Highlights include ack_shutdown_count support, fixes to tests that
performed error injections, refactor core topology walking into
util_filter_walk(), a new test for partition auto detection for btt/blk
namespacees, numa_node support for regions, cleanups to the firmware
update command, removal of daxctl io, support for persistence domains
for buses and regions, APIs for retrieving and setting the write_cache
attribute for namespacees, fixes to ARS APIs, new ARS control commands
in ndctl, and an API for the deep_flush attribute for regions.

Commands:
    ndctl list: option to display firmware information
    ndctl create-namespace: fix minimum alignment detection
    ndctl list: allow filtereing by numa node
    ndctl list: fix sector_size sometimes showing as -1
    daxctl io: remove as this functionality is provided in PMDK
    ndctl update-firmware: fix DSM input/output sizes
    various: replace direct errno prints with strerror strings
    ndctl read-labels: fix json reference counting
    various: replace refrences to 'memory' or 'dax' with 'devdax' or 'fsdax'
    ndctl list: report the bus scrub state
    ndctl {wait,start}-scrub: new commands for ARS control
    ndctl list: add a raw_uuid field to namespace listings

Tests:
    ack-shutdown-count-set: new test for the shutdown count APIs
    various: ensure we use the locally build 'ndctl'
    various: fix usage of error injection commands for older kernels
    btt-pad-compat: fix stale json being reused for future commands
    btt-pad-compat: explicitly request namespace size
    dpa-alloc: fix for kernels with 4M min namespace size
    btt-pad-compat: skip for pre-4k capable kernels
    firmware-update: remove fallocate
    rescan-partitions: new test for autodetection of partitions
    core: fix module taint sanity check
    libndctl: add write_cache testing in check_nameespaces()
    pmem-errors: fix locking vs new ARS reworks

Apis:
   ndctl_bus_get_persistence_domain
   ndctl_bus_get_scrub_state
   ndctl_bus_start_scrub
   ndctl_cmd_fw_info_get_next_version
   ndctl_dimm_cmd_new_ack_shutdown_count
   ndctl_dimm_fw_update_supported
   ndctl_namespace_disable_write_cache
   ndctl_namespace_enable_write_cache
   ndctl_namespace_write_cache_is_enabled
   ndctl_region_deep_flush
   ndctl_region_get_numa_node
   ndctl_region_get_persistence_domain