)]}'
{
  "log": [
    {
      "commit": "794d98e77f5901ceded697f1633463e88f078038",
      "tree": "97ac82ba7b14821472f81400f8d1a7230e037cb7",
      "parents": [
        "b69ae0ae3f322d9a6bc4e209049b5b6e193ad652"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 30 16:19:56 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:24:32 2010 -0600"
      },
      "message": "[SCSI] libfcoe: retry rejected FLOGI to another FCF if possible\n\nSwitches using multiple-FCFs may reject FLOGI in order to\nbalance the load between multiple FCFs.  Even though the FCF\nwas available, it may have more load at the point we actually\nsend the FLOGI.\n\nIf the FLOGI fails, select a different FCF\nif possible, among those with the same priority.  If no other\nFCF is available, just deliver the reject to libfc for retry.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e10f8c667b874a57512c936089092a3d1ef7ab8a",
      "tree": "8094610399133fd6e0ad26d23c46ec0a6cc91398",
      "parents": [
        "9b651da900ccfe5581befb46eb06ef781a1d7e74"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:20:30 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:56 2010 -0500"
      },
      "message": "[SCSI] libfcoe: fcoe: fnic: add FIP VN2VN point-to-multipoint support\n\nThe FC-BB-6 committee is proposing a new FIP usage model called\nVN_port to VN_port mode.  It allows VN_ports to discover each other\nover a loss-free L2 Ethernet without any FCF or Fibre-channel fabric\nservices.  This is point-to-multipoint.  There is also a variant\nof this called point-to-point which provides for making sure there\nis just one pair of ports operating over the Ethernet fabric.\n\nWe add these new states:  VNMP_START, _PROBE1, _PROBE2, _CLAIM, and _UP.\nThese usually go quickly in that sequence.  After waiting a random\namount of time up to 100 ms in START, we select a pseudo-random\nproposed locally-unique port ID and send out probes in states PROBE1\nand PROBE2, 100 ms apart.  If no probe responses are heard, we\nproceed to CLAIM state 400 ms later and send a claim notification.\nWe wait another 400 ms to receive claim responses, which give us\na list of the other nodes on the network, including their FC-4\ncapabilities.  After another 400 ms we go to VNMP_UP state and\nshould start interoperating with any of the nodes for whic we\nreceivec claim responses.  More details are in the spec.j\n\nAdd the new mode as FIP_MODE_VN2VN.  The driver must specify\nexplicitly that it wants to operate in this mode.  There is\nno automatic detection between point-to-multipoint and fabric\nmode, and the local port initialization is affected, so it isn\u0027t\nanticipated that there will ever be any such automatic switchover.\n\nIt may eventually be possible to have both fabric and VN2VN\nmodes on the same L2 network, which may be done by two separate\nlocal VN_ports (lports).\n\nWhen in VN2VN mode, FIP replaces libfc\u0027s fabric-oriented discovery\nmodule with its own simple code that adds remote ports as they\nare discovered from incoming claim notifications and responses.\nThese hooks are placed by fcoe_disc_init().\n\nA linear list of discovered vn_ports is maintained under the\nfcoe_ctlr struct.  It is expected to be short for now, and\naccessed infrequently.  It is kept under RCU for lock-ordering\nreasons.  The lport and/or rport mutexes may be held when we\nneed to lookup a fcoe_vnport during an ELS send.\n\nChange fcoe_ctlr_encaps() to lookup the destination vn_port in\nthe list of peers for the destination MAC address of the\nFIP-encapsulated frame.\n\nAdd a new function fcoe_disc_init() to initialize just the\ndiscovery portion of libfcoe for VN2VN mode.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3d902ac09a2812b359edf633425d1327a18399e9",
      "tree": "188605c45a1502862610b03e8429a67ed3d3a7b7",
      "parents": [
        "0685230c59b5482e04ab50e7afc51119ceaba651"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:19:58 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:52 2010 -0500"
      },
      "message": "[SCSI] libfcoe: fcoe: fnic: change fcoe_ctlr_init interface to specify mode\n\nThere are three modes that libfcoe currently supports, and a new one\nis coming.  Change the fcoe_ctlr_init() interface to add the mode\ndesired.  This should not change any functionality.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "fdb068c6cd6e30d43664f856d3530715a5742713",
      "tree": "a500212cc66aee42c7a3659ff0cfecbfb9be6b18",
      "parents": [
        "f90377abcab2e305450ee76a0f9042907560c5d8"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:19:47 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:51 2010 -0500"
      },
      "message": "[SCSI] libfcoe: convert FIP to lock with mutex instead of spin lock\n\nIt turns out most of the FIP work is now done from worker threads\nor process context now, so there\u0027s no need to use a spin lock.\n\nChange to use mutex instead of spin lock and delayed_work instead\nof a timer.\n\nThis will make it nicer for the VN_port to VN_port feature that\nwill interact more with the libfc layers requiring that\nspinlocks not be held.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "519e5135e2537c9dbc1cbcc0891b0a936ff5dcd2",
      "tree": "f4b139d0e9288d65a33a43b54e74ef2a6e959d82",
      "parents": [
        "9d4cbc05f32fc0a1024de2a9d5635bc9d180e4ae"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Jul 20 15:19:32 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:47 2010 -0500"
      },
      "message": "[SCSI] fcoe: adds src and dest mac address checking for fcoe frames\n\nThis is  per FC-BB-5 Annex-D recommendation and per that\nif address checking fails then drop the frame.\n\nFIP code paths are already doing this so only needed for fcoe\nframes.\n\nThe src address checking is limited to only fip mode since\nthis might break non-fip mode used in p2p due to used OUI\nbased addressing in some p2p code paths, going forward FIP\nwill be the only mode, therefore limited this to only FIP\nmode so that it won\u0027t break non-fip p2p mode for now.\n\n-v2\nRemoves FCOE packet type checking since fcoe_rcv is\nregistered to receive only FCoE type packets from netdev\nand it is already checked by netdev.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "da87bfab8a7e6cfd0e1e5c5874d7fd4f7d11e64e",
      "tree": "82dbf057ac960b017bc2a477f941de7f9d75c373",
      "parents": [
        "8ba00a4bbbbcb39d077e837555dfa9ff0de4202e"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Apr 09 14:22:59 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 14:02:39 2010 -0500"
      },
      "message": "[SCSI] fcoe, fnic, libfc: increased CDB size to 16 bytes for fcoe.\n\nNo reason to restrict CDB size to 12 bytes in fcoe, so\nincreased to 16 so that 16 bytes SCSI CDB doesn\u0027t fail.\n\nUses common define to set max_cmd_len for fcoe and fnic,\nfnic is already setting max_cmd_len to 16.\n\nsg_readcap -l fails without this fix.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4291365784c9622c9d643cf23421f9c7b9662d71",
      "tree": "46b938bd7ea401da7d61ad7e63b80d0bcd8b0f71",
      "parents": [
        "50036bbae0ed4d4e610bd59e0ce285ed20c1bee6"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:08:23 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:38 2010 -0500"
      },
      "message": "[SCSI] libfcoe: eliminate unused link and last_link fields\n\nThe link and last_link fields in the fcoe_ctlr struct are no\nlonger useful, since they are always set to the same value,\nand FIP always calls libfc to pass link information to the lport.\n\nEliminate those fields and rename link_work to timer_work, since\nit no longer has any link change work to do.\n\nThanks to Brian Uchino for discovering this issue.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8cdffdccd948ea4872b7b65280bc04f2fa93fc96",
      "tree": "7713d23f0a066e15b0f9c148bda62fd8db4fec53",
      "parents": [
        "6580bbd0afe6ba1be5d53b331e92a7690046c923"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Nov 20 14:54:57 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:55 2009 -0600"
      },
      "message": "[SCSI] libfcoe: add checking disable flag in FIP_FKA_ADV\n\nWhen the D bit is set if the FKA_ADV_Period of the FIP Discovery\nAdvertisement, the ENode should not transmit period ENode FIP Keep Alive and\nVN_Port FIP Keep Alive (FC-BB-5 Rev2, 7.8.3.13).\n\nNote that fcf-\u003eflags is taken directly from the fip_header, I am claiming one\nbit for the purpose of the FIP_FKA_Period D bit as FIP_FL_FK_ADV_B, and use\nFIP_HEADER_FLAGS as bitmask for bits used in fip_header.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "386309ce927a308d7742a6fb24a536d3383fbd49",
      "tree": "4e8ddbb895e5bd837020896a1c2505ea8bc3159b",
      "parents": [
        "e6d8a1b0b53a156979120dd0593c1867b8ea89d3"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:49:16 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:18 2009 -0600"
      },
      "message": "[SCSI] libfcoe: fcoe: simplify receive FLOGI response\n\nThere was a locking problem where the fip-\u003elock was held during\nthe call to update_mac().  The rtnl_lock() must be taken before\nthe fip-\u003elock, not the other way around.  This fixes that.\n\nNow that fcoe_ctlr_recv_flog() is called only from the response handler\nto a FLOGI request, some checking can be eliminated.  Instead of calling\nupdate_mac(), just fill in the granted_mac address for the passed-in\nframe (skb).\n\nEliminate the passed-in source MAC address since it is also in the skb.\n\nAlso, in fcoe, call fcoe_set_src_mac() directly instead of going thru\nthe fip function pointer.  This will generate less code.\nThen, since fip isn\u0027t needed for LOGO response, use lport as the arg.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "dd42dac4ecd1799077c132aab35d3c36b26d4d8c",
      "tree": "d3ca67f50eccef31071bfe26e09bf97c686bc088",
      "parents": [
        "1f4aed818d26eb9ed54520fbeb85d5ee691baa94"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:48:27 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:13 2009 -0600"
      },
      "message": "[SCSI] libfcoe: FIP should report link to libfc whether selected or not\n\nThe fnic driver with FIP is reporting link up, even though it\u0027s down.\n\nWhen the interface is shut down by the switch, we receive a clear\nvirtual link, and set the state reported to libfc as down, although\nwe still report it up.  Clearly wrong.  That causes the subsequent\nlink down event not to be reported, and /sys shows the host \"Online\".\n\nCurrently, in FIP mode, if an FCF times out, then link to libfc\nis reported as down, to stop FLOGIs.  That interferes with the LLD\nlink down being reported.\n\nUsers really need to know the physical link information, to diagnose\ncabling issues, so physical link status should be reported to libfc.\n\nIf the selected FCF needs to be reported, that should be done\nseparately, in a later patch.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "22bcd225bfe2107725228758137d2109befa942a",
      "tree": "48ae2ad5151e55f066fa8006605f06615f00a74d",
      "parents": [
        "84c3e1ad08d4be018a95e7a9964bf3dbc8cf8857"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:48:11 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:11 2009 -0600"
      },
      "message": "[SCSI] libfcoe: Allow FIP to be disabled by the driver\n\nAllow FIP to be disabled by the driver for devices\nthat want to use libfcoe in non-FIP mode.\n\nThe driver merely sets the fcoe_ctlr mode to the state which\nshould be entered when the link comes up.  The default is auto.\nNo change is needed for fcoe.c which uses auto mode.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "70b51aabf3b03fbf8d61c14847ccce4c69fb0cdd",
      "tree": "fbb86fc791fccbfdcd931ec37409d8da2c88c81c",
      "parents": [
        "3a3b42bf89a9b90ae9ed2c57fdc378e5473a0ef9"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 03 11:47:45 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:07 2009 -0600"
      },
      "message": "[SCSI] libfcoe: formatting and comment cleanups\n\nEnsures that there are kernel-doc style comments for all\nroutines and structures.\n\nThere were also a few instances of fc_lport\u0027s named \u0027lp\u0027\nwhich were switched to \u0027lport\u0027 as per the libfc/libfcoe/fcoe\nnaming convention.\n\nAlso, emacs \u0027indent-region\u0027 and \u0027tabify\u0027 were ran on libfcoe.c.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "11b561886643d4e23d0fd58c205d830a448dd0a2",
      "tree": "3d28650e6727589dd672ea3985d2aa2643a99549",
      "parents": [
        "db36c06cc6802d03bcba08982377f7c03a3cda7f"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:46:29 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:58 2009 -0600"
      },
      "message": "[SCSI] libfcoe, fcoe: libfcoe NPIV support\n\nThe FIP code in libfcoe needed several changes to support NPIV\n\n1) dst_src_addr needs to be managed per-n_port-ID for FPMA fabrics with NPIV\n   enabled.  Managing the MAC address is now handled in fcoe, with some slight\n   changes to update_mac() and a new get_src_addr() function pointer.\n\n2) The libfc elsct_send() hook is used to setup FCoE specific response\n   handlers for FIP encapsulated ELS exchanges.  This lets the FCoE specific\n   handling know which VN_Port the exchange is for, and doesn\u0027t require\n   tracking OX_IDs.  It might be possible to roll back to the full FIP frame\n   in these, but for now I\u0027ve just stashed the contents of the MAC address\n   descriptor in the skb context block for later use.  Also, because\n   fcoe_elsct_send() just passes control on to fc_elsct_send(), all transmits\n   still come through the normal frame_send() path.\n\n3) The NPIV changes added a mutex hold in the keep alive sending, the lport\n   mutex is protecting the vport list.  We can\u0027t take a mutex from a timer,\n   so move the FIP keep alive logic to the link work struct.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "184dd3459bb334d9061b58faed3610d08d6c7ff8",
      "tree": "63c227d4d92dc35269214ecae4654778f966a80d",
      "parents": [
        "ab6b85c1d7a1bf6c2b27fb542a7b2404e45b7e24"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Sun May 17 12:33:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 17 21:04:08 2009 -0700"
      },
      "message": "fcoe: adds spma mode support\n\nIf we can find a type NETDEV_HW_ADDR_T_SAN mac address from the\ncorresponding netdev for a fcoe interface then sets up added the\nfc-\u003ectlr.spma flag and stores spma mode address in ctl_src_addr.\n\nIn case the spma flag is set then:-\n\n 1. Adds spma mode MAC address in ctl_src_addr as secondary\n    MAC address, the FLOGI for FIP and pre-FIP will go out\n    using this address.\n 2. Cleans up stored spma MAC address in ctl_src_addr in\n    fcoe_netdev_cleanup.\n 3. Sets up spma bit in fip_flags for FIP solicitations along\n    with exiting FPMA bit setting.\n 4. Initialize the FLOGI FIP MAC descriptor to stored spma\n    MAC address in ctl_src_addr. This is used as proposed\n    FCoE MAC address from initiator along with both SPMA\n    and FPMA bit set in FIP solicitation, in response the\n    switch may grant any FPMA or SPMA mode MAC address to\n    initiator.\n\nRemoves FIP descriptor type checking against ELS type\nELS_FLOGI in fcoe_ctlr_encaps to update a FIP MAC descriptor,\ninstead now checks against FIP_DT_FLOGI.\n\nI\u0027ve tested this with available FPMA-only FCoE switch but\nsince data_src_addr is updated using same old code for\nboth FPMA and SPMA modes with FIP or pre-FIP links, so added\nSPMA mode will work with SPMA-only switch also provided that\nswitch grants a valid MAC address.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97c8389d54b9665c38105ea72a428a44b97ff2f6",
      "tree": "1548f9a3739241101f4e6f972418a16b45b52d57",
      "parents": [
        "af5f428763eefb6547d2bee055b559c903f2a749"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Mar 17 11:42:40 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:08 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfcoe: Add support for FIP. FCoE discovery and keep-alive.\n\nFIP is the new standard way to discover Fibre-Channel Forwarders (FCFs)\nby sending solicitations and listening for advertisements from FCFs.\n\nIt also provides for keep-alives and period advertisements so that both\nparties know they have connectivity.  If the FCF loses connectivity to\nthe storage fabric, it can send a Link Reset to inform the E_node.\n\nThis version is also compatible with pre-FIP implementations, so no\nconfigured selection between FIP mode and non-FIP mode is required.\n\nWe wait a couple seconds after sending the initial solicitation\nand then send an old-style FLOGI.  If we receive any FIP frames,\nwe use FIP only mode.  If the old FLOGI receives a response,\nwe disable FIP mode.  After every reset or link up, this\ndetermination is repeated.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "fdd78027fd472351783fb6110a72d991c1a07402",
      "tree": "47b4ba0804601873cb15a739a1f5c91e46660655",
      "parents": [
        "5e80f7f7c87990ffe7856a0d35a94ea52b8f4c59"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Mar 17 11:42:24 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:06 2009 -0500"
      },
      "message": "[SCSI] fcoe: cleans up libfcoe.h and adds fcoe.h for fcoe module\n\nRemoves no where used several inline functions prefixed with skb_*\nand be16_to_cpu.\n\nMoves fcoe module specific func prototypes to fcoe.c from libfcoe.h,\nmoved only need for build.\n\nAdds fcoe module header file fcoe.h and then moves fcoe module\nspecific fcoe_percpu_s and fcoe_softc to fcoe.h from libfcoe.h.\n\nMoves all defines from fcoe.c to fcoe.h since now fcoe module\nhas its own header file fcoe.h.\n\n[jejb: removed EXPORT_SYMBOL_GPL(fcoe_fc_crc) which caused a section mismatch]\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "7f3491429553cbff20367851fb897c449d028393",
      "tree": "403bc31bd97e48f6a197eb52db41b0dd827cae95",
      "parents": [
        "61e17afa89ad042c356e37d6d6f5654cba869036"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Mar 27 09:06:31 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:02 2009 -0500"
      },
      "message": "[SCSI] fcoe: removes default sw transport code file fcoe_sw.c\n\nMoves only required code from fcoe_sw.c to libfcoe.c towards having\njust one source file for fcoe module, this gets rid off default sw\ntransport code in a separate fcoe_sw.c file.\n\nVery minor renaming along this move, dropped _sw_ or _SW_ use\nin names and replaced them by _if_ as a auxiliary interface\nfunctions. Now some of these funcs can be removed or merged with\nother func after fcoe transport is gone, but that should be\nin another patch to keep this patch simple.\n\nNow the libfcoe.c file name for fcoe module doesn\u0027t go along well,\nso the libfcoe.c file renaming to fcoe.c as the only single fcoe\nmodule file is done in next patch to keep this patch clean\nand small for review.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "5919a59503577c2dc6eaa8bfba0f7bde3f9924ba",
      "tree": "8b24bf78c4d21296990a598128cd334b59e4b0db",
      "parents": [
        "8976f424d43c80ea32b6e847226e1a8ccdb6e748"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Mar 27 09:03:29 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:00 2009 -0500"
      },
      "message": "[SCSI] fcoe: prep work to completely remove fc_transport_fcoe code\n\nThe fcoe transport code was added for generic FCoE transport\ninfrastructure to allow additional offload related module loading\non demand, this is not required anymore after recently added\ndifferent offload approach by having offload related func ops\nin netdev.\n\nThis patch removes fcoe transport related code use, calls functions\ndirectly between existing libfcoe.c and fcoe_sw.c for now, for\nexample fcoe_sw_destroy and fcoe_sw_create calling.\n\nThe fcoe_sw.c and libfcoe.c code will be further consolidated in\nlater patches and then also the default fcoe sw transport code\nfile fcoe_sw.c will be completely removed.\n\nThe fcoe transport code files are completely removed in next\npatch to keep this patch simple for reviewing.\n\n[This patch is an update to a previous patch. This update\nresolves a build error as well as fixes a defect related to\nnot calling fc_release_transport().]\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "5e5e92df49d4dfbef9ba981297c7f76d189376ac",
      "tree": "aab8a56ee9cf9721e2189e745aeb758ab58cddcc",
      "parents": [
        "38eccabd1067b93af0fedbf447ab846e7df1ca66"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Mar 17 11:41:35 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:22:57 2009 -0500"
      },
      "message": "[SCSI] fcoe: Use percpu kernel funcs for struct fcoe_percpu_s\n\nConvert fcoe_percpu array to use the per-cpu variables\nthat the kernel provides. Use the kernel\u0027s functions to\naccess this structure.\n\nThe cpu member of the fcoe_percpu_s is no longer needed,\nso this patch removes it too.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "38eccabd1067b93af0fedbf447ab846e7df1ca66",
      "tree": "10f648d5b4cb1fc3754ec048da53be68117d467a",
      "parents": [
        "2df71b1a5bea7955872dbab5cf89183da697d0f9"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Mar 17 11:41:30 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:22:57 2009 -0500"
      },
      "message": "[SCSI] fcoe: Initialize all possilbe skb_queue(s) when module is loaded\n\nCurrently the skb_queue is initialized every time the associated\nCPU goes online. This patch has libfcoe initializing the skb_queue\nfor all possible CPUs when the module is loaded.\n\nThis patch also re-orders some declarations in the fcoe_rcv()\nfunction so the structure declarations are grouped before\nthe primitive declarations.\n\nLastly, this patch converts all CPU indicies to use unsigned int\nsince CPU indicies should not be negative.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "b277d2aa9a4d969002c4157bf77b76b9ad9ca04a",
      "tree": "1054ff4ab2d03eaaa527919380ed6334233f632b",
      "parents": [
        "39ca9a065a5a0a6f2f0cd648090a979ba3f4f018"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Feb 27 14:07:21 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 13 15:15:15 2009 -0500"
      },
      "message": "[SCSI] libfc: add support of large receive offload by ddp in fc_fcp\n\nWhen LLD supports direct data placement (ddp) for large receive of an scsi\ni/o coming into fc_fcp, we call into libfc_function_template\u0027s ddp_setup()\nto prepare for a ddp of large receive for this read I/O. When I/O is complete,\nwe call the corresponding ddp_done() to get the length of data ddped as well\nas to let LLD do clean up.\n\nfc_fcp_ddp_setup()/fc_fcp_ddp_done() are added to setup and complete a ddped\nread I/O described by the given fc_fcp_pkt. They would call into corresponding\nddp_setup/ddp_done implemented by the fcoe layer. Eventually, fcoe layer calls\ninto LLD\u0027s ddp_setup/ddp_done provided through net_device\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c826a3145736e3baabebccfd0aecfbb6dae059f2",
      "tree": "4c156c85a8eec039973b369cff052206da128cbe",
      "parents": [
        "e904158159e9812d06646767b7c81846dc3b05e6"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Feb 27 10:56:27 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:09:21 2009 -0500"
      },
      "message": "[SCSI] fcoe: Out of order tx frames was causing several check condition SCSI status\n\nframes followed by these errors in log.\n\n\t[sdp] Result: hostbyte\u003dDID_OK driverbyte\u003dDRIVER_SENSE,SUGGEST_OK\n\t[sdp] Sense Key : Aborted Command [current]\n\t[sdp] Add. Sense: Data phase error\n\nThis was causing some test apps to exit due to write failure under heavy\nload.\n\nThis was due to a race around adding and removing tx frame skb in\nfcoe_pending_queue, Chris Leech helped me to find that brief unlocking\nperiod when pulling skb from fcoe_pending_queue in various contexts\n(fcoe_watchdog and fcoe_xmit) and then adding skb back into fcoe_pending_queue\nup on a failed fcoe_start_io could change skb/tx frame order in\nfcoe_pending_queue. Thanks Chris.\n\nThis patch allows only single context to pull skb from fcoe_pending_queue\nat any time to prevent above described ordering issue/race by use of\nfcoe_pending_queue_active flag.\n\nThis patch simplified fcoe_watchdog with modified fcoe_check_wait_queue by\nuse of FCOE_LOW_QUEUE_DEPTH instead previously used several conditionals\nto clear and set lp-\u003eqfull.\n\nI think FCOE_MAX_QUEUE_DEPTH with FCOE_LOW_QUEUE_DEPTH  will work better\nin re/setting lp-\u003eqfull and these could be fine tuned for performance.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "fc47ff6b1b27fb736f255ed8cd490356e0cd228f",
      "tree": "6be2387ebfcff7a1a729061b35f1ea6fdd115a46",
      "parents": [
        "b2ab99c9a300e572105d6db7f6efe0a4d1572167"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 27 10:55:55 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:05:35 2009 -0500"
      },
      "message": "[SCSI] libfc, fcoe: Remove unnecessary cast by removing inline wrapper\n\nComment from \"Andrew Morton \u003cakpm@linux-foundation.org\u003e\"\n\n\u003e +{\n\u003e +     return (struct fcoe_softc *)lport_priv(lp);\n\nunneeded/undesirable cast of void*.  There are probably zillions of\ninstances of this - there always are.\n\nThis whole inline function was unnecessary. The FCoE layer knows\nthat it\u0027s data structure is stored in the lport private data, it\ncan just access it from lport_priv().\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "85b4aa4926a50210b683ac89326e338e7d131211",
      "tree": "127b6586573194f2d37b5a298e12c8b7d24a6fac",
      "parents": [
        "42e9a92fe6a9095bd68a379aaec7ad2be0337f7a"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Dec 09 15:10:24 2008 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Dec 29 11:24:33 2008 -0600"
      },
      "message": "[SCSI] fcoe: Fibre Channel over Ethernet\n\nEncapsulation protocol for running Fibre Channel over Ethernet interfaces.\nCreates virtual Fibre Channel host adapters using libfc.\n\nThis layer is the LLD to the scsi-ml. It allocates the Scsi_Host, utilizes\nlibfc for Fibre Channel protocol processing and interacts with netdev to\nsend/receive Ethernet packets.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    }
  ]
}
