2023-06-12 15:26:31

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v1] nvme/040: Free loop back resources

The tests does not cleanup all resources after it has finished. This
leads to rm not being able to remove the TMPDIR cleanly:

+ rm -rf blktests/results/tmpdir.nvme.040.m2J
rm: cannot remove 'blktests/results/tmpdir.nvme.040.m2J': Directory not empty

Signed-off-by: Daniel Wagner <[email protected]>
---
tests/nvme/040 | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/tests/nvme/040 b/tests/nvme/040
index b6ab34d611ba..688a0939a376 100755
--- a/tests/nvme/040
+++ b/tests/nvme/040
@@ -18,6 +18,7 @@ requires() {

test() {
local subsys="blktests-subsystem-1"
+ local file_path="${TMPDIR}/img"
local port
local loop_dev
local nvmedev
@@ -26,8 +27,8 @@ test() {
echo "Running ${TEST_NAME}"

_setup_nvmet
- truncate -s "${nvme_img_size}" "$TMPDIR/img"
- loop_dev="$(losetup -f --show "$TMPDIR/img")"
+ truncate -s "${nvme_img_size}" "${file_path}"
+ loop_dev="$(losetup -f --show "${file_path}")"

port="$(_create_nvmet_port "${nvme_trtype}")"
_create_nvmet_subsystem "${subsys}" "${loop_dev}"
@@ -57,5 +58,9 @@ test() {
_remove_nvmet_subsystem "${subsys}"
_remove_nvmet_port "${port}"

+ losetup -d "${loop_dev}"
+
+ rm -f "${file_path}"
+
echo "Test complete"
}
--
2.40.1



2023-06-14 11:28:07

by Shinichiro Kawasaki

[permalink] [raw]
Subject: Re: [PATCH blktests v1] nvme/040: Free loop back resources

On Jun 12, 2023 / 16:29, Daniel Wagner wrote:
> The tests does not cleanup all resources after it has finished. This
> leads to rm not being able to remove the TMPDIR cleanly:
>
> + rm -rf blktests/results/tmpdir.nvme.040.m2J
> rm: cannot remove 'blktests/results/tmpdir.nvme.040.m2J': Directory not empty
>
> Signed-off-by: Daniel Wagner <[email protected]>

Hi Daniel, thanks for the patch. It looks good to me. Now the test case leaves a
loop device. This patch avoids it. Good.

Question, I do not observe the rm command failure in my test environments. Do
you have insight why you were able to find the failure?

2023-06-14 11:33:37

by Daniel Wagner

[permalink] [raw]
Subject: Re: [PATCH blktests v1] nvme/040: Free loop back resources

On Wed, Jun 14, 2023 at 11:13:18AM +0000, Shinichiro Kawasaki wrote:
> On Jun 12, 2023 / 16:29, Daniel Wagner wrote:
> > The tests does not cleanup all resources after it has finished. This
> > leads to rm not being able to remove the TMPDIR cleanly:
> >
> > + rm -rf blktests/results/tmpdir.nvme.040.m2J
> > rm: cannot remove 'blktests/results/tmpdir.nvme.040.m2J': Directory not empty
> >
> > Signed-off-by: Daniel Wagner <[email protected]>
>
> Hi Daniel, thanks for the patch. It looks good to me. Now the test case leaves a
> loop device. This patch avoids it. Good.
>
> Question, I do not observe the rm command failure in my test environments. Do
> you have insight why you were able to find the failure?

I am running the tests inside a VM and I am sharing a part of my host filesystem
via NFS which contain the blktests. If I understood it correctly, the NFS server
is behaving slightly differently here. I can't observe it either with xfs or
btrfs.

2023-06-15 02:58:33

by Shinichiro Kawasaki

[permalink] [raw]
Subject: Re: [PATCH blktests v1] nvme/040: Free loop back resources

On Jun 14, 2023 / 13:27, Daniel Wagner wrote:
> On Wed, Jun 14, 2023 at 11:13:18AM +0000, Shinichiro Kawasaki wrote:
> > On Jun 12, 2023 / 16:29, Daniel Wagner wrote:
> > > The tests does not cleanup all resources after it has finished. This
> > > leads to rm not being able to remove the TMPDIR cleanly:
> > >
> > > + rm -rf blktests/results/tmpdir.nvme.040.m2J
> > > rm: cannot remove 'blktests/results/tmpdir.nvme.040.m2J': Directory not empty
> > >
> > > Signed-off-by: Daniel Wagner <[email protected]>
> >
> > Hi Daniel, thanks for the patch. It looks good to me. Now the test case leaves a
> > loop device. This patch avoids it. Good.
> >
> > Question, I do not observe the rm command failure in my test environments. Do
> > you have insight why you were able to find the failure?
>
> I am running the tests inside a VM and I am sharing a part of my host filesystem
> via NFS which contain the blktests. If I understood it correctly, the NFS server
> is behaving slightly differently here. I can't observe it either with xfs or
> btrfs.

I see, the NFS sounds triggering the failure. I've applied the patch. Thanks!