summary refs log tree commit diff
path: root/include/scsi
diff options
context:
space:
mode:
authorRobert Love <robert.w.love@intel.com>2012-05-22 19:06:16 -0700
committerJames Bottomley <JBottomley@Parallels.com>2012-05-23 09:38:11 +0100
commitfd8f89027d816cb023edf6bfd4c744f194150a05 (patch)
tree39bee0ea5c853794a3e6e9500758b7577b65351a /include/scsi
parent619fe4bed415e5d8a4749937f42b6a8a9031d4aa (diff)
downloadlinux-fd8f89027d816cb023edf6bfd4c744f194150a05.tar.gz
[SCSI] bnx2fc: Allocate fcoe_ctlr with bnx2fc_interface, not as a member
    Currently the fcoe_ctlr associated with an interface is allocated
    as a member of struct bnx2fc_interface. This causes problems when
    when later patches attempt to use the new fcoe_sysfs APIs which
    allow us to allocate the bnx2fc_interface as private data to a
    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 will contain the fcoe_ctlr
    and its private data will be the bnx2fc_interface.

    +-------------------+
    | fcoe_ctlr_device  |
    +-------------------+
    | fcoe_ctlr         |
    +-------------------+
    | bnx2fc_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>
Diffstat (limited to 'include/scsi')
0 files changed, 0 insertions, 0 deletions