From: Nilay Shroff <nilay@linux.ibm.com>
To: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Cc: "linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>,
"hare@suse.de" <hare@suse.de>, "gjoyce@ibm.com" <gjoyce@ibm.com>
Subject: Re: [PATCH blktests] nvme/058: detach loop device after test finish
Date: Fri, 24 Jan 2025 13:01:46 +0530 [thread overview]
Message-ID: <5ff778f7-3474-47e3-a4b0-ca1fb263b7c1@linux.ibm.com> (raw)
In-Reply-To: <vml6hqld7aqvpahyzgkt5syipzs64ncqzdr7imnbseqgkdcxn3@nyzraplwk6vx>
On 1/23/25 10:23 AM, Shinichiro Kawasaki wrote:
> On Jan 16, 2025 / 18:52, Nilay Shroff wrote:
>> 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.
>
> Thank you for catching this issue. This needs a fix.
>
Thank you for your review and comments!
>>
>> Signed-off-by: Nilay Shroff <nilay@linux.ibm.com>
>> ---
>> tests/nvme/058 | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>>
>> diff --git a/tests/nvme/058 b/tests/nvme/058
>> index d230a21..99e7e81 100755
>> --- a/tests/nvme/058
>> +++ b/tests/nvme/058
>> @@ -99,6 +99,17 @@ test() {
>> done
>>
>> _nvme_disconnect_subsys
>> +
>> + for ((d = 1; d <= num_namespaces; d++)); do
>> + local file_path
>> + local blkdev
>> +
>> + file_path="${TMPDIR}/img${d}"
>> + blkdev="$(losetup -l | awk -v path="${file_path}" '$6 == path { print $1 }')"
>> +
>> + losetup -d "${blkdev}"
>> + done
>
> This for loop looks similar and redundant with the other for loop to set up the
> namespaces. How about to keep the blkdevs in an array, and refer to them to
> detach? The pseudo code below shows this approach:
>
> local blkdev
> local -a blkdevs
> ...
> (in the 1st loop)
> ...
> blkdevs+=$("$blkdev")
> ...
>
> ...
> (after _nvme_disconnect_subsys)
>
> for blkdev in "${blkdevs[@]}"; do
> losetup --detach "$blkdev"
> done
> ...
>
Yes this looks good! I will incorporate this in the next patch.
>
> Also I suggest to use long option names instead of short names for readability
> and code stability: e.g., instead of "losetup -d", let's use "losetup --detach".
> (No need to replace short option names in existing code. I'm suggesting this for
> the new lines to add.)
>
Sure, will do the needful.
Thanks,
--Nilay
prev parent reply other threads:[~2025-01-24 7:38 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-16 13:22 [PATCH blktests] nvme/058: detach loop device after test finish Nilay Shroff
2025-01-23 4:53 ` Shinichiro Kawasaki
2025-01-24 7:31 ` Nilay Shroff [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5ff778f7-3474-47e3-a4b0-ca1fb263b7c1@linux.ibm.com \
--to=nilay@linux.ibm.com \
--cc=gjoyce@ibm.com \
--cc=hare@suse.de \
--cc=linux-nvme@lists.infradead.org \
--cc=shinichiro.kawasaki@wdc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox