Skip to content

Releases: pmem/ndctl

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

ndctl: release v59.3

27 Mar 18:26
Compare
Choose a tag to compare
Fixes:
    create-namespace: fix minimum alignment detection
    list: fix sector_size listing
    API, smart: fix threshold temperature helper
    update-firmware: fix input/output size for NVDIMM_FAMILY_INTEL
    update-firmware: kill usage of flock() in verify_fw_file()
    test: fix module-taint sanity-check

ndctl: release v59.2

10 Feb 05:45
Compare
Choose a tag to compare
Fixes:
    Unit test fixups for package build environments.

ndctl: release v59.1

10 Feb 05:00
Compare
Choose a tag to compare
Fixes:
    Compile fixes for ARM and PowerPC

ndctl: release v59

10 Feb 00:07
Compare
Choose a tag to compare
This release incorporates functionality up to the 4.16 kernel, and
a number of bug fixes and improvements.

Highlights include new ACPI error injection DSM support, a variety
of smart enhancements that include getting and setting thresholds,
injecting smart attribute values and flags, support for firmware update,
and fixes for a BTT padding incompatibility.

Commands:
    ndctl inject-error - new command for media error injection
    ndctl disable-region - check for mounted namespaces
    ndctl {create,destroy}-namespace - clarify --force option
    ndctl create-namespace - clarify autolabel failures and fallback
    ndctl list - use 'fsdax' and 'devdax' modes
    ndctl update-firmware - new command for firmware update
    ndctl inject-smart - new command for setting smart thresholds
        and injecting arrtibutes

Tests:
    inject-error: new test for the error injection interfaces
    btt-errors: new test for media error handling in the BTT
    smart-listen: test for listening for smart triggers
    smart-notify: generate smart notifications
    hugetlb: test hugetlb faults
    btt-pad-incompat: regression test for the old and new versions
        of the btt log padding format
    update-firmware: test the firmware update process

Apis:
    ndctl_bb_get_block
    ndctl_bb_get_count
    ndctl_bus_get_scrub_count
    ndctl_bus_has_error_injection
    ndctl_bus_wait_for_scrub_completion
    ndctl_cmd_fw_fquery_get_fw_rev
    ndctl_cmd_fw_info_get_max_query_time
    ndctl_cmd_fw_info_get_max_send_len
    ndctl_cmd_fw_info_get_query_interval
    ndctl_cmd_fw_info_get_run_version
    ndctl_cmd_fw_info_get_storage_size
    ndctl_cmd_fw_info_get_updated_version
    ndctl_cmd_fw_start_get_context
    ndctl_cmd_fw_xlat_firmware_status
    ndctl_cmd_smart_get_ctrl_temperature
    ndctl_cmd_smart_get_media_temperature
    ndctl_cmd_smart_get_shutdown_count
    ndctl_cmd_smart_inject_fatal
    ndctl_cmd_smart_inject_media_temperature
    ndctl_cmd_smart_inject_spares
    ndctl_cmd_smart_inject_unsafe_shutdown
    ndctl_cmd_smart_threshold_get_ctrl_temperature
    ndctl_cmd_smart_threshold_get_media_temperature
    ndctl_cmd_smart_threshold_get_supported_alarms
    ndctl_cmd_smart_threshold_set_alarm_control
    ndctl_cmd_smart_threshold_set_ctrl_temperature
    ndctl_cmd_smart_threshold_set_media_temperature
    ndctl_cmd_smart_threshold_set_spares
    ndctl_cmd_smart_threshold_set_temperature
    ndctl_decode_smart_temperature
    ndctl_dimm_aliased
    ndctl_dimm_cmd_new_fw_abort
    ndctl_dimm_cmd_new_fw_finish
    ndctl_dimm_cmd_new_fw_finish_query
    ndctl_dimm_cmd_new_fw_get_info
    ndctl_dimm_cmd_new_fw_send
    ndctl_dimm_cmd_new_fw_start_update
    ndctl_dimm_cmd_new_smart_inject
    ndctl_dimm_cmd_new_smart_set_threshold
    ndctl_dimm_locked
    ndctl_encode_smart_temperature
    ndctl_namespace_inject_error
    ndctl_namespace_injection_get_first_bb
    ndctl_namespace_injection_get_next_bb
    ndctl_namespace_injection_status
    ndctl_namespace_uninject_error

ndctl: release v58.4

17 Nov 00:49
Compare
Choose a tag to compare
Fixes:
    unit tests: fix skip vs fail for rpm auto-build environments
    rpm spec: clean up version generation

ndctl: release v58.3

16 Nov 07:00
Compare
Choose a tag to compare
Fixes:

  ndctl:
    init-labels: fix label initialization to use valid seq numbers
    list: fix crash when listing idle device-dax instances
    check-namespace: fix use of uninitialized variable
    bash-completion: --align option requires an argument

  daxctl:
      io: fix device-dax alignment handling
      io: properly handle the input offset
      io: fix unknown parameter handling

ndctl: release v58.2

21 Sep 16:22
Compare
Choose a tag to compare
Fixes:
    create-namespace: fix NVDIMM-N sector size determination vs autolabel
    create-namespace: fix failure to reconfig to 'dax' mode from 'sector' mode
    list: sort dimms when resolving badblocks to nmemX device

Tests:
    sector-mode.sh: 'sector' and 'dax' mode conversions for NVDIMM-N

ndctl: release v58.1

09 Sep 01:07
Compare
Choose a tag to compare
Fix a false-negative unit test report for package build environments.

ndctl: release v58

09 Sep 00:35
Compare
Choose a tag to compare
This release incorporates the capabilities of the 4.13 kernel. Major
highlights include a new 'daxctl io' command for device-dax i/o, support
for the new capabilities of v1.2 namespace labels as defined by the UEFI
2.7 specification, expanded 'ndctl list' data and filtering
capabilities, and support for translating badblocks to the affected
dimm(s).

Commands:
    daxctl io: a new 'dd' like helper for device-dax
    ndctl list: add a 'human readable' output option
    ndctl list: support filtering by any device type
    ndctl list: display numa nodes
    ndctl list: display dimm interleave-set positions
    ndctl create-namespace: fix multiple device-dax-per-region support
    ndctl create-namespace: support sector size setting for pmem namespaces
    ndctl init-labels: v1.2 label specification support

Tests:
    multi-dax: test support for multiple device-dax-per-region
    dpa-alloc: update for v1.2 labels

Apis:
    ndctl_bus_get_region_by_physical_address: address to region translation
    ndctl_bus_get_dimm_by_physical_address: address to dimm translation
    ndctl_dimm_read_labels: helper to retrieve the DIMM's label area
    ndctl_dimm_validate_labels: parse namespace indices and labels
    ndctl_dimm_init_labels: write new namespace indices
    ndctl_dimm_sizeof_namespace_label: parse namespace label size
    ndctl_mapping_get_position: report order of a mapping in an iset
    ndctl_namespace_{set,get}_enforce_mode: the namespace mode
        (device-dax, memory, btt) can now be recorded in the namespace label
    ndctl_bus_is_nfit_cmd_supported: support for issuing NFIT-bus-specific commands