linux/drivers/scsi/fcoe
Robert Love 619fe4bed4 [SCSI] fcoe: Allocate fcoe_ctlr with fcoe_interface, not as a member
Currently the fcoe_ctlr associated with an interface is allocated
as a member of struct fcoe_interface. This causes problems when
attempting to use the new fcoe_sysfs APIs which allow us to allocate
the fcoe_interface as private data to the fcoe_ctlr_device instance.
The problem is that libfcoe wants to be able use pointer math to find a
fcoe_ctlr's fcoe_ctlr_device as well as finding a fcoe_ctlr_device's
assocated fcoe_ctlr. To do this we need to allocate the
fcoe_ctlr_device, with private data for the LLD. The private data
contains the fcoe_ctlr and its private data is the fcoe_interface.
This patch only allocates the fcoe_interface with the fcoe_ctlr, the
fcoe_ctlr_device will be added in a later patch, which will complete
the below diagram-

+------------------+
| fcoe_ctlr_device |
+------------------+
| fcoe_ctlr        |
+------------------+
| fcoe_interface   |
+------------------+

This prep work will allow us to go from a fcoe_ctlr_device instance
to its fcoe_ctlr as well as from a fcoe_ctlr to its fcoe_ctlr_device
once the fcoe_sysfs API is in use (later patches in this series).

Signed-off-by: Robert Love <robert.w.love@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2012-05-23 09:36:27 +01:00
..
fcoe_ctlr.c [SCSI] libfcoe: fix VN2VN N_Port_ID Beacon source MAC 2012-05-10 08:59:26 +01:00
fcoe_transport.c SCSI updates on 20120319 2012-03-22 12:55:29 -07:00
fcoe.c [SCSI] fcoe: Allocate fcoe_ctlr with fcoe_interface, not as a member 2012-05-23 09:36:27 +01:00
fcoe.h [SCSI] fcoe: Allocate fcoe_ctlr with fcoe_interface, not as a member 2012-05-23 09:36:27 +01:00
libfcoe.h [SCSI] libfcoe: add implementation to support fcoe transport 2011-02-12 11:06:06 -06:00
Makefile [SCSI] libfcoe: include fcoe_transport.c into kernel libfcoe module 2011-02-12 11:06:52 -06:00