]> www.infradead.org Git - users/sagi/blktests.git/commitdiff
nvme: introduce nvmet_target_{setup/cleanup} common code
authorDaniel Wagner <dwagner@suse.de>
Wed, 30 Aug 2023 09:20:19 +0000 (11:20 +0200)
committerShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Thu, 31 Aug 2023 02:03:59 +0000 (11:03 +0900)
Almost all fabric tests have the identically code for
setting up and cleaning up the target side. Introduce
two new helpers.

Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
[Shin'ichiro: added missing "--blkdev file" option in nvme/018]
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
34 files changed:
tests/nvme/003
tests/nvme/004
tests/nvme/005
tests/nvme/006
tests/nvme/007
tests/nvme/008
tests/nvme/009
tests/nvme/010
tests/nvme/011
tests/nvme/012
tests/nvme/013
tests/nvme/014
tests/nvme/015
tests/nvme/018
tests/nvme/019
tests/nvme/020
tests/nvme/021
tests/nvme/022
tests/nvme/023
tests/nvme/024
tests/nvme/025
tests/nvme/026
tests/nvme/027
tests/nvme/028
tests/nvme/029
tests/nvme/040
tests/nvme/041
tests/nvme/042
tests/nvme/043
tests/nvme/044
tests/nvme/045
tests/nvme/047
tests/nvme/048
tests/nvme/rc

index 71b82ce758a3524ab7004472d4d4c5fcd649d241..b5ea2720100e5c141acf8f7997b04e88a85b6bd0 100755 (executable)
@@ -22,15 +22,8 @@ test() {
 
        _setup_nvmet
 
-       local loop_dev
-       local port
 
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-
-       loop_dev="$(losetup -f)"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" nqn.2014-08.org.nvmexpress.discovery
 
@@ -46,9 +39,8 @@ test() {
        fi
 
        _nvme_disconnect_subsys nqn.2014-08.org.nvmexpress.discovery
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
+
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 697c758d30592c84748fd7278212a80d6137c574..31af8737857b9f0cc75e0a69985215a15764665e 100755 (executable)
@@ -22,19 +22,8 @@ test() {
 
        _setup_nvmet
 
-       local port
-       local loop_dev
 
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-               "${def_subsys_uuid}"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -44,12 +33,8 @@ test() {
        cat "/sys/block/${nvmedev}n1/wwid"
 
        _nvme_disconnect_subsys ${def_subsysnqn}
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-       losetup -d "$loop_dev"
-       rm "${def_file_path}"
+
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 4ca87ff48016d884294135c075cb3dd1668ec652..f9956e960a560db79905334ab8f191120a75ca57 100755 (executable)
@@ -21,20 +21,9 @@ test() {
 
        _setup_nvmet
 
-       local port
-       local loop_dev
        local nvmedev
 
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-               "${def_subsys_uuid}"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -43,13 +32,8 @@ test() {
        echo 1 > "/sys/class/nvme/${nvmedev}/reset_controller"
 
        _nvme_disconnect_ctrl "${nvmedev}"
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_host "${def_hostnqn}"
 
-       losetup -d "$loop_dev"
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 910204aaeb908dad820493993a4f2bb99cccb5ab..d85f64b702eb72dc8410079bf10449e5957626f5 100755 (executable)
@@ -20,25 +20,10 @@ test() {
 
        _setup_nvmet
 
-       local port
-       local loop_dev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
+       _nvmet_target_setup
 
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-
-       losetup -d "$loop_dev"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index db00bdcc2d08902afa5ef5ba4792f8170a497261..b14243576d32afb3ea9774d98684aeb3d7d0c0f8 100755 (executable)
@@ -19,20 +19,10 @@ test() {
 
        _setup_nvmet
 
-       local port
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
+       _nvmet_target_setup --blkdev file
 
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index bd5e10fbfb99a8013d60f037c869f9f592e8b612..f4b45b2f1c11e1eea2e0896d36c6cc4ba1ded9b7 100755 (executable)
@@ -20,19 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
-       local loop_dev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -42,14 +32,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       losetup -d "${loop_dev}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index c9a4b57ac2886d4837145ee5281a3226114c2155..905de03005c927e8457d96e30be3cb07596a2d03 100755 (executable)
@@ -19,16 +19,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -38,12 +31,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 19bb7f3fc7a72c81499321023f2939a50023473d..e782a9bb06f31a2f98b9217deeaa47e85dfc36f8 100755 (executable)
@@ -20,19 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
-       local loop_dev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -45,14 +35,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       losetup -d "${loop_dev}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 0e54c2588bc8c2d1f33950d16d4acac722bd9fd3..56658f4d08f32b302505a155e0cdc5c6fa9c36fa 100755 (executable)
@@ -20,16 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -42,12 +35,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index c6b82c821bf2680d6428f7c4e7e88fd961a1dcd3..6072eed3532aea66ad9eff7ba57afbab22a54275 100755 (executable)
@@ -24,19 +24,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
-       local loop_dev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -48,14 +38,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       losetup -d "${loop_dev}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 441db7477d752322e28a96a0326504dd6c4418d6..60441cab10681da2e102596d43d5ecd25962a9fc 100755 (executable)
@@ -23,16 +23,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -44,12 +37,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 3656f9399687759d1dd61a1165437436a9dcbb80..d49e8f3cce4d7ac8d004f4f1ee97ecd85d699470 100755 (executable)
@@ -20,22 +20,12 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
-       local loop_dev
        local size
        local bs
        local count
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-                "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -54,14 +44,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       losetup -d "${loop_dev}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index bc04e39c628c0663d003f5d2afb81930bfa156bd..0813bcf509e640d64b21eb203636ce9e34d742cc 100755 (executable)
@@ -20,19 +20,12 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
        local size
        local bs
        local count
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-                "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -51,12 +44,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 68729c3cb07078d1df5cd26b67ef37b7ff527b46..00531cf2ec9833b8e895ca419040dff446d886b5 100755 (executable)
@@ -21,16 +21,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-                "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -48,12 +41,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 33a25d52e9fd88b0ad6b3047a0c0da2a3a0b6ea2..15e98c40134fba2688fc5798460c73c94d701641 100755 (executable)
@@ -20,21 +20,11 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
-       local loop_dev
        local nblk_range="10,10,10,10,10,10,10,10,10,10"
        local sblk_range="100,200,300,400,500,600,700,800,900,1000"
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -46,14 +36,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       losetup -d "${loop_dev}"
-
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index f436cdc8b2629a73ad5a0816a5b38c2bddbf200f..59c1179d85e3e03d5b88cd3de42854bde339fa2e 100755 (executable)
@@ -19,18 +19,11 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
        local nblk_range="10,10,10,10,10,10,10,10,10,10"
        local sblk_range="100,200,300,400,500,600,700,800,900,1000"
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -42,12 +35,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 5043fe4916be9716cce10680ef876e302dab6b71..2277fe5227e401c10a239cb3486bde7c027e1e6b 100755 (executable)
@@ -20,16 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -43,12 +36,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 8b6f610c489417e3a98734564d02babd34aa438a..a74eba30fa590c1d2e7384a67037675a713b59d8 100755 (executable)
@@ -20,16 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -43,12 +36,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 90af0338e81f746542550258c14709612780c378..c8d1e4619822ebfc25ea45146c68c8680f801677 100755 (executable)
@@ -20,19 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
-       local loop_dev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -46,14 +36,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       losetup -d "${loop_dev}"
-
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 7a89ddd79fd981db19c7e3075e3dd6d8c6831003..d21bcce253ba4bd5a3d076c4b525405d9c8355a4 100755 (executable)
@@ -20,16 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -42,12 +35,7 @@ test() {
        fi
        _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 90f214eff6c82e1aac440170b298df2d4d6d03e4..5912e5d1a257ec671d6e5fdc0a63658fa2cc318c 100755 (executable)
@@ -20,16 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -43,12 +36,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index ec352acaa489d9ad87dc8fdc78e6f78954e04f41..b6bc779952b0d4e3ff33c8b469d2929978724edc 100755 (executable)
@@ -20,16 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -43,12 +36,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 339f7605a9f519e5ae5f9b267e1afcf186725a27..3993fb5ff2ce1b0d60d568476ac43d1dc72e69f6 100755 (executable)
@@ -20,16 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -40,14 +33,10 @@ test() {
        if ! nvme ns-rescan "/dev/${nvmedev}" >> "$FULL" 2>&1; then
                echo "ERROR: ns-rescan failed"
        fi
-       _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
+       _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 7f387eb337f650d7b1dd371e20f261891d1c67eb..e52238150635afce749900c7abb958c73dee9bdf 100755 (executable)
@@ -20,16 +20,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -40,14 +33,10 @@ test() {
        if ! nvme list-subsys 2>> "$FULL" | grep -q "${nvme_trtype}"; then
                echo "ERROR: list-subsys"
        fi
-       _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
+       _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 461e6c6c4454c34cf9a900b89ede0b8c8a3f4b0b..bbc481437fc866cb4f524798646cc04844eb04ee 100755 (executable)
@@ -53,19 +53,9 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
-       local loop_dev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-                "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
 
@@ -83,14 +73,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       losetup -d "${loop_dev}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index ed6df3bbed5206bb40f8f68f5640b373342ce5b0..7759bac9b43cc4782ad1a22be557e8b80c9e8a95 100755 (executable)
@@ -21,18 +21,10 @@ test() {
 
        _setup_nvmet
 
-       local port
-       local loop_dev
        local nvmedev
        local fio_pid
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}"
        nvmedev=$(_find_nvme_dev "${def_subsysnqn}")
@@ -54,14 +46,7 @@ test() {
 
        { kill "${fio_pid}"; wait; } &> /dev/null
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       losetup -d "${loop_dev}"
-
-       rm -f "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index bc84412ccb46bc68e41a4a6aca756e20287d658e..d23f10ad88d78dc69708a99c3e9b2f01f0019276 100755 (executable)
@@ -24,7 +24,6 @@ test() {
 
        _setup_nvmet
 
-       local port
        local hostkey
        local ctrldev
 
@@ -34,13 +33,7 @@ test() {
                return 1
        fi
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}" "${hostkey}"
+       _nvmet_target_setup --blkdev file --hostkey "${hostkey}"
 
        # Test unauthenticated connection (should fail)
        echo "Test unauthenticated connection (should fail)"
@@ -59,14 +52,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-
-       _remove_nvmet_port "${port}"
-
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 47e1b95ffdc662108161118ceaf0963d1acf5f95..9fda681a9b45610b3d0887b917e3cbe6b84cd6cc 100755 (executable)
@@ -24,18 +24,12 @@ test() {
 
        _setup_nvmet
 
-       local port
        local hmac
        local key_len
        local hostkey
        local ctrldev
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        for hmac in 0 1 2 3; do
                echo "Testing hmac ${hmac}"
@@ -71,14 +65,7 @@ test() {
                _nvme_disconnect_subsys "${def_subsysnqn}"
        done
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-
-       _remove_nvmet_port "${port}"
-
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 15676f88d5565229aa8940cd751b456014879f1a..c6a0aa00855e6f1ae89abc18bf6d334b03d31bb5 100755 (executable)
@@ -25,7 +25,6 @@ test() {
 
        _setup_nvmet
 
-       local port
        local hash
        local dhgroup
        local hostkey
@@ -37,12 +36,7 @@ test() {
                return 1
        fi
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}" "${hostkey}"
+       _nvmet_target_setup --blkdev file --hostkey "${hostkey}"
 
        for hash in "hmac(sha256)" "hmac(sha384)" "hmac(sha512)" ; do
 
@@ -72,14 +66,7 @@ test() {
                _nvme_disconnect_subsys "${def_subsysnqn}"
        done
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-
-       _remove_nvmet_port "${port}"
-
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 9407ac6338c88b4ac30f6acd2462eda648d99c67..7bd43f39d46019279d4943f9f970e91a0c80ed85 100755 (executable)
@@ -25,7 +25,6 @@ test() {
 
        _setup_nvmet
 
-       local port
        local hostkey
        local ctrlkey
        local ctrldev
@@ -42,13 +41,8 @@ test() {
                return 1
        fi
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}" \
-                          "${hostkey}" "${ctrlkey}"
+       _nvmet_target_setup --blkdev file --ctrlkey "${ctrlkey}" \
+                           --hostkey "${hostkey}"
 
        _set_nvmet_dhgroup "${def_hostnqn}" "ffdhe2048"
 
@@ -95,14 +89,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-
-       _remove_nvmet_port "${port}"
-
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 396bcdefbcba43a559b6e04b32b133cefb8aa568..1eb1032a3b9363379d172e60804bf168ac26987b 100755 (executable)
@@ -26,7 +26,6 @@ test() {
 
        _setup_nvmet
 
-       local port
        local hostkey
        local new_hostkey
        local ctrlkey
@@ -46,12 +45,8 @@ test() {
                return 1
        fi
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}" "${hostkey}" "${ctrlkey}"
+       _nvmet_target_setup --blkdev file --ctrlkey "${ctrlkey}" \
+                           --hostkey "${hostkey}"
 
        _set_nvmet_dhgroup "${def_hostnqn}" "ffdhe2048"
 
@@ -114,14 +109,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}"
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-
-       _remove_nvmet_port "${port}"
-
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 1da24b5638a6764fbb81867fe4e90876b5330361..94d7d50f9f988d0379b8ceb0616ae754243c62f1 100755 (executable)
@@ -22,20 +22,10 @@ test() {
 
        _setup_nvmet
 
-       local port
        local nvmedev
-       local loop_dev
        local rand_io_size
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       loop_dev="$(losetup -f --show "${def_file_path}")"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${loop_dev}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup
 
        _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}" \
                --nr-write-queues 1 || echo FAIL
@@ -55,14 +45,7 @@ test() {
 
        _nvme_disconnect_subsys "${def_subsysnqn}" >> "$FULL" 2>&1
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       losetup -d "${loop_dev}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        echo "Test complete"
 }
index 19234a5b3791f4068c4f9e870fb08ec8b1dd7b77..1e5a7a1bcb997b5f5a3ada65f3e10787beaeb255 100755 (executable)
@@ -87,16 +87,8 @@ test() {
 
        local cfs_path="${NVMET_CFS}/subsystems/${def_subsysnqn}"
        local skipped=false
-       local port
 
-       truncate -s "${nvme_img_size}" "${def_file_path}"
-
-       _create_nvmet_subsystem "${def_subsysnqn}" "${def_file_path}" \
-               "${def_subsys_uuid}"
-       port="$(_create_nvmet_port "${nvme_trtype}")"
-
-       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
-       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}"
+       _nvmet_target_setup --blkdev file
 
        if [[ -f "${cfs_path}/attr_qid_max" ]] ; then
                _nvme_connect_subsys "${nvme_trtype}" "${def_subsysnqn}" \
@@ -118,12 +110,7 @@ test() {
                skipped=true
        fi
 
-       _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
-       _remove_nvmet_subsystem "${def_subsysnqn}"
-       _remove_nvmet_port "${port}"
-       _remove_nvmet_host "${def_hostnqn}"
-
-       rm "${def_file_path}"
+       _nvmet_target_cleanup
 
        if [[ "${skipped}" = true ]] ; then
                return 1
index fdffc07da34ad3db8a4f6b33c417f8c75a953be2..1ec9eb64633035bba215a601d71ef0e8cd70b628 100644 (file)
@@ -296,6 +296,17 @@ _cleanup_fcloop() {
        _cleanup_nvme_cli
 }
 
+_cleanup_blkdev() {
+       local blkdev
+       local dev
+
+       blkdev="$(losetup -l | awk '$6 == "'"${def_file_path}"'" { print $1 }')"
+       for dev in ${blkdev}; do
+               losetup -d "${dev}"
+       done
+       rm -f "${def_file_path}"
+}
+
 _cleanup_nvmet() {
        local dev
        local port
@@ -359,6 +370,8 @@ _cleanup_nvmet() {
        if [[ "${nvme_trtype}" == "rdma" ]]; then
                stop_soft_rdma
        fi
+
+       _cleanup_blkdev
 }
 
 _setup_nvmet() {
@@ -818,6 +831,66 @@ _find_nvme_passthru_loop_dev() {
        echo "/dev/${dev}n${nsid}"
 }
 
+_nvmet_target_setup() {
+       local blkdev_type="device"
+       local blkdev
+       local ctrlkey=""
+       local hostkey=""
+       local port
+
+       while [[ $# -gt 0 ]]; do
+               case $1 in
+                       --blkdev)
+                               blkdev_type="$2"
+                               shift 2
+                               ;;
+                       --ctrlkey)
+                               ctrlkey="$2"
+                               shift 2
+                               ;;
+                       --hostkey)
+                               hostkey="$2"
+                               shift 2
+                               ;;
+                       *)
+                               echo "WARNING: unknown argument: $1"
+                               shift
+                               ;;
+               esac
+       done
+
+       truncate -s "${nvme_img_size}" "${def_file_path}"
+       if [[ "${blkdev_type}" == "device" ]]; then
+               blkdev="$(losetup -f --show "${def_file_path}")"
+       else
+               blkdev="${def_file_path}"
+       fi
+
+       _create_nvmet_subsystem "${def_subsysnqn}" "${blkdev}" \
+                               "${def_subsys_uuid}"
+       port="$(_create_nvmet_port "${nvme_trtype}")"
+       _add_nvmet_subsys_to_port "${port}" "${def_subsysnqn}"
+       _create_nvmet_host "${def_subsysnqn}" "${def_hostnqn}" \
+                       "${hostkey}" "${ctrlkey}"
+}
+
+_nvmet_target_cleanup() {
+       local ports
+       local port
+       local blkdev
+
+       _get_nvmet_ports "${def_subsysnqn}" ports
+
+       for port in "${ports[@]}"; do
+               _remove_nvmet_subsystem_from_port "${port}" "${def_subsysnqn}"
+               _remove_nvmet_port "${port}"
+       done
+       _remove_nvmet_subsystem "${def_subsysnqn}"
+       _remove_nvmet_host "${def_hostnqn}"
+
+       _cleanup_blkdev
+}
+
 _nvmet_passthru_target_setup() {
        local subsys_name=$1
        local port