On 2/19/19 1:02 PM, Sreekanth Reddy wrote:
Use driver's scsiio lookup table to track outstanding IOs at driver level,

Have done following changes in this patch,
* Allocated & initialized scsi_lookup table of type
   (struct scsiio_tracker) and of depth host's can_queue at driver load time
   and it will be deallocated at driver unload time.

* Once scmd is receieved, driver will take scsiio_tracker at entry
   corresponding to scmd's tag value from scsi_lookup table. Then this
   scsiio_tracker entry is initialized with proper smid, scmd, cb_idx etc.
   And this scsiio_tracker entry contents are cleared before driver
   calling scsi_done callback function.

* scmd's host_scribble variable is used to save the corresponding
   scsiio_tracker address, later at any time driver can easily retrieve the
   scmd's corresponding scsiio_tacker using this host_scribble variable.

* Whenever driver wants to get the outstanding IOs at the driver level
   then driver can go through this scsi_lookup table and if it observe
   any entry with non-null scmd then it means that scmd is outstanding
   at the driver level.

Cc: <sta...@vger.kernel.org>
Signed-off-by: Sreekanth Reddy <sreekanth.re...@broadcom.com>
---

What is the reason for this change?
The description only states _what_ you are doing, not why.
Care to elaborate?

Cheers,

Hannes

Reply via email to