Re: [PATCH] scsi/sg: don't grab scsi host module reference

From: Bart Van Assche
Date: Wed Jun 21 2023 - 11:47:19 EST


On 6/21/23 09:01, Yu Kuai wrote:
From: Yu Kuai <yukuai3@xxxxxxxxxx>

In order to prevent request_queue to be freed before cleaning up
blktrace debugfs entries, commit db59133e9279 ("scsi: sg: fix blktrace
debugfs entries leakage") use scsi_device_get(), however,
scsi_device_get() will also grab scsi module reference and scsi module
can't be removed.

It's reported that blktests can't unload scsi_debug after block/001:

blktests (master) # ./check block
block/001 (stress device hotplugging) [failed]
+++ /root/blktests/results/nodev/block/001.out.bad 2023-06-19
Running block/001
Stressing sd
+modprobe: FATAL: Module scsi_debug is in use.

Fix this problem by grabbing request_queue reference directly, so that
scsi host module can still be unloaded while request_queue will be
pinged by sg device.

pinged -> pinned

Otherwise this patch looks good to me.

Bart.