Recommended update for ndctl

Announcement ID: SUSE-RU-2019:0108-1
Rating: moderate
References:
Affected Products:
  • Server Applications Module 15
  • SUSE Linux Enterprise High Performance Computing 15
  • SUSE Linux Enterprise Server 15
  • SUSE Linux Enterprise Server for SAP Applications 15

An update that has three fixes can now be installed.

Description:

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_<obj>_filter().
  • filter: Refacor util_<obj>_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_<field> 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 CONTRIBUTING.md.
  • 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 README.md for code blocks.
  • ndctl: Use max_available_extent for namespace.
  • ndctl: Warn on variables declared after statement.
  • ndctl: Work around kernel memory corruption.
  • prepare-release.sh: 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 dax.sh return code.
  • test: Fix sector-mode.sh 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 update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

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

Package List:

  • Server Applications Module 15 (x86_64)
    • ndctl-debuginfo-63-3.5.1
    • libndctl-devel-63-3.5.1
    • ndctl-debugsource-63-3.5.1
    • libndctl6-63-3.5.1
    • libndctl6-debuginfo-63-3.5.1
    • ndctl-63-3.5.1

References: