Debian Package Tracker
Register | Log in
Subscribe

ndctl

Utility for managing the nvdimm subsystem

Choose email to subscribe with

general
  • source: ndctl (main)
  • version: 81-1
  • maintainer: Adam Borowski (DMD)
  • std-ver: 4.7.2
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 71.1-1
  • oldstable: 76.1-1
  • stable: 81-1
  • testing: 81-1
  • unstable: 81-1
versioned links
  • 71.1-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 76.1-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 81-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • cxl
  • daxctl
  • libcxl-dev
  • libcxl1
  • libdaxctl-dev
  • libdaxctl1
  • libndctl-dev
  • libndctl6
  • ndctl (1 bugs: 0, 0, 1, 0)
action needed
A new upstream version is available: 83 high
A new upstream version 83 is available, you should consider packaging it.
Created: 2025-06-15 Last update: 2025-10-01 06:01
59 new commits since last upload, is it time to release? normal
vcswatch reports that this package seems to have new commits in its VCS but has not yet updated debian/changelog. You should consider updating the Debian changelog and uploading this new version into the archive.

Here are the relevant commit logs:
commit 53c580fabdc9af3adc096511c0caeb0673ab181d
Author: Adam Borowski <kilobyte@angband.pl>
Date:   Mon Apr 14 00:12:58 2025 +0200

    Debian release 81-1

commit 5444ecacb6dd8cfd02b92a1ca286a34a6ac769c4
Author: Adam Borowski <kilobyte@angband.pl>
Date:   Mon Apr 14 00:30:29 2025 +0200

    Update symbols files.
    
    I didn't bother assigning the exact version a symbol got added for
    releases not in Debian.

commit 00a067db2646c5f5f1ee9a50ca33c50ff1a8f516
Merge: 00d115e 92d5203
Author: Adam Borowski <kilobyte@angband.pl>
Date:   Mon Apr 14 00:08:46 2025 +0200

    Merge tag 'v81' into debian
    
    ndctl: release v81
    
    This release incorporates functionality up to the 6.14 kernel.
    
    Highlights are usability improvements in daxctl and region creation
    and listing. Namespace creation gets more robust parameter handling
    and unit tests are improved.
    
    Commands:
    cxl/region: report max size for region creation
    ndctl/list: display region caps for any of BTT, PFN, DAX
    daxctl: output more information if memblock is unremovable
    ndctl/namespace: protect against overflow handling param.offset
    ndctl/namespace: avoid integer overflow in namespace validation
    ndctl/namespace: close file descriptor in do_xaction_namespace()
    ndctl/namespace: protect against under|over-flow w bad param.align
    
    Tests:
    test/cxl-events.sh: do not fail test until event counts are reported
    test/security.sh: add jq requirement check
    test/monitor.sh: make shell variable handling more robust
    test/monitor.sh: convert float to integer before increment
    
    API:
    cxl/lib: remove unimplemented symbol cxl_mapping_get_region
    
    Infrastructure:
    util/strbuf: remove unused cli infrastructure imports
    cxl/json: remove prefix from tracefs.h #include
    
    ndctl: release v80
    
    This release incorporates functionality up through the 6.11 kernel.
    
    Highlights include support for listing CXL media-errors, usability
    fixups in daxctl create-device, the addition of firmware revision
    in CXL memdev listings, and misc unit test and build fixes.
    
    Commands:
      cxl-list: add --media-errors option
      cxl-list: always emit memdev firmware revision
      daxctl: fail create-device with extra parameters
      daxctl: remove unused options from create-device usage message
      ndctl load-keys: stop leaking file descriptors upon error
    
    Tests:
      cxl-poison.sh: new unit test
      cxl-events.sh: add test case for region info
      daxctl-create.sh: use bash math syntax to find available size
      daxctl-create.sh: use CXL DAX regions instead of efi_fake_mem
      rescan-partitions.sh: refine search for created partition
    
    API:
      cxl_memdev_trigger_poison_list
      cxl_region_trigger_poison_list
    
    ndctl: release v79
    
    This release incorporates functionality up to and including the 6.9 kernel.
    
    Highlights include test and build fixes, a new cxl-wait-sanitize
    command, support for QOS Class in cxl-create-region, and a new
    cxl-set-alert-config command.
    
    Commands:
      cxl-create-region: Add QOS Class support
      cxl-wait-sanitize: New command
      cxl-disable-region: Add a new --force option
      cxl-set-alert-config: New command
      cxl-monitor: fix event_trace array parsing
      daxctl-destroy-device: fix accounting for number of devices destroyed
    
    Tests:
      cxl/test: use max_available_extent in cxl-destroy-region
      cxl: Add a test for qos_class in CXL test suite
      cxl/test: add 3-way HB interleave testcase to cxl-xor-region.sh
      cxl/test: add double quotes in cxl-xor-region.sh
      cxl/test: replace spaces with tabs in cxl-xor-region.sh
      test/daxctl-create.sh: remove region and dax device assumptions
      test/cxl-region-sysfs: fix a missing space syntax error
      test/cxl-region-sysfs.sh: use '[[ ]]' command to evaluate operands as arithmetic expressions
      ndctl/test: Add destroy region test
      cxl/test: Validate sanitize notifications
      cxl/test: validate the auto region in cxl-topology.sh
      cxl/test: replace a bad root decoder usage in cxl-xor-region.sh
      test/security.sh: test keyctl before excuting
      test/daxctl-devices.sh: increase the namespace size to 4GiB
      test/cxl-event: Skip cxl event testing if cxl-test is not available
      test/cxl-update-firmware: Fix checksum sysfs query
    
    APIs:
      daxctl_dev_is_system_ram_capable
      cxl_cmd_alert_config_set_corrected_pmem_err_prog_warn_threshold
      cxl_cmd_alert_config_set_corrected_volatile_mem_err_prog_warn_threshold
      cxl_cmd_alert_config_set_dev_over_temperature_prog_warn_threshold
      cxl_cmd_alert_config_set_dev_under_temperature_prog_warn_threshold
      cxl_cmd_alert_config_set_enable_alert_actions
      cxl_cmd_alert_config_set_life_used_prog_warn_threshold
      cxl_cmd_alert_config_set_valid_alert_actions
      cxl_cmd_new_set_alert_config
      cxl_memdev_get_pmem_qos_class
      cxl_memdev_get_ram_qos_class
      cxl_memdev_wait_sanitize
      cxl_port_decoders_committed
      cxl_region_qos_class_mismatch
      cxl_root_decoder_get_qos_class
    
    ndctl: release v78
    
    This release incorporates functionality up to the 6.5 kernel.
    
    Highlights include fixes to cxl-monitor and ndctl-monitor, a new
    cxl-update-firmware command, various documentation fixes, and a new unit
    test for cxl events.
    
    Commands:
      cxl-update-firmware: new command to update firmware on CXL memdevs
      {cxl,ndctl}-monitor: fixes for option handling for logging
    
    Tests:
      cxl-events.sh: new test for CXL events
    
    APIs:
      cxl_cmd_fw_info_get_active_slot
      cxl_cmd_fw_info_get_fw_ver
      cxl_cmd_fw_info_get_num_slots
      cxl_cmd_fw_info_get_online_activate_capable
      cxl_cmd_fw_info_get_staged_slot
      cxl_cmd_new_get_fw_info
      cxl_memdev_cancel_fw_update
      cxl_memdev_fw_update_get_remaining
      cxl_memdev_fw_update_in_progress
      cxl_memdev_update_fw

commit 00d115eab3917802c85d9f4cb26564a7b7696a63
Author: Adam Borowski <kilobyte@angband.pl>
Date:   Sun Apr 13 23:59:58 2025 +0200

    Incorporate NMU by Chris Hofstaedtler.

commit 92d5203077553bfc9f7bf1c219563db0fc28e660
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Fri Mar 21 16:39:19 2025 -0700

    ndctl: release v81
    
    This release incorporates functionality up to the 6.14 kernel.
    
    Highlights are usability improvements in daxctl and region creation
    and listing. Namespace creation gets more robust parameter handling
    and unit tests are improved.
    
    Commands:
    cxl/region: report max size for region creation
    ndctl/list: display region caps for any of BTT, PFN, DAX
    daxctl: output more information if memblock is unremovable
    ndctl/namespace: protect against overflow handling param.offset
    ndctl/namespace: avoid integer overflow in namespace validation
    ndctl/namespace: close file descriptor in do_xaction_namespace()
    ndctl/namespace: protect against under|over-flow w bad param.align
    
    Tests:
    test/cxl-events.sh: do not fail test until event counts are reported
    test/security.sh: add jq requirement check
    test/monitor.sh: make shell variable handling more robust
    test/monitor.sh: convert float to integer before increment
    
    API:
    cxl/lib: remove unimplemented symbol cxl_mapping_get_region
    
    Infrastructure:
    util/strbuf: remove unused cli infrastructure imports
    cxl/json: remove prefix from tracefs.h #include

commit d49ba4b2fe3c39e2f5d64d2d4d1ac319675a6944
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu Mar 6 15:50:14 2025 -0800

    ndctl/namespace: protect against under|over-flow w bad param.align
    
    A coverity scan highlighted an integer underflow when param.align
    is 0, and an integer overflow when the parsing of param.align fails
    and returns ULLONG_MAX.
    
    Add explicit checks for both values.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/5f8a8a6cf332ec9ceb636180b9dd5cbf801f1e6e.1741304303.git.alison.schofield@intel.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 901b60c249bab74277e97b6f36c946fcf391ef42
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu Mar 6 15:50:13 2025 -0800

    ndctl/namespace: protect against overflow handling param.offset
    
    A param.offset is parsed using parse_size64() but the result is
    not checked for the error return ULLONG_MAX. If ULLONG_MAX is
    returned, follow-on calculations will lead to overflow.
    
    Add check for ULLONG_MAX upon return from parse_size64.
    Add check for overflow in subsequent PFN_MODE offset calculation.
    
    This issue was reported in a coverity scan.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/fd9b0fa9091490c71791ebd695ee48f8da12e5ec.1741304303.git.alison.schofield@intel.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 43e762fec751ce3a61a93ade9467e529b6938641
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu Mar 6 15:50:12 2025 -0800

    ndctl/dimm: do not increment a ULLONG_MAX slot value
    
    A coverity scan higlighted an overflow issue when the slot variable,
    an unsigned integer that is initialized to -1, is incremented and
    overflows.
    
    Initialize slot to 0 and increment slot in the for loop header. That
    keeps the comparison to a u32 as is and avoids overflow.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/04880bb53cbd400d9906ca2ac5042a9dc23b925f.1741304303.git.alison.schofield@intel.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit d82c1dc842c0f3e34c74e10cfd6d8474ce9ce4bd
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu Mar 6 15:50:11 2025 -0800

    ndctl/namespace: close file descriptor in do_xaction_namespace()
    
    A coverity scan highlighted a resource leak caused by not freeing
    the open file descriptor upon exit of do_xaction_namespace().
    
    Move the fclose() to a 'goto out_close' and route all returns through
    that path.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/267483d9d16460ee4e5726c1675df4510d246ebc.1741304303.git.alison.schofield@intel.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 9e6f8ca8fc13abb7c56fe4ed92d92d11ba608814
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu Mar 6 15:50:10 2025 -0800

    ndctl/namespace: avoid integer overflow in namespace validation
    
    A coverity scan highlighted an integer overflow issue when testing
    if the size and align parameters make sense together.
    
    Before performing the multiplication, check that the result will not
    exceed the maximum value that an unsigned long long can hold.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/1b3cc602d61a1b0a5383a481452d216331e3477e.1741304303.git.alison.schofield@intel.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit def79df43e763dd89973e0732dd49ee5f38416ac
Author: Donet Tom <donettom@linux.vnet.ibm.com>
Date:   Thu Feb 20 00:20:29 2025 -0600

    ndctl/list: display region caps for any of BTT, PFN, DAX
    
    If any one of BTT, PFN, or DAX is not present, but the other two
    are, then the region capabilities are not displayed in the
    ndctl list -R -C command.
    
    This is because util_region_capabilities_to_json() returns NULL
    if any one of BTT, PFN, or DAX is not present.
    
    In this patch, we have changed the logic to display all the region
    capabilities that are present.
    
    Test Results with CONFIG_BTT disabled
    =====================================
    Without this patch
    ------------------
     # ./ndctl list -R -C
     [
      {
        "dev":"region1",
        "size":12884901888,
        "align":16777216,
        "available_size":11257511936,
        "max_available_extent":9630121984,
        "type":"pmem",
        "iset_id":14748366918514061582,
        "persistence_domain":"unknown"
      },
    
    With this patch
    ---------------
     # ./ndctl list -R -C
     [
      {
        "dev":"region1",
        "size":12884901888,
        "align":16777216,
        "available_size":11257511936,
        "max_available_extent":9630121984,
        "type":"pmem",
        "iset_id":14748366918514061582,
        "capabilities":[
          {
            "mode":"fsdax",
            "alignments":[
              65536,
              2097152,
              1073741824
            ]
          },
          {
            "mode":"devdax",
            "alignments":[
              65536,
              2097152,
              1073741824
            ]
          }
        ],
        "persistence_domain":"unknown"
      },
    
    Fixes: 965fa02e372f ("util: Distribute 'filter' and 'json' helpers to per-tool objects")
    Signed-off-by: Donet Tom <donettom@linux.vnet.ibm.com>
    Reviewed-by: Li Zhijian <lizhijian@fujitsu.com>
    Tested-by: Li Zhijian <lizhijian@fujitsu.com>
    Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
    Reviewed-by: Alison Schofield <alison.schofield@intel.com>
    Link: https://lore.kernel.org/r/20250220062029.9789-1-donettom@linux.vnet.ibm.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 0c5c33bb37d9289181968da5890cd930a3259f9f
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Tue Feb 11 19:40:18 2025 -0800

    util/strbuf: remove unused cli infrastructure imports
    
    The ndctl cli interface is built around an imported perf cli
    infrastructure which was originally from git. [1]
    
    A recent static analysis scan exposed an integer overflow issue in
    strbuf_read() and although that is fixable, the function is not used
    in ndctl. Further examination revealed additional unused functionality
    in the string buffer handling import and a subset of that has already
    been obsoleted from the perf cli.
    
    In the interest of not maintaining unused code, remove the unused code
    in util/strbuf.h,c. Ndctl, including cxl-cli and daxctl, are mature
    cli's so it seems ok to let this functionality go after ~10 years.
    
    In the interest of not touching what is not causing an issue, the
    entirety of the original import was not reviewed at this time.
    
    [1] 91677390f9e6 ("ndctl: import cli infrastructure from perf")
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/20250212034020.1865719-1-alison.schofield@intel.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit cb21d22450c3a10be573aad3248b6a161dd37eb9
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Fri Feb 14 18:13:16 2025 -0800

    cxl/lib: remove unimplemented symbol cxl_mapping_get_region
    
    User reports this symbol was added but has never had an implementation
    causing their linker ld.lld to fail like so:
    
    ld.lld: error: version script assignment of 'LIBCXL_3' to symbol 'cxl_mapping_get_region' failed: symbol not defined
    
    This likely worked for some builds but not others because of different
    toolchains (linkers), compiler optimizations (garbage collection), or
    linker flags (ignoring or only warning on unused symbols).
    
    Clean this up by removing the symbol.
    
    Reposted here from github pull request:
    https://github.com/pmem/ndctl/pull/267/
    
    Reviewed-by: Fan Ni <fan.ni@samsung.com>
    Link: https://lore.kernel.org/r/20250215021319.1948097-1-alison.schofield@intel.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit ac46afe33d54522c6cc31ffcf3d4e19374c3433d
Author: Li Ming <ming.li@zohomail.com>
Date:   Thu Dec 5 00:14:56 2024 +0800

    daxctl: output more information if memblock is unremovable
    
    If CONFIG_MEMORY_HOTREMOVE is disabled by kernel, memblocks will not be
    removed, so 'dax offline-memory all' will output below error logs:
    
      libdaxctl: offline_one_memblock: dax0.0: Failed to offline /sys/devices/system/node/node6/memory371/state: Invalid argument
      dax0.0: failed to offline memory: Invalid argument
      error offlining memory: Invalid argument
      offlined memory for 0 devices
    
    The log does not clearly show why the command failed. So checking if the
    target memblock is removable before offlining it by querying
    '/sys/devices/system/node/nodeX/memoryY/removable', then output specific
    logs if the memblock is unremovable, output will be:
    
      libdaxctl: offline_one_memblock: dax0.0: memory371 is unremovable
      dax0.0: failed to offline memory: Operation not supported
      error offlining memory: Operation not supported
      offlined memory for 0 devices
    
    Besides, delay to set up string 'path' for offlining memblock operation,
    because string 'path' is stored in 'mem->mem_buf' which is a shared
    buffer, it will be used in memblock_is_removable().
    
    Signed-off-by: Li Ming <ming.li@zohomail.com>
    Reviewed-by: Alison Schofield <alison.schofield@intel.com>
    Link: https://lore.kernel.org/r/20241204161457.1113419-1-ming.li@zohomail.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 331f5ffba5d92b13b3403fcaf3a2a873a088568e
Author: Michal Suchanek <msuchanek@suse.de>
Date:   Sun Feb 9 10:03:46 2025 -0800

    cxl/json: remove prefix from tracefs.h #include
    
    Distros vary on whether tracefs.h is placed in {prefix}/libtracefs/
    or {prefix}/tracefs/. Since the library ships with pkgconfig info
    to determine the exact include path the #include statement can drop
    the tracefs/ prefix.
    
    This was previously found and fixed elsewhere:
    a59866328ec5 ("cxl/monitor: fix include paths for tracefs and traceevent")
    but was introduced anew with cxl media-error support in ndctl v80.
    
    Reposted here from github pull request:
    https://github.com/pmem/ndctl/pull/268/
    
    [ alison: commit msg and log edits ]
    
    Fixes: 9873123fce03 ("cxl/list: collect and parse media_error records")
    Signed-off-by: Michal Suchanek <msuchanek@suse.de>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Marc Herbert <marc.herbert@intel.com>
    Link: https://lore.kernel.org/r/20250209180348.1773179-1-alison.schofield@intel.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 62222a96407f7ba48cc744ba9d573f7be907117b
Author: Ira Weiny <ira.weiny@intel.com>
Date:   Sat Dec 14 20:58:28 2024 -0600

    test/cxl-events.sh: do not fail test until event counts are reported
    
    Testing revealed that a failed cxl-event test lacked details on the
    event counts.  This was because the greps were failing the test rather
    than the check against the counts.
    
    Suppress the grep failure and rely on event count checks for pass/fail
    of the test.
    
    [ alison: rm reference to DCD in commit log ]
    
    Signed-off-by: Ira Weiny <ira.weiny@intel.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/20241214-dcd-region2-v4-1-36550a97f8e2@intel.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 7225fd2b31ca695f160d7b59aac8cd0f86fe84a4
Author: Ira Weiny <ira.weiny@intel.com>
Date:   Sat Dec 14 20:58:29 2024 -0600

    cxl/region: report max size for region creation
    
    When creating a region if the size exceeds the max an error is printed.
    However, the max available space is not reported which makes it harder
    to determine what is wrong.
    
    Add the max size available to the output error.
    
    Signed-off-by: Ira Weiny <ira.weiny@intel.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Fan Ni <fan.ni@samsung.com>
    Link: https://lore.kernel.org/r/20241214-dcd-region2-v4-2-36550a97f8e2@intel.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 7cdc15d7c367651661ac7c6ff82ab7b955adee7a
Author: Li Zhijian <lizhijian@fujitsu.com>
Date:   Mon Oct 14 14:49:51 2024 +0800

    test/security.sh: add jq requirement check
    
    Add jq requirement check explicitly like others so that the test can
    be skipped when no jq is installed.
    
    Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
    [ alison: edit commit msg ]
    Reviewed-by: Alison Schofield <alison.schofield@intel.com>
    Link: https://lore.kernel.org/r/20241014064951.1221095-1-lizhijian@fujitsu.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit e39826281a3a80f2ee2df16aa50e7249e4f1fb3c
Author: Li Zhijian <lizhijian@fujitsu.com>
Date:   Fri Oct 18 09:30:20 2024 +0800

    test/monitor.sh: make shell variable handling more robust
    
    monitor_dimms fails to handle strings with multiple dimms.
    
    Fixup that case and do a shellcheck cleanup of the script to avoid
    needlessly failing or omitting any test cases.
    
    SC2086 [1], aka. Double quote to prevent globbing and word splitting.
    
    Previously, SC2086 will cause error in [[]] or [], for example
    $ grep -w line build/meson-logs/testlog.txt
    test/monitor.sh: line 99: [: too many arguments
    test/monitor.sh: line 99: [: nmem0: binary operator expected
    
    Firstly,  generated diff by shellcheck tool:
    $ shellcheck -i SC2086 -f diff test/monitor.sh
    
    In addition, remove the double quote around $1 like below because
    an empty "$1" passed to a command will open to '' causing an error.
    Example:
    
    $ ndctl/build/test/list-smart-dimm -b nfit_test.0 ''
      Error: unknown parameter ""
    
    -       $NDCTL monitor -c "$monitor_conf" -l "$logfile" "$1" &
    +       $NDCTL monitor -c "$monitor_conf" -l "$logfile" $1 &
    
    -       jlist=$("$TEST_PATH"/list-smart-dimm -b "$smart_supported_bus" "$1")
    +       jlist=$("$TEST_PATH"/list-smart-dimm -b "$smart_supported_bus" $1)
    
    -       $NDCTL inject-smart "$monitor_dimms" "$1"
    +       $NDCTL inject-smart "$monitor_dimms" $1
    
    -       [[ $1 == $notify_dimms ]]
    +       [[ "$1" == "$notify_dimms" ]]
    
    -               [ ! -z "$monitor_dimms" ] && break
    +               [[ "$monitor_dimms" ]] && break
    
    [1] https://www.shellcheck.net/wiki/SC2086
    
    [ alison: edited commit msg/log ]
    
    Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
    Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
    Reviewed-by: Alison Schofield <alison.schofield@intel.com>
    Link: https://lore.kernel.org/r/20241018013020.2523845-2-lizhijian@fujitsu.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 2e78b22f0e72f1641cedd3843ec7547c897f09cf
Author: Li Zhijian <lizhijian@fujitsu.com>
Date:   Fri Oct 18 09:30:19 2024 +0800

    test/monitor.sh: convert float to integer before increment
    
    The test log reported:
    test/monitor.sh: line 149: 40.0: syntax error: invalid arithmetic operator (error token is ".0")
    
    It does stop the test prematurely. We never run the temperature
    inject test case of test_filter_dimmevent() because of the inability
    to increment the float.
    
    Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
    Reviewed-by: Alison Schofield <alison.schofield@intel.com>
    Link: https://lore.kernel.org/r/20241018013020.2523845-1-lizhijian@fujitsu.com
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 04815e5f8b87e02a4fb5a61aeebaa5cad25a15c3
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Tue Oct 8 17:21:52 2024 -0700

    ndctl: release v80
    
    This release incorporates functionality up through the 6.11 kernel.
    
    Highlights include support for listing CXL media-errors, usability
    fixups in daxctl create-device, the addition of firmware revision
    in CXL memdev listings, and misc unit test and build fixes.
    
    Commands:
      cxl-list: add --media-errors option
      cxl-list: always emit memdev firmware revision
      daxctl: fail create-device with extra parameters
      daxctl: remove unused options from create-device usage message
      ndctl load-keys: stop leaking file descriptors upon error
    
    Tests:
      cxl-poison.sh: new unit test
      cxl-events.sh: add test case for region info
      daxctl-create.sh: use bash math syntax to find available size
      daxctl-create.sh: use CXL DAX regions instead of efi_fake_mem
      rescan-partitions.sh: refine search for created partition
    
    API:
      cxl_memdev_trigger_poison_list
      cxl_region_trigger_poison_list

commit ed9c3c0b1fa5124e2a66346ce5b4e329d42e0035
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Wed Aug 28 11:43:45 2024 -0700

    test/rescan-partitions.sh: refine search for created partition
    
    Unit test rescan-partitions.sh can fail because the grep test looking
    for the expected partition is overly broad and can match multiple
    pmem devices.
    
    /root/ndctl/build/meson-logs/testlog.txt reports this failure:
    test/rescan-partitions.sh: failed at line 50
    
    An example of an improper grep is:
    'pmem10 pmem12 pmem1p1' when only 'pmem1p1' was expected
    
    Replace the faulty grep with a query of the lsblk JSON output that
    examines the children of this blockdev only and matches on size.
    
    This type of pesky issue is probably arising as the unit tests are
    being run in more complex environments and may also be due to other
    unit tests not properly cleaning up after themselves. No matter the
    cause this change makes this test more robust and that's a good thing!
    
    Reported-by: Ira Weiny <ira.weiny@intel.com>
    Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
    Link: https://lore.kernel.org/r/20240828192620.302092-1-alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit dfa937e2eb261f1142e64996a643b516c63d9bbc
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Mon Aug 26 18:51:10 2024 -0700

    test/daxctl-create.sh: use CXL DAX regions instead of efi_fake_mem
    
    This test tries to use DAX regions created from efi_fake_mem devices.
    A recent kernel change removed efi_fake_mem support causing this test
    to SKIP because no DAX regions can be found.
    
    Alas, a new source of DAX regions is available: CXL. Use that now.
    Other than selecting a different region provider, the functionality
    of the test remains the same.
    
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Link: https://lore.kernel.org/r/519161e23a43e530dbcffac203ecbbb897aa5342.1724813664.git.alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit ceb596056aa612b88c4fb9fdebafb531d586ade7
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Mon Aug 26 18:37:34 2024 -0700

    test/daxctl-create.sh: use bash math syntax to find available size
    
    The check for 1GB of available space in a DAX region always returned
    true due to being wrapped inside a [[ ... ]] test, even when space
    wasn't available. That caused set size to fail.
    
    Update to use bash arithmetic evaluation instead.
    
    This issue likely went unnoticed because users allocated >= 1GB of
    efi_fake_mem. This fix is part of the transition to use CXL regions
    in this test as efi_fake_mem support is being removed from the kernel.
    
    Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>a
    Link: https://lore.kernel.org/r/865e28870eb8c072c2e368362a6d86fc4fb9cb61.1724813664.git.alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 67afbf10f5e0bda8dac3a3b5ac057ec147cfb440
Author: Li Zhijian <lizhijian@fujitsu.com>
Date:   Thu Jun 6 11:51:49 2024 +0800

    daxctl: remove unused options in create-device usage message
    
    RECONFIG_OPTIONS and ZONE_OPTIONS are not implemented for create-device
    and they will be ignored by create-device. Remove them so that the usage
    message is identical to the manual.
    
    Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
    Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/20240606035149.1030610-2-lizhijian@fujitsu.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit f285461adb699a6bd6dea73c54bcf997f2fc8c6a
Author: Li Zhijian <lizhijian@fujitsu.com>
Date:   Thu Jun 6 11:51:48 2024 +0800

    daxctl: fail create-device if extra parameters are present
    
    Previously, an incorrect index(1) for create-device is causing the 1st
    extra parameter to be ignored, which is wrong. For example:
    $ daxctl create-device region0
    [
      {
        "chardev":"dax0.1",
        "size":268435456,
        "target_node":1,
        "align":2097152,
        "mode":"devdax"
      }
    ]
    created 1 device
    
    where above user would want to specify '-r region0'.
    
    Check extra parameters starting from index 0 to ensure no extra parameters
    are specified for create-device.
    
    Cc: Fan Ni <fan.ni@samsung.com>
    Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
    Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/20240606035149.1030610-1-lizhijian@fujitsu.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit a5f50e55cb9aeb6d0356edd7496580d61ff44e6e
Author: Miroslav Suchy <mirek+github@lomenotecka.cz>
Date:   Wed Aug 21 14:52:13 2024 -0700

    ndctl.spec.in: use SPDX formula for license
    
    According to SPEC v2, the operator has to be in the upper case.
    
    Reposted here from github pull request:
    https://github.com/pmem/ndctl/pull/265/
    
    Signed-off-by: Miroslav Suchy <mirek+github@lomenotecka.cz>
    Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
    Link: https://lore.kernel.org/r/20240821220232.105990-1-alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 2df04c98be394d4a78c20d0699837fd3ae93de97
Author: Jerry James <loganjerry@gmail.com>
Date:   Wed Aug 21 14:25:32 2024 -0700

    ndctl.spec.in: enable libtrace{event|fs} support for Fedora
    
    As noted in https://src.fedoraproject.org/rpms/ndctl/pull-request/2,
    the expression "0%{?rhel}" evaluates to zero on Fedora, so the
    conditional "%if 0%{?rhel} < 9" evaluates to true, since 0 is less
    than 9. The result is that ndctl builds for Fedora lack support for
    libtraceevent and libtracefs. Correct the expression.
    
    Reposted here from github pull request:
    https://github.com/pmem/ndctl/pull/266/
    
    Signed-off-by: Jerry James <loganjerry@gmail.com>
    Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/20240821214529.96966-1-alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit a461871665a2cb5c81e9db5a850a83af5a6381b1
Author: Jeff Moyer <jmoyer@redhat.com>
Date:   Tue Aug 20 14:26:41 2024 -0400

    libndctl: major and minor numbers are unsigned
    
    Static analysis points out that the cast of bus->major and bus->minor
    to a signed type in the call to parent_dev_path could result in a
    negative number.  I sincerely doubt we'll see major and minor numbers
    that large, but let's fix it.
    
    Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
    Link: https://lore.kernel.org/r/20240820182705.139842-3-jmoyer@redhat.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 00119a66148912f2671d22e7a96d39c31832ff6a
Author: Jeff Moyer <jmoyer@redhat.com>
Date:   Tue Aug 20 14:26:40 2024 -0400

    ndctl/keys.c: don't leak fd in error cases
    
    Static analysis points out that fd is leaked in some cases.  The
    change to the while loop is optional.  I only did that to make the
    code consistent.
    
    Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
    Link: https://lore.kernel.org/r/20240820182705.139842-2-jmoyer@redhat.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit f1dc47e1f1dd0e93d1fe4e1e4056f663d52e7d30
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Wed Jul 24 23:45:49 2024 -0700

    cxl/list: add firmware_version to default memdev listings
    
    cxl list users may discover the firmware revision of a memory
    device by using the -F option to cxl list. That option uses
    the CXL GET_FW_INFO command and emits this json:
    
    "firmware":{
          "num_slots":2,
          "active_slot":1,
          "staged_slot":1,
          "online_activate_capable":false,
          "slot_1_version":"BWFW VERSION 0",
          "fw_update_in_progress":false
        }
    
    Since device support for GET_FW_INFO is optional, the above method
    is not guaranteed. However, the IDENTIFY command is mandatory and
    provides the current firmware revision.
    
    Accessors already exist for retrieval from sysfs so simply add
    add the new json member to the default memdev listing.
    
    This means users of the -F option will get the same info twice,
    if GET_FW_INFO is supported.
    
    [
      {
        "memdev":"mem9",
        "pmem_size":268435456,
        "serial":0,
        "host":"0000:c0:00.0"
        "firmware_version":"BWFW VERSION 00",
      }
    ]
    
    Suggested-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Fan Ni <fan.ni@samsung.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Xingtao Yao <yaoxt.fnst@fujitsu.com>
    Link: https://lore.kernel.org/r/20240725073050.219952-1-alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit eded1031991174b92b7c3b2196b7609452f9e8ab
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu Feb 15 20:42:01 2024 -0800

    cxl/test: add test case for region info to cxl-events.sh
    
    Events cxl_general_media and cxl_dram both report DPAs that may
    be mapped in a region. If the DPA is mapped, the trace event will
    include the HPA translation, region name and region uuid in the
    trace event.
    
    Add a test case that triggers these events with DPAs that map
    into a region. Verify the region is included in the trace event.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Ira Weiny <ira.weiny@intel.com>
    Link: https://lore.kernel.org/r/20240328043727.2186722-1-alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit a682dceef74cfd0fbe62ea4b7c9cb90b71e0b5c3
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Wed Mar 13 18:17:54 2024 -0700

    cxl/test: add cxl-poison.sh unit test
    
    Exercise cxl list, libcxl, and driver pieces of the get poison list
    pathway. Inject and clear poison using debugfs and use cxl-cli to
    read the poison list by memdev and by region.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Tested-by: Xingtao Yao <yaoxt.fnst@fujitsu.com>
    Link: https://lore.kernel.org/r/4212bf9d89e31a17f0092b84da473de2abf554a2.1720241079.git.alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit d7532bb049e0a59a491a90b81b34c4a66d02f7e6
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Wed Oct 12 20:55:15 2022 -0700

    cxl/list: add --media-errors option to cxl list
    
    The --media-errors option to 'cxl list' retrieves poison lists from
    memory devices supporting the capability and displays the returned
    media_error records in the cxl list json. This option can apply to
    memdevs or regions.
    
    Include media-errors in the -vvv verbose option.
    
    Example usage in the Documentation/cxl/cxl-list.txt update.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Xingtao Yao <yaoxt.fnst@fujitsu.com>
    Link: https://lore.kernel.org/r/76eb7636d1aab2fecd60d18617828d004adb58d9.1720241079.git.alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 9873123fce03175ef92ec5c097ef9511ae67526d
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Sun Jan 14 16:21:09 2024 -0800

    cxl/list: collect and parse media_error records
    
    Media_error records are logged as events in the kernel tracing
    subsystem. To prepare the media_error records for cxl list, enable
    tracing, trigger the poison list read, and parse the generated
    cxl_poison events into a json representation.
    
    Use the event_trace private parsing option to customize the json
    representation based on cxl-list calling options and event field
    settings.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Xingtao Yao <yaoxt.fnst@fujitsu.com>
    Link: https://lore.kernel.org/r/d267fb81f39c64979e47dd52391f458b0d9178e2.1720241079.git.alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit fc5afef917a46d7d8205ebe4fdb16e632628cd08
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Wed Oct 12 16:34:58 2022 -0700

    libcxl: add interfaces for GET_POISON_LIST mailbox commands
    
    CXL devices maintain a list of locations that are poisoned or result
    in poison if the addresses are accessed by the host.
    
    Per the spec (CXL 3.1 8.2.9.9.4.1), the device returns the Poison
    List as a set of  Media Error Records that include the source of the
    error, the starting device physical address and length.
    
    Trigger the retrieval of the poison list by writing to the memory
    device sysfs attribute: trigger_poison_list. The CXL driver only
    offers triggering per memdev, so the trigger by region interface
    offered here is a convenience API that triggers a poison list
    retrieval for each memdev contributing to a region.
    
    int cxl_memdev_trigger_poison_list(struct cxl_memdev *memdev);
    int cxl_region_trigger_poison_list(struct cxl_region *region);
    
    The resulting poison records are logged as kernel trace events
    named 'cxl_poison'.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/ef5503682f5042e68f153824634a751b41d1342a.1720241079.git.alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 360b244b1de0ee38b24fd55d2634fdff8b104296
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Sun Jan 14 16:18:41 2024 -0800

    util/trace: add helpers to retrieve tep fields by type
    
    Add helpers to extract the value of an event record field given the
    field name. This is useful when the user knows the name and format
    of the field and simply needs to get it. The helpers also return
    the 'type'_MAX of the type when the field is
    
    Since this is in preparation for adding a cxl_poison private parser
    for 'cxl list --media-errors' support those specific required
    types: u8, u32, u64.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Fan Ni <fan.ni@samsung.com>
    Link: https://lore.kernel.org/r/b6089a98199539eca9c89f81de19cede18468408.1720241079.git.alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit eff9f1f287a3d747232f7a9254386abb3526416b
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Tue Mar 26 18:31:04 2024 -0700

    util/trace: pass an event_ctx to its own parse_event method
    
    Tidy-up the calling convention used in trace event parsing by
    passing the entire event_ctx to its parse_event method. This
    makes it explicit that a parse_event operates on an event_ctx
    object and it allows the parse_event function to access any
    members of the event_ctx structure.
    
    This is in preparation for adding a private parser requiring more
    context for cxl_poison events.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/da9be6ff7edcaef18470cc1579343fc08bc1dc1e.1720241079.git.alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit d40cac268b924acdaead1e65820c197f6e1b6c0e
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu Nov 10 10:40:00 2022 -0800

    util/trace: add an optional pid check to event parsing
    
    When parsing events, callers may only be interested in events
    that originate from the current process. Introduce an optional
    argument to the event trace context: event_pid. When event_pid is
    present, simply skip the parsing of events without a matching pid.
    It is not a failure to see other, non matching events.
    
    The initial use case for this is CXL device poison listings where
    only the media-error records requested by this process are wanted.
    
    Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/78e904ed934820f217f96d19603acf64e322184a.1720241079.git.alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 9d234d8127ba256fb956b3240a248c4d730cf245
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu Mar 21 10:09:29 2024 -0700

    util/trace: move trace helpers from ndctl/cxl/ to ndctl/util/
    
    A set of helpers used to parse kernel trace events were introduced
    in ndctl/cxl/ in support of the CXL monitor command. The work these
    helpers perform may be useful beyond CXL.
    
    Move them to the ndctl/util/ where other generic helpers reside.
    Replace cxl-ish naming with generic names and update the single
    user, cxl/monitor.c, to match.
    
    This move is in preparation for extending the helpers in support
    of cxl_poison trace events.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/d1d60f8f475684e398fd0c415358c48105b42b45.1720241079.git.alison.schofield@intel.com/
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

commit 16f45755f991f4fb6d76fec70a42992426c84234
Author: Vishal Verma <vishal.l.verma@intel.com>
Date:   Thu May 2 14:48:01 2024 -0600

    ndctl: release v79
    
    This release incorporates functionality up to and including the 6.9 kernel.
    
    Highlights include test and build fixes, a new cxl-wait-sanitize
    command, support for QOS Class in cxl-create-region, and a new
    cxl-set-alert-config command.
    
    Commands:
      cxl-create-region: Add QOS Class support
      cxl-wait-sanitize: New command
      cxl-disable-region: Add a new --force option
      cxl-set-alert-config: New command
      cxl-monitor: fix event_trace array parsing
      daxctl-destroy-device: fix accounting for number of devices destroyed
    
    Tests:
      cxl/test: use max_available_extent in cxl-destroy-region
      cxl: Add a test for qos_class in CXL test suite
      cxl/test: add 3-way HB interleave testcase to cxl-xor-region.sh
      cxl/test: add double quotes in cxl-xor-region.sh
      cxl/test: replace spaces with tabs in cxl-xor-region.sh
      test/daxctl-create.sh: remove region and dax device assumptions
      test/cxl-region-sysfs: fix a missing space syntax error
      test/cxl-region-sysfs.sh: use '[[ ]]' command to evaluate operands as arithmetic expressions
      ndctl/test: Add destroy region test
      cxl/test: Validate sanitize notifications
      cxl/test: validate the auto region in cxl-topology.sh
      cxl/test: replace a bad root decoder usage in cxl-xor-region.sh
      test/security.sh: test keyctl before excuting
      test/daxctl-devices.sh: increase the namespace size to 4GiB
      test/cxl-event: Skip cxl event testing if cxl-test is not available
      test/cxl-update-firmware: Fix checksum sysfs query
    
    APIs:
      daxctl_dev_is_system_ram_capable
      cxl_cmd_alert_config_set_corrected_pmem_err_prog_warn_threshold
      cxl_cmd_alert_config_set_corrected_volatile_mem_err_prog_warn_threshold
      cxl_cmd_alert_config_set_dev_over_temperature_prog_warn_threshold
      cxl_cmd_alert_config_set_dev_under_temperature_prog_warn_threshold
      cxl_cmd_alert_config_set_enable_alert_actions
      cxl_cmd_alert_config_set_life_used_prog_warn_threshold
      cxl_cmd_alert_config_set_valid_alert_actions
      cxl_cmd_new_set_alert_config
      cxl_memdev_get_pmem_qos_class
      cxl_memdev_get_ram_qos_class
      cxl_memdev_wait_sanitize
      cxl_port_decoders_committed
      cxl_region_qos_class_mismatch
      cxl_root_decoder_get_qos_class

commit add0c37bf687881c2239479f09d193ecb6b628c2
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Wed May 1 14:25:53 2024 -0600

    Build: Fix deprecated str.format() usage
    
    New versions of Meson throw a warning around ndctl's use of
    'str.format':
    
      WARNING: Broken features used:
       * 1.3.0: {'str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof.'}
    
    Fix this by explicit string concatenation for building paths for the
    version script, whence the warnings originated.
    
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Link: https://lore.kernel.org/r/20240501-vv-build-fix-v1-1-792eecb2183b@intel.com
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit 7c8c993b87ee8471b4c138de549c39d1267f0067
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Tue Apr 23 19:54:03 2024 -0700

    cxl/test: use max_available_extent in cxl-destroy-region
    
    Using .size in decoder selection can lead to a set_size failure with
    these error messages:
    
    cxl region: create_region: region8: set_size failed: Numerical result out of range
    
    [] cxl_core:alloc_hpa:555: cxl region8: HPA allocation error (-34) for size:0x0000000020000000 in CXL Window 0 [mem 0xf010000000-0xf04fffffff flags 0x200]
    
    Use max_available_extent for decoder selection instead.
    
    The test overlooked the region creation failure because the not 'null'
    comparison succeeds when cxl create-region command emits nothing.
    Use the ! comparator when checking the create-region result.
    
    When checking the ram_size output of cxl-list add a check for empty.
    
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>
    Link: https://lore.kernel.org/r/20240424025404.2343942-1-alison.schofield@intel.com
    Reviewed-by: Ira Weiny <ira.weiny@intel.com>
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit f533bd784859cb4fad62f4512f43b8310905cc8c
Author: Vishal Verma <vishal.l.verma@intel.com>
Date:   Fri Apr 12 15:05:40 2024 -0600

    daxctl/device.c: Fix error propagation in do_xaction_device()
    
    The loop through the provided list of devices in do_xaction_device()
    returns the status based on whatever the last device did. Since the
    order of processing devices, especially in cases like the 'all' keyword,
    can be effectively random, this can lead to the same command, and same
    effects, exiting with a different error code based on device ordering.
    
    This was noticed with flakiness in the daxctl-create.sh unit test. Its
    'destroy-device all' command would either pass or fail based on the
    order it tried to destroy devices in. (Recall that until now, destroying
    a daxX.0 device would result in a failure).
    
    Make this slightly more consistent by saving a failed status in
    do_xaction_device if any iteration of the loop produces a failure.
    Return this saved status instead of returning the status of the last
    device processed.
    
    Link: https://lore.kernel.org/r/20240412-vv-daxctl-fixes-v1-2-6e808174e24f@intel.com
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Alison Schofield <alison.schofield@intel.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit d78f57ebdc0764cfcc161873449aab3f20520456
Author: Vishal Verma <vishal.l.verma@intel.com>
Date:   Fri Apr 12 15:05:39 2024 -0600

    daxctl/device.c: Handle special case of destroying daxX.0
    
    The kernel has special handling for destroying the 0th dax device under
    any given DAX region (daxX.0). It ensures the size is set to 0, but
    doesn't actually remove the device, instead it returns an EBUSY,
    indicating that this device cannot be removed.
    
    Add an expectation in daxctl's dev_destroy() helper to handle this case
    instead of returning the error - as far as the user is concerned, the
    size has been set to zero, and the destroy operation has been completed,
    even if the kernel indicated an EBUSY.
    
    Link: https://lore.kernel.org/r/20240412-vv-daxctl-fixes-v1-1-6e808174e24f@intel.com
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Alison Schofield <alison.schofield@intel.com>
    Reported-by: Ira Weiny <ira.weiny@intel.com>
    Reported-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit 804ba8671d51539a73d9d0591010a771625ca053
Author: Dave Jiang <dave.jiang@intel.com>
Date:   Mon Apr 22 14:17:55 2024 -0700

    ndctl: cxl: Remove dependency for attributes derived from IDENTIFY command
    
    A memdev may optionally not host a mailbox and therefore not able to execute
    the IDENTIFY command. Currently the kernel emits empty strings for some of
    the attributes instead of making them invisible in order to keep backward
    compatibility for CXL CLI. Remove dependency of CXL CLI on the existance of
    these attributes and only expose them if they exist. Without the dependency
    the kernel will be able to make the non-existant attributes invisible.
    
    Link: https://lore.kernel.org/all/20230606121534.00003870@Huawei.com/
    Suggested-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/20240422211755.417632-1-dave.jiang@intel.com
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit 9e0225ae1eee136a61511036aa1c296ffae5d65b
Merge: e0d0680 d39b151
Author: Vishal Verma <vishal.l.verma@intel.com>
Date:   Wed Apr 17 12:11:21 2024 -0600

    Merge branch 'for-79/disable-region-check' into pending
    
    Add a check for memdev disable to see if there are active regions present
    before disabling the device.

commit e0d0680bd3e554bd5f211e989480c5a13a023b2d
Merge: 731ca1f 5e9157d
Author: Vishal Verma <vishal.l.verma@intel.com>
Date:   Tue Mar 5 23:24:42 2024 -0700

    Merge branch 'for-79/qos-class' into pending
    
    Starting in v6.8, the kernel exports a qos_class token for the root
    decoders (CFMWS) and as well as for the CXL memory devices. The
    qos_class exported for a device is calculated by the driver during
    device probe.  Currently a qos_class is exported for the volatile
    partition (ram) and another for the persistent partition (pmem).  In the
    future qos_class will be exported for DCD regions. Display of qos_class
    is through the CXL CLI list command with -vvv for extra verbose.
    
    A qos_class check as also been added for region creation. A warning is
    emitted when the qos_class of a memory range of a CXL memory device
    being included in the CXL region assembly does not match the qos_class
    of the root decoder. Options are available to suppress the warning or to
    fail the region creation. This enabling provides a guidance on flagging
    memory ranges being used is not optimal for performance for the CXL
    region to be formed.

commit 5e9157d6721a878757f0fe8a3c51f06f9e94934a
Author: Dave Jiang <dave.jiang@intel.com>
Date:   Mon Mar 4 10:35:35 2024 -0700

    cxl: Add a test for qos_class in CXL test suite
    
    Add a test, cxl-qos-class.sh, to verify qos_class attributes are set as
    expected using canned values by the cxl_test module.
    
    Root decoders should have qos_class attribute set. Memory devices should
    have ram_qos_class or pmem_qos_class set depending on which partitions are
    valid.
    
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/20240304173618.1580662-5-dave.jiang@intel.com
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit 8e46bb879d5a0716ebd738892b83fc5d7b8314c8
Author: Dave Jiang <dave.jiang@intel.com>
Date:   Mon Mar 4 10:35:34 2024 -0700

    cxl: Add QoS class checks for region creation
    
    The CFMWS provides a QTG ID. The kernel driver creates a root decoder that
    represents the CFMWS. A qos_class attribute is exported via sysfs for the root
    decoder.
    
    One or more qos_class tokens are retrieved via QTG ID _DSM from the ACPI0017
    device for a CXL memory device. The input for the _DSM is the read and write
    latency and bandwidth for the path between the device and the CPU. The
    numbers are constructed by the kernel driver for the _DSM input. When a
    device is probed, QoS class tokens  are retrieved. This is useful for a
    hot-plugged CXL memory device that does not have regions created.
    
    Add a QoS check during region creation. If --enforce-qos/-Q is set and
    the qos_class doesn't match, the region creation will fail.
    
    Reviewed-by: Alison Schofield <alison.schofield@intel.com>
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/20240304173618.1580662-4-dave.jiang@intel.com
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit 4bad24165cbd1eee74f96f7eaa8d70c3952c75ab
Author: Dave Jiang <dave.jiang@intel.com>
Date:   Mon Mar 4 10:35:33 2024 -0700

    cxl/lib: Add APIs to retrieve QoS class for memory devices
    
    Add libcxl APIs to retrieve the QoS class tokens for the memory
    devices. Two API calls are added. One for 'ram' or 'volatile'
    mode and another for 'pmem' or 'persistent' mode. Support also added
    for displaying the QoS class tokens through the 'cxl list' command.
    
    Reviewed-by: Alison Schofield <alison.schofield@intel.com>
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/20240304173618.1580662-3-dave.jiang@intel.com
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit 731ca1f75a5f421249baef4f850b477e9867a00d
Author: Justin Ernst <justin.ernst@hpe.com>
Date:   Thu Feb 29 17:11:51 2024 -0600

    util/json: Use json_object_get_uint64() with uint64 support
    
    If HAVE_JSON_U64=1, utils/json.c:display_hex() can call
    json_object_get_int64() on a struct json_object created with
    json_object_new_uint64(). In the context of 'ndctl list --regions
    --human', this results in a static value of 0x7fffffffffffffff being
    displayed for iset_id, as seen in #217.
    
    Correct hex values are observed with the use of
    json_object_get_uint64(). To support builds against older json-c, use a
    new static inline function util_json_get_u64() to fallback to
    json_object_get_int64() if HAVE_JSON_U64=0.
    
    Link: https://github.com/pmem/ndctl/issues/217
    Fixes: 691cd249 ("json: Add support for json_object_new_uint64()")
    Signed-off-by: Justin Ernst <justin.ernst@hpe.com>
    Link: https://lore.kernel.org/r/20240229231151.358694-1-justin.ernst@hpe.com
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit a37665ad3f0024b6364e8f90d0804ecc0716ba85
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu Feb 29 13:28:38 2024 -0800

    cxl/documentation: tidy up cxl-wait-sanitize man page format
    
    Remove extra '==' to address these asciidoctor complaints:
    
    Generating Documentation/cxl/cxl-wait-sanitize with a custom command
    ERROR: cxl-wait-sanitize.txt: line 1: non-conforming manpage title
    ERROR: cxl-wait-sanitize.txt: line 3: name section expected
    WARNING: cxl-wait-sanitize.txt: line 4: unterminated example block
    WARNING: cxl-wait-sanitize.txt: line 26: unterminated listing block
    
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>
    Link: https://lore.kernel.org/r/20240229212838.2006205-1-alison.schofield@intel.com
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit ffbbb0bc246d967d53821184047f1121e02f8a81
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu Feb 15 22:06:10 2024 -0800

    cxl/event_trace: parse arrays separately from strings
    
    Arrays are being parsed as strings based on a flag that seems like
    it would be the differentiator, ARRAY and STRING, but it is not.
    
    libtraceevent sets the flags for arrays and strings like this:
    array:  TEP_FIELD_IS_[ARRAY | STRING]
    string: TEP_FIELD_IS_[ARRAY | STRING | DYNAMIC]
    
    Use TEP_FIELD_IS_DYNAMIC to discover the field type, otherwise arrays
    get parsed as strings and 'cxl monitor' returns gobbledygook in the
    array type fields.
    
    This fixes the "data" field of cxl_generic_events and the "uuid" field
    of cxl_poison.
    
    That cxl_poison uuid format can be further improved by using the trace
    type (__field_struct uuid_t) in the CXL kernel driver. The parser will
    automatically pick up that new type, as illustrated in the "hdr_uuid"
    of cxl_generic_media event trace above.
    
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>
    Link: https://lore.kernel.org/r/20240216060610.1951127-1-alison.schofield@intel.com
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit d39b151aa61ac540758b405b3adacd796b2d1bab
Author: Dave Jiang <dave.jiang@intel.com>
Date:   Thu Nov 30 14:51:37 2023 -0700

    cxl: Add check for regions before disabling memdev
    
    Add a check for memdev disable to see if there are active regions present
    before disabling the device. This is necessary now regions are present to
    fulfill the TODO that was left there. The best way to determine if a
    region is active is to see if there are decoders enabled for the mem
    device. This is also best effort as the state is only a snapshot the
    kernel provides and is not atomic WRT the memdev disable operation. The
    expectation is the admin issuing the command has full control of the mem
    device and there are no other agents also attempt to control the device.
    
    Reviewed-by: Quanquan Cao <caoqq@fujitsu.com>
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/170138109724.2882696.123294980050048623.stgit@djiang5-mobl3
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit 7f364779c59d85e718f4eb1f449f68988f97f4fb
Author: Dave Jiang <dave.jiang@intel.com>
Date:   Tue Nov 28 13:43:51 2023 -0700

    cxl: Save the number of decoders committed to a port
    
    Save the number of decoders committed to a port exposed by the kernel to the
    libcxl cxl_port context. The attribute is helpful for determing if a region is
    active.  Add libcxl API to retrieve the number of decoders committed.
    Add the decoders_committed attribute to the port for cxl list command.
    
    Link: https://lore.kernel.org/linux-cxl/169645700414.623072.3893376765415910289.stgit@djiang5-mobl3/T/#t
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/170120423159.2725915.14670830315829916850.stgit@djiang5-mobl3
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit 4d767c0c9b91d254e8ff0d7f0d3be04a498ad9f0
Merge: 162d269 367d4b5
Author: Vishal Verma <vishal.l.verma@intel.com>
Date:   Fri Feb 16 16:06:53 2024 -0700

    Merge branch 'for-79/cxl-region-sysfs-test-fix' into pending
    
    Add a couple of fixes for the cxl-region-sysfs.sh unit test.

commit 162d2690c39ebc4338c90ba7e4235d38700049ac
Author: Vishal Verma <vishal.l.verma@intel.com>
Date:   Thu Jan 11 16:00:53 2024 -0700

    test/daxctl-create.sh: remove region and dax device assumptions
    
    The daxctl-create.sh test had some hard-coded assumptions about what dax
    device it expects to find, and what region number it will be under. This
    usually worked when the unit test environment only had efi_fake_mem
    devices as the sources of hmem memory. With CXL however, the region
    numbering namespace is shared with CXL regions, often pushing the
    efi_fake_mem region to something other than 'region0'.
    
    Remove any region and device number assumptions from this test so it
    works regardless of how regions get enumerated.
    
    Link: https://lore.kernel.org/r/20240111-vv-daxctl-create-v2-1-1052c8390c5d@intel.com
    Cc: Joao Martins <joao.m.martins@oracle.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

commit 367d4b55f9d8c8dd00318e16b1bdf0809dd1cb64
Author: Li Zhijian <lizhijian@fujitsu.com>
Date:   Wed Dec 13 16:25:56 2023 +0800

    test/cxl-region-sysfs: fix a missing space syntax error
    
    Currently the cxl-region-sysfs.sh test runs to completion and passes,
    but with syntax errors in the log. It turns out that because the test is
    checking for a positive condition as a failure, that also happens to
    mask the syntax errors. Fix the syntax and note that this also happens
    to unblock a test case that was being hidden by this error.
    
    Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
    Link: https://lore.kernel.org/r/20231213082556.1401741-2-lizhijian@fujitsu.com
    Acked-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Created: 2024-07-29 Last update: 2025-10-01 00:30
lintian reports 2 warnings normal
Lintian reports 2 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2024-07-31 Last update: 2025-09-10 06:03
debian/patches: 1 patch to forward upstream low

Among the 2 debian patches available in version 81-1 of the package, we noticed the following issues:

  • 1 patch where the metadata indicates that the patch has not yet been forwarded upstream. You should either forward the patch upstream or update the metadata to document its real status.
Created: 2024-07-30 Last update: 2025-04-16 20:02
news
[rss feed]
  • [2025-04-26] ndctl 81-1 MIGRATED to testing (Debian testing watch)
  • [2025-04-16] Accepted ndctl 81-1 (source) into unstable (Adam Borowski) (signed by: Alex Myczko)
  • [2024-08-01] ndctl 77-2.2 MIGRATED to testing (Debian testing watch)
  • [2024-07-30] Accepted ndctl 77-2.2 (source) into unstable (Chris Hofstaedtler) (signed by: Christian Hofstaedtler)
  • [2024-07-28] Accepted ndctl 77-2.1 (source) into unstable (Chris Hofstaedtler) (signed by: Christian Hofstaedtler)
  • [2023-06-18] ndctl 77-2 MIGRATED to testing (Debian testing watch)
  • [2023-06-11] Accepted ndctl 77-2 (source) into unstable (Adam Borowski)
  • [2023-05-05] Accepted ndctl 77-1 (source amd64) into experimental (Debian FTP Masters) (signed by: Adam Borowski)
  • [2023-03-07] ndctl 76.1-1 MIGRATED to testing (Debian testing watch)
  • [2023-03-07] ndctl 76.1-1 MIGRATED to testing (Debian testing watch)
  • [2023-02-24] Accepted ndctl 76.1-1 (source) into unstable (Adam Borowski)
  • [2023-02-23] Accepted ndctl 76-1 (source) into unstable (Adam Borowski)
  • [2023-01-17] ndctl 75-1 MIGRATED to testing (Debian testing watch)
  • [2023-01-14] Accepted ndctl 75-1 (source) into unstable (Adam Borowski)
  • [2022-10-12] ndctl 74-2 MIGRATED to testing (Debian testing watch)
  • [2022-10-09] Accepted ndctl 74-2 (source) into unstable (Adam Borowski)
  • [2022-08-27] ndctl 74-1 MIGRATED to testing (Debian testing watch)
  • [2022-08-24] Accepted ndctl 74-1 (source) into unstable (Adam Borowski)
  • [2022-05-31] ndctl 73-2 MIGRATED to testing (Debian testing watch)
  • [2022-05-28] Accepted ndctl 73-2 (source) into unstable (Adam Borowski)
  • [2022-05-19] ndctl 73-1 MIGRATED to testing (Debian testing watch)
  • [2022-05-16] Accepted ndctl 73-1 (source) into unstable (Adam Borowski)
  • [2022-04-13] Accepted ndctl 72.1-1~bpo11+1 (source amd64) into bullseye-backports, bullseye-backports (Debian FTP Masters) (signed by: Adam Borowski)
  • [2022-01-29] ndctl 72.1-1 MIGRATED to testing (Debian testing watch)
  • [2022-01-24] Accepted ndctl 72.1-1 (source amd64) into unstable (Adam Borowski)
  • [2021-02-13] Accepted ndctl 71.1-1~bpo10+1 (source) into buster-backports (Adam Borowski)
  • [2020-12-25] ndctl 71.1-1 MIGRATED to testing (Debian testing watch)
  • [2020-12-22] Accepted ndctl 71.1-1 (source) into unstable (Adam Borowski)
  • [2020-12-22] ndctl 71-1 MIGRATED to testing (Debian testing watch)
  • [2020-12-19] Accepted ndctl 71-1 (source) into unstable (Adam Borowski)
  • 1
  • 2
bugs [bug history graph]
  • all: 1
  • RC: 0
  • I&N: 0
  • M&W: 1
  • F&P: 0
  • patch: 0
links
  • homepage
  • lintian (0, 2)
  • buildd: logs, reproducibility, cross
  • popcon
  • browse source code
  • edit tags
  • other distros
  • screenshots
  • debian patches
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 77-2.2ubuntu2
  • 1 bug
  • patches for 77-2.2ubuntu2

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing