Skip to content

Commit beafd69

Browse files
Quinn Tranmartinkpetersen
authored andcommitted
scsi: qla2xxx: Reduce fabric scan duplicate code
For fabric scan, current code uses switch scan opcode and flags as the method to iterate through different commands to carry out the process. This makes it hard to read. This patch convert those opcode and flags into steps. In addition, this help reduce some duplicate code. Consolidate routines that handle GPNFT & GNNFT. Cc: [email protected] Signed-off-by: Quinn Tran <[email protected]> Signed-off-by: Nilesh Javali <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Himanshu Madhani <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
1 parent 348744f commit beafd69

File tree

5 files changed

+200
-269
lines changed

5 files changed

+200
-269
lines changed

drivers/scsi/qla2xxx/qla_def.h

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3309,11 +3309,20 @@ struct fab_scan_rp {
33093309
u8 node_name[8];
33103310
};
33113311

3312+
enum scan_step {
3313+
FAB_SCAN_START,
3314+
FAB_SCAN_GPNFT_FCP,
3315+
FAB_SCAN_GNNFT_FCP,
3316+
FAB_SCAN_GPNFT_NVME,
3317+
FAB_SCAN_GNNFT_NVME,
3318+
};
3319+
33123320
struct fab_scan {
33133321
struct fab_scan_rp *l;
33143322
u32 size;
33153323
u32 rscn_gen_start;
33163324
u32 rscn_gen_end;
3325+
enum scan_step step;
33173326
u16 scan_retry;
33183327
#define MAX_SCAN_RETRIES 5
33193328
enum scan_flags_t scan_flags;
@@ -3539,9 +3548,8 @@ enum qla_work_type {
35393548
QLA_EVT_RELOGIN,
35403549
QLA_EVT_ASYNC_PRLO,
35413550
QLA_EVT_ASYNC_PRLO_DONE,
3542-
QLA_EVT_GPNFT,
3543-
QLA_EVT_GPNFT_DONE,
3544-
QLA_EVT_GNNFT_DONE,
3551+
QLA_EVT_SCAN_CMD,
3552+
QLA_EVT_SCAN_FINISH,
35453553
QLA_EVT_GFPNID,
35463554
QLA_EVT_SP_RETRY,
35473555
QLA_EVT_IIDMA,

drivers/scsi/qla2xxx/qla_gbl.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -728,9 +728,9 @@ int qla24xx_async_gpsc(scsi_qla_host_t *, fc_port_t *);
728728
void qla24xx_handle_gpsc_event(scsi_qla_host_t *, struct event_arg *);
729729
int qla2x00_mgmt_svr_login(scsi_qla_host_t *);
730730
int qla24xx_async_gffid(scsi_qla_host_t *vha, fc_port_t *fcport, bool);
731-
int qla24xx_async_gpnft(scsi_qla_host_t *, u8, srb_t *);
732-
void qla24xx_async_gpnft_done(scsi_qla_host_t *, srb_t *);
733-
void qla24xx_async_gnnft_done(scsi_qla_host_t *, srb_t *);
731+
int qla_fab_async_scan(scsi_qla_host_t *, srb_t *);
732+
void qla_fab_scan_start(struct scsi_qla_host *);
733+
void qla_fab_scan_finish(scsi_qla_host_t *, srb_t *);
734734
int qla24xx_post_gfpnid_work(struct scsi_qla_host *, fc_port_t *);
735735
int qla24xx_async_gfpnid(scsi_qla_host_t *, fc_port_t *);
736736
void qla24xx_handle_gfpnid_event(scsi_qla_host_t *, struct event_arg *);

0 commit comments

Comments
 (0)