[PATCH blktests] nvme/058: detach loop device after test finish
Nilay Shroff
nilay at linux.ibm.com
Thu Jan 23 23:31:46 PST 2025
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 at 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
More information about the Linux-nvme
mailing list