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

From: Chaitanya Kulkarni
Date: Tue Oct 06 2020 - 19:55:48 EST


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@xxxxxxxxxxxx>
> ---
> 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