mbox series

[blktests,v2,0/6] support built-in scsi_debug

Message ID 20230425114745.376322-1-shinichiro@fastmail.com (mailing list archive)
Headers show
Series support built-in scsi_debug | expand

Message

Shin'ichiro Kawasaki April 25, 2023, 11:47 a.m. UTC
From: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>

In the past, there was an issue related to scsi_debug module unload [1]. At that
time, it was suggested to modify blktests not to rely on module load and unload.
Based on that discussion, blktests was modified not to load or unload null_blk
driver [2][3]. As of today, a number of test cases with null_blk can be run with
built-in null_blk.

This series introduces similar support for built-in scsi_debug. This patch adds
a new helper function _configure_scsi_debug which can set up scsi_debug device
without module load and unload. Also it enables 5 test cases to run with built-
in scsi_debug.

The first patch in this series fixes a minor issue found during this work. Next
two patches modify common/scsi_debug functions as preparation. The 4th patch
introduces the new function _configure_scsi_debug. Following 5 patches modify
the 5 test cases so that they can run with built-in scsi debug.

Of note is that still srp test group and 9 test cases in other test groups are
left to require loadable scsi_debug. The srp test group and 8 of the 9 test
cases can not be run with built-in scsi_debug because the parameters they set
are read-only on sysfs. The other one test case scsi/007 has other failure
symptom now, so I leave it untouched at this moment.

[1] https://lore.kernel.org/linux-block/bc0b2c10-10e6-a1d9-4139-ac93ad3512b2@interlog.com/
[2] https://lore.kernel.org/linux-block/20220601064837.3473709-1-hch@lst.de/
[3] https://lore.kernel.org/linux-block/20220607124739.1259977-1-hch@lst.de/

Changes from v1:
* 4th patch: improved to restore scsi_debug parameters modified during test
* Squashed last 5 patches into 2 patches as suggested
* Added Reviewed-by tags
* Noted srp test group in the last paragraph of the cover letter

Shin'ichiro Kawasaki (6):
  common/rc: skip module file check if modules path does not exist
  common/scsi_debug, tests/*: re-define _have_scsi_debug
  common/scsi_debug: factor out _setup_scsi_debug_vars
  common/scsi_debug: introduce _configure_scsi_debug
  scsi/{004,005}: allow to run with built-in scsi_debug
  block/{001,002,027}: allow to run with built-in scsi_debug and sd_mod

 common/rc         |   1 +
 common/scsi_debug | 138 ++++++++++++++++++++++++++++++++++++++++++----
 tests/block/001   |   4 +-
 tests/block/002   |   5 +-
 tests/block/009   |   3 +-
 tests/block/025   |   2 +-
 tests/block/027   |   6 +-
 tests/block/028   |   2 +-
 tests/block/032   |   3 +-
 tests/loop/004    |   5 +-
 tests/scsi/004    |   2 +-
 tests/scsi/005    |   5 +-
 tests/scsi/007    |   2 +-
 tests/zbd/008     |   5 +-
 tests/zbd/009     |   2 +-
 tests/zbd/010     |   2 +-
 16 files changed, 156 insertions(+), 31 deletions(-)

Comments

Shin'ichiro Kawasaki May 23, 2023, 8:37 a.m. UTC | #1
On Apr 25, 2023 / 20:47, Shin'ichiro Kawasaki wrote:
> From: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
> 
> In the past, there was an issue related to scsi_debug module unload [1]. At that
> time, it was suggested to modify blktests not to rely on module load and unload.
> Based on that discussion, blktests was modified not to load or unload null_blk
> driver [2][3]. As of today, a number of test cases with null_blk can be run with
> built-in null_blk.
> 
> This series introduces similar support for built-in scsi_debug. This patch adds
> a new helper function _configure_scsi_debug which can set up scsi_debug device
> without module load and unload. Also it enables 5 test cases to run with built-
> in scsi_debug.

FYI, I've applied this series with some more improvements in the 4th patch.

> Of note is that still srp test group and 9 test cases in other test groups are
> left to require loadable scsi_debug. The srp test group and 8 of the 9 test
> cases can not be run with built-in scsi_debug because the parameters they set
> are read-only on sysfs. The other one test case scsi/007 has other failure
> symptom now, so I leave it untouched at this moment.

I plan to work further on the 9 left test cases.

> 
> [1] https://lore.kernel.org/linux-block/bc0b2c10-10e6-a1d9-4139-ac93ad3512b2@interlog.com/
> [2] https://lore.kernel.org/linux-block/20220601064837.3473709-1-hch@lst.de/
> [3] https://lore.kernel.org/linux-block/20220607124739.1259977-1-hch@lst.de/