Recommended update for ndctl

SUSE Recommended Update: Recommended update for ndctl
Announcement ID: SUSE-RU-2019:0108-1
Rating: moderate
References: #1107113 #1110425 #1120931
Affected Products:
  • SUSE Linux Enterprise Module for Server Applications 15

An update that has three recommended fixes can now be installed.


This update provides version 63 of ndctl and brings many fixes and improvements:

  • Use Type=simple instead of Type=forking for service (bsc#1120931)
  • Enable ppc64le build (FATE#326817)
  • Drop 'v' from pkgconfig-version (breaks 'ipmctl'). (bsc#1107113, FATE#325527)
  • ars: Don't invalidate the user-provided command.
  • autoconf: Include sys/mman.h for MAP_SYNC.
  • bash-completion: Add completion for ndctl-monitor.
  • build: Introduce --with-{bash,systemd}.
  • check-labels: Correct check-labels message wording.
  • configure: Add -Wunused-result and -D_FORTIFY_SOURCE=2 to cflags.
  • contrib/do_abidiff: Make the build more robust.
  • contrib: Add helper scripts for new release.
  • destroy-namespace: Check for an already-zeroed info block.
  • documentation/create-namespace: Clarify fsdax wording.
  • documentation: Add a newline in namespace Theory of Operations.
  • documentation: Add asciidoctor-extensions.rb to .gitignore.
  • documentation: Add inject-smart to the Makefile.
  • documentation: Add man page for monitor.
  • documentation: Add namespace 'theory of operation'.
  • documentation: Add the support for asciidoctor.
  • documentation: Clarify the dimm id for ndctl list d option.
  • documentation: Document the label-version option for init-labels.
  • documentation: Fix title and section markers
  • documentation: Use asciidoctor by default.
  • filter: Fix "keyword 'all' is ignored" in util__filter().
  • filter: Refacor util__filter() to support multiple space-seperated arguments.
  • inject-error: Add a --saturate option.
  • inject-smart: Add an interface to inject ctrl-temperature.
  • inject-smart: Add an option to uninject smart fields.
  • inject-smart: Continue in spite of errors for uninject-all.
  • inject-smart: Fix man page to match the current behavior.
  • inject: Fix a resource leak in ndctl_namespace_get_clear_unit.
  • intel: Fallback to smart cached shutdown_count.
  • lib: Add APIs for retrieving namespace badblocks.
  • lib: Add dirty-shutdown-count retrieval helper.
  • lib: Refactor badblocks retrieval routines.
  • libndctl/ars: Add an API to retrieve clear_err_unit.
  • libndctl/inject: Add 'v2' APIs for inject and uninject.
  • libndctl/inject: Inject fewer bytes per block by default.
  • libndctl/test: Fix a couple of unchecked returns.
  • libndctl: Fix a resource leak in ndctl_dimm_get_{{event_}flags, health}.
  • libndctl: Fix potential buffer overflow in write_cache APIs.
  • libndctl: Fix the uninject-error API actually injecting errors.
  • libndctl: Improve debug prints in wait_for_scrub_completion.
  • libndctl: Set errno for routines that don't return an error status.
  • list: Add alarm_enable_ to list.
  • list: Add controller temperature threshold and alarm.
  • list: Add controller temperature.
  • list: Always output array without --human.
  • list: Display the 'map' location in listings.
  • list: Fix the verbosity level formatting in the man page.
  • monitor: Add [--verbose] option to emit extra debug messages.
  • monitor: Add [Install] Section to systemd unit file of ndctl-monitor.
  • monitor: Add a config-file section to the man page.
  • monitor: Add a new command - monitor.
  • monitor: Add main ndctl monitor configuration file.
  • monitor: Add the unit file of systemd for ndctl-monitor service.
  • monitor: Add timestamp and pid to log messages in log_file().
  • monitor: Fix a resource leak in parse_monitor_event.
  • monitor: Fix duplicate prefix in monitor.log.
  • monitor: Fix formatting for --log in the man page.
  • monitor: Fix memory leak in monitor_event.
  • monitor: Fix memory leak in read_config_file.
  • monitor: Fix the lack of detection of invalid dimm-events.
  • monitor: Fix the lack of detection of invalid path of log file.
  • monitor: Fix the severity of "daemon started" message.
  • monitor: Improve error reporting throughout monitor.c.
  • monitor: In daemon mode, exit successfully if no DIMMs are found.
  • monitor: Set default log destination to syslog if "--daemon" is specified.
  • namespace: Rework namespace action accounting.
  • ndctl: Add 'list' verbose options.
  • ndctl: Add
  • ndctl: Add a test file to .gitignore.
  • ndctl: Add an API to check support for smart injection.
  • ndctl: Add an api for getting the ars_status overflow flag.
  • ndctl: Autoconf detect BUS_MCEERR_AR.
  • ndctl: Create ndctl udev rules for dirty shutdown.
  • ndctl: Deprecate undocumented short-options.
  • ndctl: Fix ABI breakage due to rename of fw_info_get_updated_version.
  • ndctl: Fix a resource leak in submit_get_firmware_info.
  • ndctl: Fix libtool versioning.
  • ndctl: Fix potential null dereference in the smart error handler.
  • ndctl: Hide null uuids.
  • ndctl: Refactor validation of the ars_status command.
  • ndctl: Remove dependency on linker garbage collection.
  • ndctl: Remove warnings when -O0 is used with -D_FORTIFY_SOURCE=2.
  • ndctl: Revert "ndctl, intel: Fallback to smart cached shutdown_count".
  • ndctl: Revert "ndctl: Create ndctl udev rules for dirty shutdown".
  • ndctl: Simplify JSON print flag handling.
  • ndctl: Suppress command errors if fallback exists.
  • ndctl: Update for code blocks.
  • ndctl: Use max_available_extent for namespace.
  • ndctl: Warn on variables declared after statement.
  • ndctl: Work around kernel memory corruption.
  • Fix revision update checks.
  • spec: Use pkgconfig for systemd.
  • test/monitor: Fix inject-smart field in test_filter_dimmevent.
  • test: Add NFIT_TEST_BUS[01] variable and some helper funtions to common.
  • test: Add UUID_LIBS for list_smart_dimm.
  • test: Add a MADV_HWPOISON test.
  • test: Add a new unit test for max_available_extent namespace.
  • test: Add a new unit test for monitor.
  • test: Add a new unit test pfn metadata error clearing.
  • test: Add common helper functions for test scripts.
  • test: Add device-dax MADV_HWPOISON test.
  • test: Add start/wait scrub to injection tests.
  • test: Check availability of MAP_SYNC for poison test.
  • test: Cleanup test scripts.
  • test: Convert remaining tests to use test/common.
  • test: Disable poison tests for now.
  • test: Fix a potential null pointer dereference in 'ndctl test'.
  • test: Fix a resource leak in check_smart_threshold.
  • test: Fix return code.
  • test: Fix to work with label support.
  • test: Fix tests for the array vs object listing fix.
  • test: Fix timeouts in device-dax.
  • test: Remove an unused variable assignment.
  • test: Remove the firmware image file before the test end.
  • test: Update libndctl test for controller temperature valid.
  • test: Update tests for capacity vs namespace-label locking.
  • tests: Add a new unit test for inject-smart.
  • udev: Fix a resource leak in save_unsafe_shutdown_count.
  • util/json: Add a util_namespace_badblocks_to_json() helper.
  • util/json: Add comments around re-checking the UTIL_JSON_MEDIA_ERRORS flag.
  • util/json: Fix an error check for region resource.
  • util/strbuf.h: Include sys/types.h for ssize_t definition.
  • util: Add OPTION_FILENAME to parse_opt_type.

Patch Instructions:

To install this SUSE Recommended Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • SUSE Linux Enterprise Module for Server Applications 15:
    zypper in -t patch SUSE-SLE-Module-Server-Applications-15-2019-108=1

Package List:

  • SUSE Linux Enterprise Module for Server Applications 15 (x86_64):
    • libndctl-devel-63-3.5.1
    • libndctl6-63-3.5.1
    • libndctl6-debuginfo-63-3.5.1
    • ndctl-63-3.5.1
    • ndctl-debuginfo-63-3.5.1
    • ndctl-debugsource-63-3.5.1