Releases: pmem/ndctl
ndctl: release v72
ndctl: release v72
This release incorporates functionality up to the 5.16 kernel.
Highlights include a new utility and library for interfacing with the
'CXL' drivers and devices, a policy based configuration mechanism for
ndctl and daxctl, fixes, test updates, and general additions for the
PAPR family of NVDIMMs, more seed device accounting fixes, misc unit
test and documentation updates, and fixes to NVDIMM bus scrubbing.
Commands:
cxl-cli: new utility providing list, {read,write,zero}-label commands
daxctl-reconfigure-device: new --check-config option
ndctl-monitor: add support for a new unified config file format
ndctl-*-namespace: seed namespace accounting fixes
Tests:
Fix device-dax mremap() test
Exercise soft_offline_page() corner cases
Fix btt expect table compile warning
monitor.sh: add checking the presence of jq command ahead of time
APIs:
ndctl_bus_nfit_translate_spa
ndctl_dimm_sizeof_namespace_index
ndctl_get_config_path
ndctl_set_config_path
daxctl_dev_has_online_memory
daxctl_dev_will_auto_online_memory
daxctl_get_config_path
daxctl_set_config_path
cxl_cmd_get_devname
cxl_cmd_get_mbox_status
cxl_cmd_get_out_size
cxl_cmd_health_info_get_dirty_shutdowns
cxl_cmd_health_info_get_ext_corrected_persistent_normal
cxl_cmd_health_info_get_ext_corrected_persistent_warning
cxl_cmd_health_info_get_ext_corrected_volatile_normal
cxl_cmd_health_info_get_ext_corrected_volatile_warning
cxl_cmd_health_info_get_ext_life_used_critical
cxl_cmd_health_info_get_ext_life_used_normal
cxl_cmd_health_info_get_ext_life_used_warning
cxl_cmd_health_info_get_ext_temperature_critical
cxl_cmd_health_info_get_ext_temperature_normal
cxl_cmd_health_info_get_ext_temperature_warning
cxl_cmd_health_info_get_hw_replacement_needed
cxl_cmd_health_info_get_life_used
cxl_cmd_health_info_get_maintenance_needed
cxl_cmd_health_info_get_media_data_loss_imminent
cxl_cmd_health_info_get_media_data_lost
cxl_cmd_health_info_get_media_normal
cxl_cmd_health_info_get_media_not_ready
cxl_cmd_health_info_get_media_persistence_loss_imminent
cxl_cmd_health_info_get_media_persistence_lost
cxl_cmd_health_info_get_media_powerloss_data_loss
cxl_cmd_health_info_get_media_powerloss_persistence_loss
cxl_cmd_health_info_get_media_shutdown_data_loss
cxl_cmd_health_info_get_media_shutdown_persistence_loss
cxl_cmd_health_info_get_performance_degraded
cxl_cmd_health_info_get_pmem_errors
cxl_cmd_health_info_get_temperature
cxl_cmd_health_info_get_volatile_errors
cxl_cmd_identify_get_fw_rev
cxl_cmd_identify_get_label_size
cxl_cmd_identify_get_partition_align
cxl_cmd_new_get_health_info
cxl_cmd_new_identify
cxl_cmd_new_raw
cxl_cmd_new_read_label
cxl_cmd_new_write_label
cxl_cmd_read_label_get_payload
cxl_cmd_ref
cxl_cmd_set_input_payload
cxl_cmd_set_output_payload
cxl_cmd_submit
cxl_cmd_unref
cxl_get_log_priority
cxl_get_private_data
cxl_get_userdata
cxl_memdev_get_ctx
cxl_memdev_get_devname
cxl_memdev_get_firmware_verison
cxl_memdev_get_first
cxl_memdev_get_id
cxl_memdev_get_label_size
cxl_memdev_get_major
cxl_memdev_get_minor
cxl_memdev_get_next
cxl_memdev_get_pmem_size
cxl_memdev_get_ram_size
cxl_memdev_nvdimm_bridge_active
cxl_memdev_read_label
cxl_memdev_write_label
cxl_memdev_zero_label
cxl_new
cxl_ref
cxl_set_log_fn
cxl_set_log_priority
cxl_set_private_data
cxl_set_userdata
cxl_unref
ndctl: release v71.1
Fixes: ndctl/dimm: Attempt an abort upon firmware-update-busy status ndctl/dimm: Fix submit_abort_firmware()
ndctl: release v71
This release incorporates functionality up to the 5.10 kernel. Highlights include support for the new device-dax subdivision functionality added in Linux in v5.10, including ways to create smaller devdax devices using daxctl/libdaxctl, as well as creating, listing, and restoring from a config dump, 'mappings' on these devices. Other updates include several static analysis fixups, reworking the license identification scheme for different sub-components, and a fix for the reconfigure-in-place workflow which tries to retain device names. Commands: daxctl-create-device: new command daxctl-destroy-device: new command daxctl-enable-device: new command daxctl-disable-device: new command daxctl-reconfigure-device: allow resizing devices ndctl-create-namespace: improve reconfigure in-place Tests: daxctl-create.sh: new test for device-dax subdivision APIs: daxctl_dev_get_align daxctl_dev_set_align daxctl_dev_set_mapping daxctl_dev_set_size daxctl_mapping_get_end daxctl_mapping_get_first daxctl_mapping_get_next daxctl_mapping_get_offset daxctl_mapping_get_size daxctl_mapping_get_start daxctl_region_create_dev daxctl_region_destroy_dev
ndctl: release v70.1
Fixes: libnvdimm: fix add_dimm for non-NFIT dimms ndctl.spec: fix rpm build for el8
ndctl: release v70
This release incorporates functionality up to the 5.9 kernel. Highlights include support for the new firmware activation facility, a new 'split-acpi' command in 'daxctl'to aid testing and debugging, and other minor fixes. Commands: update-firmware: add support for firmware activation list: updates for firmware activation activate-firmware: new command to trigger firmware activation daxctl-split-acpi: split ACPI tables for debugging Tests: revoke-devmem: new test to validate iomem protections update-firmware: update to test firmware activation APIs: ndctl_bus_activate_firmware ndctl_bus_clear_fw_activate_noidle ndctl_bus_clear_fw_activate_nosuspend ndctl_bus_get_fw_activate_method ndctl_bus_get_fw_activate_state ndctl_bus_set_fw_activate_noidle ndctl_bus_set_fw_activate_nosuspend ndctl_dimm_fw_activate_arm ndctl_dimm_fw_activate_disarm ndctl_dimm_get_fw_activate_result ndctl_dimm_get_fw_activate_state
ndctl: release v69
This release incorporates functionality up to the 5.8 kernel. Highlights include support for 'PAPR' NVDIMMs, a build fix for zero-length array warnings in GCC10, a new option for ndctl-monitor allowing for a timeout for epoll, and misc unit test and documentation fixes. Commands: monitor: add a new timeout option for polling list: skip region filtering if numa_node is absent {read,write}-infoblock: set a default alignment based on platform list/others: support for PAPR NVDIMMs Tests: align.sh: fix region selection, and label init expectation APIs: ndctl_bus_has_of_node ndctl_bus_is_papr_scm ndctl_region_has_numa
ndctl: release v68
This release incorporates functionality up to the 5.6 kernel. Highlights for this release include new commands to read-infoblock and write-infoblock, improvements and tests related to alignment constraints, misc build/compilation related fixes, and misc usability and documentation fixes. Commands: zero-labels: display an error if regions are active destroy-namespace: fix seed namespace accounting list: drop named list objects from verbose listing *-namespace: emit better errors on failure read-infoblock: new command to read an infoblock write-infoblock: new command to create and write an infoblock Tests: add bus-id parameter for start-scrub/wait-scrub operation udate dax-dev to handle multiple e820 ranges exercise sub-section sized namespace creation/deletion new test for misaligned namespaces labels: test for 'failed to track' APIs: ndctl_namespace_get_target_node ndctl_namespace_is_configuration_idle ndctl_region_get_align ndctl_region_get_target_node ndctl_region_set_align
ndctl: release v67
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
ndctl: release v66
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
ndctl: release v65
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