)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
