Skip to content

Releases: pmem/ndctl

ndctl: release v57.1

30 Jun 21:39
Compare
Choose a tag to compare
This minor releases addresses stability issues, static analysis
reports, and other minor fixups.

Commands:
    ndctl list: fix false positive badblocks reports

ndctl: release v57

27 May 21:17
Compare
Choose a tag to compare
This release incorporates the capabilities of the 4.12 kernel. Major
highlights include the new 'ndctl check-namespace' utility to check and
repair btt instances, new option to 'ndctl list' to enumerate device
relative error offsets, and support for the "JEDEC Byte-Addressable
Energy-Backed Interface NVDIMM" SMART health format.

Commands:
    ndctl check-namespace: check and repair a btt instance
    ndctl list: new '--media-errors' option
    ndctl list: add acpi 6.1 dimm health state flags
    ndctl write-labels: new command to deploy data to dimm label areas

Tests:
    blk-exhaust: validate aliased pmem vs blk capacity accounting
    daxdev-errors: error injection and clearing for device-dax
    device-dax-fio: i/o traffic sanity check for device-dax
    label-compat: regression test for interleave-set-cookie compatibility

Apis:
    ndctl_dimm_has_notifications: acpi 6.1 health-state notification flag
    ndctl_dimm_failed_map: acpi 6.1 map failure flag
    ndctl_region_get_resource: region resource base address
    ndctl_region_get_{first,next}_badblock: media error enumeration
    ndctl_namespace_disable_safe: check for busy block device before disable
    ndctl_namespace_is_active: check if namespace is enabled or claimed

ndctl: release v56

11 Feb 09:36
Compare
Choose a tag to compare
This release incorporates the capabilities of the 4.10 kernel. Major
highlights include the new 'daxctl' utility and its 'list' command, as
well as several usability tweaks and cleanups to 'ndctl
create-namespace' and 'ndctl list'.

Commands:
    ndctl list: add support for filtering by namespace mode
    daxctl list: generically list device-dax instances in a platform
    ndctl create-namespace: reconcile namespace size against interleave-width

Tests:
    test: sanity check the unit test kernel modules befor running tests
    device-dax: extend it to test 4K and 1G alignments in addition to 2M
    multi-pmem: check namespace deletion cleanup

Apis:
    ndctl_{pfn,dax}_has_align: detect kernels that lack the align attribute
    ndctl_{set,get}_private_data: attach private data to a library context
    daxctl_region_get_size: retrieve the total dax region size
    daxctl_region_get_align: retrieve the physical alignment of the region
    daxctl_region_get_{first,next}: enable listing of device-dax regions

ndctl: release v55

22 Oct 02:15
Compare
Choose a tag to compare
This release incorporates the capabilities of the 4.9 kernel. Major
highlights include support for retrieving the health status of HPE
NVDIMMs, and new label manipulation / validation commands.

Commands:
    list: add HPE NVDIMM health reporting
    init-labels: initialize a namespace-label index-block
    check-labels: validate a namespace-label index-block
    create-namespace: fix crash when target region disabled
    bash-completion: add {en,dis}able-dimm and {check,init}-labels support

Tests:
    dsm-fail: check that namespaces stay disabled when label DSMs fail
    multi-pmem: validate pmem-region sub-division support
    libndctl: add btt-size check
    libndctl: test health event notification support
    device-dax: validate "invalidate on shutdown" behavior of dax devices
    device-dax: validate direct-i/o to device-dax mappings
    device-dax: check kernel fix for file offset to phys offset translation
    device-dax: check kernel fix for crash when reading /proc/<pid>/smaps
    clear: check kernel fix for making cleared badblocks stay cleared

Apis:
    daxctl_region_get_available_size: new, in support of dax sub-division
    daxctl_region_get_devname: new, in support of dax sub-division
    daxctl_region_get_dev_seed: new, in support of dax sub-division
    ndctl_dimm_get_health_eventfd: new, fires upon firmware health event notification
    ndctl_cmd_cfg_read_get_size: new, simplifies label manipulation routines
    ndctl_dimm_get_available_labels: fix error return value to be ULONG_MAX
    ndctl_region_get_available_size: fix error return value to be ULLONG_MAX
    ndctl_dimm_cmd_new_cfg_{read,write}: fix to not overflow label area size

ndctl: release v54

05 Aug 20:25
Compare
Choose a tag to compare
This release incorporates the capabilities of the 4.8 kernel.  Updates
to the unit tests make up the bulk of this release to account for kernel
commit 1ee6667cd8d1 "libnvdimm, pfn, dax: fix initialization vs
autodetect for mode + alignment".

Commands:
    list: add device-dax information
    list: add btt size information
    create-namespace: fix handling of invalid sector sizes
    create-namespace: static analysis fixes
    bash-completion: namespace completion enhancements

Tests:
    libndctl: updates for pfn and dax autodetect changes
    libndctl: new gates for running against older kernels
    device-dax: new
    pcommit: remove, the pcommit instruction has been deprecated

Apis:
    ndctl_dimm_get_manufacturing_date: new
    ndctl_dimm_get_manufacturing_location: new
    ndctl_btt_get_size: new
    ndctl_cmd_unref: fix, accepts NULL input

ndctl: release v53.1

28 May 18:58
Compare
Choose a tag to compare
Fix up source url vs tag format confusion.

ndctl: release v52

29 Mar 22:57
Compare
Choose a tag to compare

This release incorporates the capabilities of the 4.6 kernel (most
prominently 'clear poison' support), and adds the below features and
fixes:

New apis:
ndctl_invalidate
ndctl_cmd_ars_cap_get_range
ndctl_bus_cmd_new_clear_error
ndctl_cmd_clear_error_get_cleared
ndctl_namespace_get_resource
ndctl_pfn_get_size
ndctl_pfn_get_resource

Api fixes:
ndctl_bus_cmd_new_ars_status - output buffer sizing fix
ndctl_bus_cmd_new_ars_status - input validation
ndctl_cmd_ars_in_progress - invalidate state after checking

ndctl: release v51

09 Feb 22:59
Compare
Choose a tag to compare
This release reworks spec file generation to use the automated tarballs
generated by github for each annotated tag.  It also includes a couple
minor fixes.

ndctl: release v50

02 Feb 04:31
Compare
Choose a tag to compare
This release incorporates the capabilities of the 4.5 kernel, and adds
the below features and fixes:

New apis:
    ndctl_bus_get_ctx
    ndctl_namespace_get_pfn
    ndctl_namespace_get_mode
    ndctl_namespace_get_numa_node
    ndctl_region_get_pfn_seed
    ndctl_pfn_get_first
    ndctl_pfn_get_next
    ndctl_pfn_get_id
    ndctl_pfn_get_namespace
    ndctl_pfn_get_uuid
    ndctl_pfn_set_uuid
    ndctl_pfn_get_location
    ndctl_pfn_set_location
    ndctl_pfn_get_align
    ndctl_pfn_set_align
    ndctl_pfn_set_namespace
    ndctl_pfn_get_bus
    ndctl_pfn_get_ctx
    ndctl_pfn_get_devname
    ndctl_pfn_get_block_device
    ndctl_pfn_is_valid
    ndctl_pfn_is_enabled
    ndctl_pfn_get_region
    ndctl_pfn_enable
    ndctl_pfn_delete
    ndctl_pfn_is_configured

New utility commands:
    list
    help (man pages)
    create-namespace

Api fixes:
    ndctl_{namespace|btt}_foreach crash fix
    ndctl_namespace_delete no longer errors on "io" namespaces
    miscellaneous static analysis fixes

Utility command fixes:
    {en|dis}able-{namespace|region} return code

ndctl v47

10 Sep 00:49
Compare
Choose a tag to compare
ndctl: release v47

This release reflects the ABI of the first kernel with libnvdimm
support, v4.2.

New apis:
    ndctl_bus_cmd_new_ars_cap
    ndctl_bus_cmd_new_ars_start
    ndctl_bus_cmd_new_ars_status
    ndctl_cmd_ars_cap_get_size
    ndctl_cmd_ars_in_progress
    ndctl_cmd_ars_num_records
    ndctl_cmd_ars_get_record_addr
    ndctl_cmd_ars_get_record_len
    ndctl_namespace_disable_invalidate

Fixes:
    ndctl_btt_enable now triggers a re-scan for new btt seeds