[SCSI] fcoe, libfc: fix double fcoe_softc memory alloc
The foce_softc mem was reserved by libfc_host_alloc as well as by fcoe_host_alloc. Removes one liner fcoe_host_alloc completely, instead directly calls libfc_host_alloc to alloc scsi_host with libfc for just one fcoe_softc as fcoe private data. Moves libfc_host_alloc to libfc.h since it is a libfc API, placed lport_priv API adjacent to libfc_host_alloc since this is related to scsi_host priv data. Signed-off-by: Vasu Dev <vasu.dev@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:

committed by
James Bottomley

parent
fdd78027fd
commit
a0a25da2a4
@@ -696,11 +696,6 @@ struct fc_lport {
|
||||
/*
|
||||
* FC_LPORT HELPER FUNCTIONS
|
||||
*****************************/
|
||||
static inline void *lport_priv(const struct fc_lport *lp)
|
||||
{
|
||||
return (void *)(lp + 1);
|
||||
}
|
||||
|
||||
static inline int fc_lport_test_ready(struct fc_lport *lp)
|
||||
{
|
||||
return lp->state == LPORT_ST_READY;
|
||||
@@ -743,6 +738,23 @@ static inline struct fcoe_dev_stats *fc_lport_get_stats(struct fc_lport *lp)
|
||||
return per_cpu_ptr(lp->dev_stats, smp_processor_id());
|
||||
}
|
||||
|
||||
static inline void *lport_priv(const struct fc_lport *lp)
|
||||
{
|
||||
return (void *)(lp + 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* libfc_host_alloc() - Allocate a Scsi_Host with room for the fc_lport
|
||||
* @sht: ptr to the scsi host templ
|
||||
* @priv_size: size of private data after fc_lport
|
||||
*
|
||||
* Returns: ptr to Scsi_Host
|
||||
*/
|
||||
static inline struct Scsi_Host *
|
||||
libfc_host_alloc(struct scsi_host_template *sht, int priv_size)
|
||||
{
|
||||
return scsi_host_alloc(sht, sizeof(struct fc_lport) + priv_size);
|
||||
}
|
||||
|
||||
/*
|
||||
* LOCAL PORT LAYER
|
||||
|
Reference in New Issue
Block a user