[PATCH blktests v2 03/11] common/xfs: Create common helper to verify block device with xfs

Chaitanya Kulkarni Chaitanya.Kulkarni at wdc.com
Tue Oct 6 19:50:37 EDT 2020


On 9/30/20 11:54, Logan Gunthorpe wrote:
> Make a common helper from the code in tests nvme/012 and nvme/013
> to run an fio verify on a XFS file system backed by the
> specified block device.
>
> While we are at it, all the output is redirected to $FULL instead of
> /dev/null.
>
> Signed-off-by: Logan Gunthorpe <logang at deltatee.com>
> ---
>  common/xfs     | 22 ++++++++++++++++++++++
>  tests/nvme/012 | 14 +-------------
>  tests/nvme/013 | 14 +-------------
>  3 files changed, 24 insertions(+), 26 deletions(-)

The common namespace is getting cluttered. Can you please create

a subdirectory common/fs/xfs ?

>
> diff --git a/common/xfs b/common/xfs
> index d1a603b8c7b5..210c924cdd41 100644
> --- a/common/xfs
> +++ b/common/xfs
> @@ -9,3 +9,25 @@
>  _have_xfs() {
>  	_have_fs xfs && _have_program mkfs.xfs
>  }
> +
> +_xfs_mkfs_and_mount() {
> +	local bdev=$1
> +	local mount_dir=$2
> +
> +	mkdir -p "${mount_dir}"
> +	umount "${mount_dir}"
> +	mkfs.xfs -l size=32m -f "${bdev}"
> +	mount "${bdev}" "${mount_dir}"
> +}
> +
> +_xfs_run_fio_verify_io() {
> +	local mount_dir="/mnt/blktests"

The mount dir should be a parameter and not the hardcode value

to make it reusable.

> +	local bdev=$1
> +
> +	_xfs_mkfs_and_mount "${bdev}" "${mount_dir}" >> "${FULL}" 2>&1
> +
> +	_run_fio_verify_io --size=950m --directory="${mount_dir}/"
> +
> +	umount "${mount_dir}" >> "${FULL}" 2>&1
> +	rm -fr "${mount_dir}"
> +}
> diff --git a/tests/nvme/012 b/tests/nvme/012
> index 1d8d8e3cc271..a13cd08ce6bf 100755
> --- a/tests/nvme/012
> +++ b/tests/nvme/012
> @@ -26,12 +26,9 @@ test() {
>  	local port
>  	local nvmedev
>  	local loop_dev
> -	local mount_dir="/mnt/blktests"
>  	local file_path="${TMPDIR}/img"
>  	local subsys_name="blktests-subsystem-1"
>  
> -	mkdir -p "${mount_dir}" > /dev/null 2>&1
> -
>  	truncate -s 1G "${file_path}"
>  
>  	loop_dev="$(losetup -f --show "${file_path}")"
> @@ -47,15 +44,7 @@ test() {
>  	cat "/sys/block/${nvmedev}n1/uuid"
>  	cat "/sys/block/${nvmedev}n1/wwid"
>  
> -	umount ${mount_dir} > /dev/null 2>&1
> -
> -	mkfs.xfs -l size=32m -f /dev/"${nvmedev}n1" > /dev/null 2>&1
> -
> -	mount /dev/"${nvmedev}n1" "${mount_dir}"
> -
> -	_run_fio_verify_io --size=950m --directory="${mount_dir}/"
> -
> -	umount "${mount_dir}" > /dev/null 2>&1
> +	_xfs_run_fio_verify_io "/dev/${nvmedev}n1"
>  
>  	_nvme_disconnect_subsys "${subsys_name}"
>  
> @@ -66,7 +55,6 @@ test() {
>  	losetup -d "${loop_dev}"
>  
>  	rm "${file_path}"
> -	rm -fr "${mount_dir}"
>  
>  	echo "Test complete"
>  }
> diff --git a/tests/nvme/013 b/tests/nvme/013
> index 3819a2730d9b..1ac725ea83f2 100755
> --- a/tests/nvme/013
> +++ b/tests/nvme/013
> @@ -24,13 +24,10 @@ test() {
>  
>  	local port
>  	local nvmedev
> -	local mount_dir="/mnt/blktests/"
>  	local file_path="${TMPDIR}/img"
>  
>  	local subsys_name="blktests-subsystem-1"
>  
> -	mkdir -p "${mount_dir}" > /dev/null 2>&1
> -
>  	truncate -s 1G "${file_path}"
>  
>  	_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> @@ -44,15 +41,7 @@ test() {
>  	cat "/sys/block/${nvmedev}n1/uuid"
>  	cat "/sys/block/${nvmedev}n1/wwid"
>  
> -	umount ${mount_dir} > /dev/null 2>&1
> -
> -	mkfs.xfs -l size=32m -f /dev/"${nvmedev}n1" > /dev/null 2>&1
> -
> -	mount /dev/"${nvmedev}n1" "${mount_dir}"
> -
> -	_run_fio_verify_io --size=800m --directory="${mount_dir}/"
> -
> -	umount "${mount_dir}" > /dev/null 2>&1
> +	_xfs_run_fio_verify_io "/dev/${nvmedev}n1"
>  
>  	_nvme_disconnect_subsys "${subsys_name}"
>  
> @@ -61,7 +50,6 @@ test() {
>  	_remove_nvmet_port "${port}"
>  
>  	rm "${file_path}"
> -	rm -fr "${mount_dir}"
>  
>  	echo "Test complete"
>  }

rest looks good




More information about the Linux-nvme mailing list