On 2019-09-07 12:19 p.m., Chaitanya Kulkarni wrote:
> On 09/05/2019 10:44 AM, Logan Gunthorpe wrote:
>> A number of bug fixes have been submitted to the kernel to
>> fix bugs when a controller is removed immediately after it is
>> set up. This new test ensures this doesn't regress.
>>
>> Signed-off-by: Logan Gunthorpe <[email protected]>
>>
>> ---
>>
>> This is reallly just a resend. The patches this tests for are all in
>> 5.3-rc7 or earlier and it passes on said kernel version.
>>
>> I've rebased this patch onto the latest blktests as of today with no
>> changes required.
>>
>> Thanks,
>>
>> Logan
>>
>> tests/nvme/031 | 55 ++++++++++++++++++++++++++++++++++++++++++++++
>> tests/nvme/031.out | 2 ++
>> 2 files changed, 57 insertions(+)
>> create mode 100755 tests/nvme/031
>> create mode 100644 tests/nvme/031.out
>>
>> diff --git a/tests/nvme/031 b/tests/nvme/031
>> new file mode 100755
>> index 000000000000..16390dcb380e
>> --- /dev/null
>> +++ b/tests/nvme/031
>> @@ -0,0 +1,55 @@
>> +#!/bin/bash
>> +# SPDX-License-Identifier: GPL-3.0+
>> +# Copyright (C) 2019 Logan Gunthorpe
>> +#
>> +# Regression test for the following patches:
>> +# nvme: fix controller removal race with scan work
>> +# nvme: fix regression upon hot device removal and insertion
>> +# nvme-core: Fix extra device_put() call on error path
>> +# nvmet-loop: Flush nvme_delete_wq when removing the port
>> +# nvmet: Fix use-after-free bug when a port is removed
>> +#
>> +# All these patches fix issues related to deleting a controller
>> +# immediately after setting it up.
>> +
>> +. tests/nvme/rc
>> +
>> +DESCRIPTION="test deletion of NVMeOF controllers immediately after setup"
>> +QUICK=1
>> +
>> +requires() {
>> + _have_program nvme &&
>> + _have_modules loop nvme-loop nvmet &&
>> + _have_configfs
>> +}
>> +
>> +test() {
>> + local subsys="blktests-subsystem-"
>> + local iterations=10
>> + local loop_dev
>> + local port
>> +
>> + echo "Running ${TEST_NAME}"
>> +
>> + _setup_nvmet
>> +
>> + truncate -s 1G "$TMPDIR/img"
>> +
>> + local loop_dev
> Duplicate declaration of the local variable ?
Oops, yes, nice catch. I'll send an updated patch later this week.
Logan