linux/tools/testing/selftests/ublk/test_generic_10.sh
Ming Lei f40b1f2670 selftests: ublk: add test case for UBLK_U_CMD_UPDATE_SIZE
Add test generic_10 for covering new control command of UBLK_U_CMD_UPDATE_SIZE.

Add 'update_size -s|--size size_in_bytes' sub-command on ublk utility for
supporting this feature, then verify the feature via generic_10.

Cc: Omri Mann <omri@nvidia.com>
Cc: Jared Holzman <jholzman@nvidia.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250522163523.406289-2-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-23 09:42:12 -06:00

30 lines
586 B
Bash
Executable file

#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
. "$(cd "$(dirname "$0")" && pwd)"/test_common.sh
TID="generic_10"
ERR_CODE=0
if ! _have_feature "UPDATE_SIZE"; then
exit "$UBLK_SKIP_CODE"
fi
_prep_test "null" "check update size"
dev_id=$(_add_ublk_dev -t null)
_check_add_dev $TID $?
size=$(_get_disk_size /dev/ublkb"${dev_id}")
size=$(( size / 2 ))
if ! "$UBLK_PROG" update_size -n "$dev_id" -s "$size"; then
ERR_CODE=255
fi
new_size=$(_get_disk_size /dev/ublkb"${dev_id}")
if [ "$new_size" != "$size" ]; then
ERR_CODE=255
fi
_cleanup_test "null"
_show_result $TID $ERR_CODE