[PATCH blktests 2/5] zbd/002: Check validity of zone capacity

Shin'ichiro Kawasaki
2020-07-28T10:14:58Z

Linux kernel 5.9 zone descriptor interface added the new zone capacity
field defining the range of sectors usable within a zone. Add a check to
ensure that the zone capacity is smaller than or equal to the zone size.

Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
---
tests/zbd/002 | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/tests/zbd/002 b/tests/zbd/002
index e197827..a134434 100755
--- a/tests/zbd/002
+++ b/tests/zbd/002
@@ -24,6 +24,7 @@ _check_blkzone_report() {
local -i cur_start=${ZONE_STARTS[0]}
local -i next_start=0
local -i len=0
+ local -i cap=0
local -i wptr=0
local -i cond=0
local -i zone_type=0
@@ -50,6 +51,7 @@ _check_blkzone_report() {

next_start=${ZONE_STARTS[$((idx+1))]}
len=${ZONE_LENGTHS[$idx]}
+ cap=${ZONE_CAPS[$idx]}
wptr=${ZONE_WPTRS[$idx]}
cond=${ZONE_CONDS[$idx]}
zone_type=${ZONE_TYPES[$idx]}
@@ -70,6 +72,13 @@ _check_blkzone_report() {
return 1
fi

+ # Check zone capacity
+ if [[ ${cap} -gt ${len} ]]; then
+ echo -n "Zone capacity is invalid at zone ${idx}. "
+ echo "capacity: ${cap}, size: ${len}"
+ return 1
+ fi
+
# Check write pointer
if [[ ${wptr} -lt 0 || ${wptr} -gt ${len} ]]; then
echo -n "Write pointer is invalid at zone ${idx}. "
--
2.26.2