diff options
author | John Garry <john.g.garry@oracle.com> | 2023-03-27 07:43:05 +0000 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2023-04-02 22:09:22 -0400 |
commit | 1107c7b24ee3280abfc59f1b9186e285cabdd3ec (patch) | |
tree | 2717dbe2528f8633c5c17c0e8fbc56ad75c17cc0 /drivers/watchdog | |
parent | a0473bf31df5bf2da7ecb50023c129659ce0a835 (diff) |
scsi: scsi_debug: Dynamically allocate sdebug_queued_cmd
Eventually we will drop the sdebug_queue struct as it is not really
required, so start with making the sdebug_queued_cmd dynamically allocated
for the lifetime of the scsi_cmnd in the driver.
As an interim measure, make sdebug_queued_cmd.sd_dp a pointer to struct
sdebug_defer. Also keep a value of the index allocated in
sdebug_queued_cmd.qc_arr in struct sdebug_queued_cmd.
To deal with an races in accessing the scsi cmnd allocated struct
sdebug_queued_cmd, add a spinlock for the scsi command in its priv area.
Races may be between scheduling a command for completion, aborting a
command, and the command actually completing and freeing the struct
sdebug_queued_cmd.
[mkp: typo fix]
Signed-off-by: John Garry <john.g.garry@oracle.com>
Link: https://lore.kernel.org/r/20230327074310.1862889-7-john.g.garry@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/watchdog')
0 files changed, 0 insertions, 0 deletions