From: Alison Schofield <alison.schofi...@intel.com>

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 it used a
not 'null' comparison which always succeeds. Use the ! comparator
after create-region and for the ramsize check so that the test fails
or continues as expected.

Signed-off-by: Alison Schofield <alison.schofi...@intel.com>
---
 test/cxl-destroy-region.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/test/cxl-destroy-region.sh b/test/cxl-destroy-region.sh
index cf0a46d6ba58..167fcc4a7ff9 100644
--- a/test/cxl-destroy-region.sh
+++ b/test/cxl-destroy-region.sh
@@ -22,7 +22,7 @@ check_destroy_ram()
        decoder=$2
 
        region="$("$CXL" create-region -d "$decoder" -m "$mem" | jq -r 
".region")"
-       if [ "$region" == "null" ]; then
+       if [[ ! $region ]]; then
                err "$LINENO"
        fi
        "$CXL" enable-region "$region"
@@ -38,7 +38,7 @@ check_destroy_devdax()
        decoder=$2
 
        region="$("$CXL" create-region -d "$decoder" -m "$mem" | jq -r 
".region")"
-       if [ "$region" == "null" ]; then
+       if [[ ! $region ]]; then
                err "$LINENO"
        fi
        "$CXL" enable-region "$region"
@@ -55,14 +55,14 @@ check_destroy_devdax()
 readarray -t mems < <("$CXL" list -b "$CXL_TEST_BUS" -M | jq -r '.[].memdev')
 for mem in "${mems[@]}"; do
         ramsize="$("$CXL" list -m "$mem" | jq -r '.[].ram_size')"
-        if [[ $ramsize == "null" ]]; then
+        if [[ ! $ramsize ]]; then
                 continue
         fi
         decoder="$("$CXL" list -b "$CXL_TEST_BUS" -D -d root -m "$mem" |
                   jq -r ".[] |
                   select(.volatile_capable == true) |
                   select(.nr_targets == 1) |
-                  select(.size >= ${ramsize}) |
+                  select(.max_available_extent >= ${ramsize}) |
                   .decoder")"
         if [[ $decoder ]]; then
                check_destroy_ram "$mem" "$decoder"

base-commit: e0d0680bd3e554bd5f211e989480c5a13a023b2d
-- 
2.37.3


Reply via email to