[PATCHv2 blktests] nvme/058: detach loop device after test finish
Nilay Shroff
nilay at linux.ibm.com
Thu Jan 23 23:47:29 PST 2025
The nvme/058 creates three (temp file backed) namespaces and
attach each namespace to a loop device while starting the test.
However it never detach those namespaces from the loop device
once test finishes. Ideally, we should detach loop device from
namespace so that the associated loop device is later destroyed
and its resources are released. This patch helps detach each
namespace from its associated loop device after test finishes.
Signed-off-by: Nilay Shroff <nilay at linux.ibm.com>
---
Changes from v1:
- keep blkdevs, which are used for setting up ns, in an array
and then later access the array to free/detach each blkdev
(Shinichiro Kawasaki)
- use longer option name instead of short name for readability
(Shinichiro Kawasaki)
---
tests/nvme/058 | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/tests/nvme/058 b/tests/nvme/058
index d230a21..815503f 100755
--- a/tests/nvme/058
+++ b/tests/nvme/058
@@ -65,11 +65,13 @@ test() {
for ((d = 1; d <= num_namespaces; d++)); do
local file_path
local blkdev
+ local -a blkdevs
local uuid
file_path="${TMPDIR}/img${d}"
truncate -s "${NVME_IMG_SIZE}" "${file_path}"
blkdev="$(losetup -f --show "${file_path}")"
+ blkdevs+=("$blkdev")
uuid="$(uuidgen)"
_create_nvmet_ns --nsid "${d}" --blkdev "${blkdev}" \
--uuid "${uuid}" --grpid "${d}" > /dev/null
@@ -99,6 +101,11 @@ test() {
done
_nvme_disconnect_subsys
+
+ for blkdev in "${blkdevs[@]}"; do
+ losetup --detach "$blkdev"
+ done
+
_nvmet_target_cleanup
echo "Test complete"
--
2.47.1
More information about the Linux-nvme
mailing list