All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands
@ 2021-04-21  7:55 Ming Lei
  2021-04-21  7:55 ` [PATCH 1/5] scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in fnic_terminate_rport_io Ming Lei
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Ming Lei @ 2021-04-21  7:55 UTC (permalink / raw)
  To: Martin K . Petersen, linux-scsi
  Cc: Ming Lei, Satish Kharat, Karan Tilak Kumar, David Jeffery

Hello Guys,

fnic uses the following way to walk scsi commands in failure handling,
which is obvious wrong, because caller of scsi_host_find_tag has to
guarantee that the tag is active.

        for (tag = 0; tag < fnic->fnic_max_tag_id; tag++) {
				...
                sc = scsi_host_find_tag(fnic->lport->host, tag);
				...
		}

Fix the issue by using blk_mq_tagset_busy_iter() to walk
request/scsi_command.

thanks,
Ming


Ming Lei (5):
  scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in
    fnic_terminate_rport_io
  scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in
    fnic_clean_pending_aborts
  scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in
    fnic_cleanup_io
  scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in
    fnic_rport_exch_reset
  scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in
    fnic_is_abts_pending

 drivers/scsi/fnic/fnic_scsi.c | 933 ++++++++++++++++++----------------
 1 file changed, 493 insertions(+), 440 deletions(-)

Cc: Satish Kharat <satishkh@cisco.com>
Cc: Karan Tilak Kumar <kartilak@cisco.com>
Cc: David Jeffery <djeffery@redhat.com>

-- 
2.29.2


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-04-26  8:04 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-21  7:55 [PATCH 0/5] scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands Ming Lei
2021-04-21  7:55 ` [PATCH 1/5] scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in fnic_terminate_rport_io Ming Lei
2021-04-21  7:55 ` [PATCH 2/5] scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in fnic_clean_pending_aborts Ming Lei
2021-04-21  7:55 ` [PATCH 3/5] scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in fnic_cleanup_io Ming Lei
2021-04-21  7:55 ` [PATCH 4/5] scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in fnic_rport_exch_reset Ming Lei
2021-04-21  7:55 ` [PATCH 5/5] scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands in fnic_is_abts_pending Ming Lei
2021-04-21 10:19 ` [PATCH 0/5] scsi: fnic: use blk_mq_tagset_busy_iter() to walk scsi commands Martin Wilck
2021-04-21 10:40   ` Ming Lei
2021-04-21 12:33     ` Martin Wilck
2021-04-21 14:05       ` Ming Lei
2021-04-21 20:14 ` Hannes Reinecke
2021-04-22  0:08   ` Ming Lei
2021-04-22 14:17     ` Ming Lei
2021-04-26  7:30       ` Hannes Reinecke
2021-04-26  8:04         ` Ming Lei

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.