[SCSI] libfc: move rport_lookup into fc_rport.c
Move the libfc remote port lookup function into fc_rport.c. This seems like the best place for it. Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
8345592b83
commit
8025b5db7e
2 changed files with 20 additions and 22 deletions
|
@ -52,25 +52,6 @@ static void fc_disc_timeout(struct work_struct *);
|
||||||
static void fc_disc_single(struct fc_disc *, struct fc_disc_port *);
|
static void fc_disc_single(struct fc_disc *, struct fc_disc_port *);
|
||||||
static void fc_disc_restart(struct fc_disc *);
|
static void fc_disc_restart(struct fc_disc *);
|
||||||
|
|
||||||
/**
|
|
||||||
* fc_disc_lookup_rport() - lookup a remote port by port_id
|
|
||||||
* @lport: Fibre Channel host port instance
|
|
||||||
* @port_id: remote port port_id to match
|
|
||||||
*/
|
|
||||||
struct fc_rport_priv *fc_disc_lookup_rport(const struct fc_lport *lport,
|
|
||||||
u32 port_id)
|
|
||||||
{
|
|
||||||
const struct fc_disc *disc = &lport->disc;
|
|
||||||
struct fc_rport_priv *rdata;
|
|
||||||
|
|
||||||
list_for_each_entry(rdata, &disc->rports, peers) {
|
|
||||||
if (rdata->ids.port_id == port_id &&
|
|
||||||
rdata->rp_state != RPORT_ST_DELETE)
|
|
||||||
return rdata;
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* fc_disc_stop_rports() - delete all the remote ports associated with the lport
|
* fc_disc_stop_rports() - delete all the remote ports associated with the lport
|
||||||
* @disc: The discovery job to stop rports on
|
* @disc: The discovery job to stop rports on
|
||||||
|
@ -714,9 +695,6 @@ int fc_disc_init(struct fc_lport *lport)
|
||||||
if (!lport->tt.disc_recv_req)
|
if (!lport->tt.disc_recv_req)
|
||||||
lport->tt.disc_recv_req = fc_disc_recv_req;
|
lport->tt.disc_recv_req = fc_disc_recv_req;
|
||||||
|
|
||||||
if (!lport->tt.rport_lookup)
|
|
||||||
lport->tt.rport_lookup = fc_disc_lookup_rport;
|
|
||||||
|
|
||||||
disc = &lport->disc;
|
disc = &lport->disc;
|
||||||
INIT_DELAYED_WORK(&disc->disc_work, fc_disc_timeout);
|
INIT_DELAYED_WORK(&disc->disc_work, fc_disc_timeout);
|
||||||
mutex_init(&disc->disc_mutex);
|
mutex_init(&disc->disc_mutex);
|
||||||
|
|
|
@ -86,6 +86,23 @@ static const char *fc_rport_state_names[] = {
|
||||||
[RPORT_ST_DELETE] = "Delete",
|
[RPORT_ST_DELETE] = "Delete",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fc_rport_lookup() - lookup a remote port by port_id
|
||||||
|
* @lport: Fibre Channel host port instance
|
||||||
|
* @port_id: remote port port_id to match
|
||||||
|
*/
|
||||||
|
static struct fc_rport_priv *fc_rport_lookup(const struct fc_lport *lport,
|
||||||
|
u32 port_id)
|
||||||
|
{
|
||||||
|
struct fc_rport_priv *rdata;
|
||||||
|
|
||||||
|
list_for_each_entry(rdata, &lport->disc.rports, peers)
|
||||||
|
if (rdata->ids.port_id == port_id &&
|
||||||
|
rdata->rp_state != RPORT_ST_DELETE)
|
||||||
|
return rdata;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* fc_rport_create() - create remote port in INIT state.
|
* fc_rport_create() - create remote port in INIT state.
|
||||||
* @lport: local port.
|
* @lport: local port.
|
||||||
|
@ -1292,6 +1309,9 @@ static void fc_rport_flush_queue(void)
|
||||||
|
|
||||||
int fc_rport_init(struct fc_lport *lport)
|
int fc_rport_init(struct fc_lport *lport)
|
||||||
{
|
{
|
||||||
|
if (!lport->tt.rport_lookup)
|
||||||
|
lport->tt.rport_lookup = fc_rport_lookup;
|
||||||
|
|
||||||
if (!lport->tt.rport_create)
|
if (!lport->tt.rport_create)
|
||||||
lport->tt.rport_create = fc_rport_create;
|
lport->tt.rport_create = fc_rport_create;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue