mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-25 20:10:23 +09:00
FROMLIST: scsi: scsi_debug: Support disabling zone write locking
Make it easier to test handling of QUEUE_FLAG_NO_ZONE_WRITE_LOCK by adding support for setting this flag for scsi_debug request queues. Cc: Martin K. Petersen <martin.petersen@oracle.com> Cc: Douglas Gilbert <dgilbert@interlog.com> Change-Id: I6c8f338dea26c8bfbbca18c70e306f904eccf0cb Signed-off-by: Bart Van Assche <bvanassche@acm.org> Bug: 234829282 Link: https://lore.kernel.org/linux-block/20230804154821.3232094-1-bvanassche@acm.org/T/#m42e4fdc8dce111f4cdd4dee21f438cd6bf0c9c70 Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
committed by
Bart Van Assche
parent
3347f7daae
commit
6c0276ef82
@@ -830,6 +830,7 @@ static int dix_reads;
|
||||
static int dif_errors;
|
||||
|
||||
/* ZBC global data */
|
||||
static bool sdeb_no_zwrl;
|
||||
static bool sdeb_zbc_in_use; /* true for host-aware and host-managed disks */
|
||||
static int sdeb_zbc_zone_cap_mb;
|
||||
static int sdeb_zbc_zone_size_mb;
|
||||
@@ -5114,9 +5115,13 @@ static struct sdebug_dev_info *find_build_dev_info(struct scsi_device *sdev)
|
||||
|
||||
static int scsi_debug_slave_alloc(struct scsi_device *sdp)
|
||||
{
|
||||
struct request_queue *q = sdp->request_queue;
|
||||
|
||||
if (sdebug_verbose)
|
||||
pr_info("slave_alloc <%u %u %u %llu>\n",
|
||||
sdp->host->host_no, sdp->channel, sdp->id, sdp->lun);
|
||||
if (sdeb_no_zwrl)
|
||||
blk_queue_flag_set(QUEUE_FLAG_NO_ZONE_WRITE_LOCK, q);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -5767,6 +5772,7 @@ module_param_named(medium_error_start, sdebug_medium_error_start, int,
|
||||
module_param_named(ndelay, sdebug_ndelay, int, S_IRUGO | S_IWUSR);
|
||||
module_param_named(no_lun_0, sdebug_no_lun_0, int, S_IRUGO | S_IWUSR);
|
||||
module_param_named(no_uld, sdebug_no_uld, int, S_IRUGO);
|
||||
module_param_named(no_zone_write_lock, sdeb_no_zwrl, bool, S_IRUGO);
|
||||
module_param_named(num_parts, sdebug_num_parts, int, S_IRUGO);
|
||||
module_param_named(num_tgts, sdebug_num_tgts, int, S_IRUGO | S_IWUSR);
|
||||
module_param_named(opt_blks, sdebug_opt_blks, int, S_IRUGO);
|
||||
@@ -5840,6 +5846,8 @@ MODULE_PARM_DESC(medium_error_start, "starting sector number to return MEDIUM er
|
||||
MODULE_PARM_DESC(ndelay, "response delay in nanoseconds (def=0 -> ignore)");
|
||||
MODULE_PARM_DESC(no_lun_0, "no LU number 0 (def=0 -> have lun 0)");
|
||||
MODULE_PARM_DESC(no_uld, "stop ULD (e.g. sd driver) attaching (def=0))");
|
||||
MODULE_PARM_DESC(no_zone_write_lock,
|
||||
"Disable serialization of zoned writes (def=0)");
|
||||
MODULE_PARM_DESC(num_parts, "number of partitions(def=0)");
|
||||
MODULE_PARM_DESC(num_tgts, "number of targets per host to simulate(def=1)");
|
||||
MODULE_PARM_DESC(opt_blks, "optimal transfer length in blocks (def=1024)");
|
||||
|
||||
Reference in New Issue
Block a user