]> www.infradead.org Git - users/hch/blktests.git/commitdiff
zbd/002: Check validity of zone capacity
authorShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Tue, 28 Jul 2020 10:14:49 +0000 (19:14 +0900)
committerOmar Sandoval <osandov@fb.com>
Tue, 4 Aug 2020 20:56:14 +0000 (13:56 -0700)
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.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
tests/zbd/002

index e197827ea1312cc1dc4a94703146bea88f41c05d..a134434f6849dffe1348adcb0f813b4c765e80f7 100755 (executable)
@@ -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}. "