Skip to content

Commit

Permalink
t/zbd: avoid test case 31 failure with small devices
Browse files Browse the repository at this point in the history
The test case assumed that the test target devices have 128 or more
sequential write required zones and uses 128 as the minimum number of
zones to write. This caused failure when the devices had a smaller
number of sequential write required zones. To avoid the failure, count
the actual number of sequential write required zones and use it if it is
smaller than 128.

Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Link: https://lore.kernel.org/r/20240430103022.4136039-4-shinichiro.kawasaki@wdc.com
Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
  • Loading branch information
kawasaki authored and vincentkfu committed Apr 30, 2024
1 parent 06eb4c1 commit 3ed8eea
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions t/zbd/test-zbd-support
Expand Up @@ -852,12 +852,15 @@ test31() {
# To distribute the write target zones evenly, skip certain zones for every
# write. Utilize zonemode strided for such write patterns.
bs=$((128 * 1024))
off=$((first_sequential_zone_sector * 512))
size=$((disk_size - off))
nz=$((max_open_zones))
if [[ $nz -eq 0 ]]; then
nz=128
fi
off=$((first_sequential_zone_sector * 512))
size=$((disk_size - off))
if ((size / zone_size < nz)); then
nz=$((size / zone_size))
fi
inc=$(((size / nz / zone_size) * zone_size))
opts=("--name=$dev" "--filename=$dev" "--rw=write" "--bs=${bs}")
opts+=("--offset=$off" "--size=$((inc * nz))" "--io_size=$((bs * nz))")
Expand Down

0 comments on commit 3ed8eea

Please sign in to comment.