Verma, Vishal L wrote:
[snip]
> > > > +# Find a memory device to create regions on to test the destroy
> > > > +readarray -t mems < <("$CXL" list -b cxl_test -M | jq -r '.[].memdev')
> > > > +for mem in ${mems[@]}; do
> > > > + ramsize=$($CXL list -m $mem | jq -r '.[].ram_size')
> > > > + if [ "$ramsize" == "null" ]; then
> > > > + continue
> > > > + fi
> > > > + decoder=$($CXL list -b cxl_test -D -d root -m "$mem" |
> > > > + jq -r ".[] |
> > > > + select(.volatile_capable == true) |
> > > > + select(.nr_targets == 1) |
> > > > + select(.size >= ${ramsize}) |
> > > > + .decoder")
> > > > + if [[ $decoder ]]; then
> > > > + check_destroy_ram $mem $decoder
> > > > + check_destroy_devdax $mem $decoder
> > > > + break
> > > > + fi
> > > > +done
> > >
> > > Does this need to check results of the region disable & destroy?
> > >
> > > Did the regression this is after leave a trace in the dmesg log,
> > > so checking that is all that's needed?
> > >
> >
> > The regression causes
> >
> > check_destroy_devdax()
> > $CXL disable-region $region
> >
> > to fail. That command failure will exit with an error which causes the
> > test script to exit with that error as well.
> >
> > At least that is what happened when I used this to test the fix. I'll
> > defer to Vishal if there is a more explicit or better way to check for
> > that cxl-cli command to fail.
> >
> Correct, the set -e will cause the script to abort with an error exit
> code whenever a command fails.
>
> I do wonder if we need this new test - with Dave's patch here[1],
I'm not sure.
> destroy-region and disable-region both use the same helper that
> performs the libdaxctl checks.
>
> cxl-create-region.sh already has flows that create a region and then
> destroy it. Those should now cover this case as well yeah?
I thought it would have but I don't think it covers the case where the dax
device is not system ram (the default when creating a region).
Ira