)]}'
{
  "log": [
    {
      "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": "a0a25da2a495a889664dc946942b8666665cd1e1",
      "tree": "f3ac1dd6adb76490afa828298e71992ba5045d8f",
      "parents": [
        "fdd78027fd472351783fb6110a72d991c1a07402"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Mar 17 11:42:29 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:07 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: fix double fcoe_softc memory alloc\n\nThe foce_softc mem was reserved by libfc_host_alloc as well as\nby fcoe_host_alloc.\n\nRemoves one liner fcoe_host_alloc completely, instead directly calls\nlibfc_host_alloc to alloc scsi_host with libfc for just one fcoe_softc\nas fcoe private data.\n\nMoves libfc_host_alloc to libfc.h since it is a libfc API, placed\nlport_priv API adjacent to libfc_host_alloc since this is related\nto scsi_host priv data.\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": "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": "5e80f7f7c87990ffe7856a0d35a94ea52b8f4c59",
      "tree": "da71459b4bfa17c9b3f7f0bb63fd07aee2c702cf",
      "parents": [
        "9b34ecffd59d6ed66fdd6906e8a092a33e7c8564"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Mar 17 11:42:18 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:05 2009 -0500"
      },
      "message": "[SCSI] fcoe: moves common FCoE library API functions to libfcoe module\n\nMoves these functions as-is from fcoe.c to libfcoe.c, since\nthey\u0027re are common routines:\n\n\t- fcoe_wwn_from_mac\n\t- fcoe_libfc_config\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": "9b34ecffd59d6ed66fdd6906e8a092a33e7c8564",
      "tree": "e044e14d7627fa36a817e89be4ba23373ee11f76",
      "parents": [
        "a703e490f5e86ddaac4086e56b669fa7316b4a9f"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Mar 17 11:42:13 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:04 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: add libfcoe module\n\nJust sets up build environment for libfcoe module towards a\nlibfcoe library for libfc LLDs using FCoE as libfc transport.\n\nCommon library code to libfcoe is added in next patch.\n\nAlso, updated MODULE_LICENSE from \"GPL\" string to \"GPL v2\" for\nlibfc, libfcoe and fcoe modules to accurately match the licenses.\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": "a703e490f5e86ddaac4086e56b669fa7316b4a9f",
      "tree": "2d95ffae432e9fb5bbb5aa627f639d4ed8b1f107",
      "parents": [
        "7f3491429553cbff20367851fb897c449d028393"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Mar 27 09:07:43 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:03 2009 -0500"
      },
      "message": "[SCSI] fcoe: renames libfcoe.c to fcoe.c as the only fcoe module file\n\nRenames libfcoe.c to fcoe.c, fcoe.c becomes the only\n.c file for fcoe.ko.\n\nAlso deleted \"$Id: Makefile\" from fcoe module Makefle.\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": "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": "61e17afa89ad042c356e37d6d6f5654cba869036",
      "tree": "ee44fe999b7119d16e6eac38c6117e73e85c99b2",
      "parents": [
        "5919a59503577c2dc6eaa8bfba0f7bde3f9924ba"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Mar 27 09:05:17 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:01 2009 -0500"
      },
      "message": "[SCSI] fcoe: removes fc_transport_fcoe.[ch] code files\n\nRemove unused fc_transport_fcoe.c and fc_transport_fcoe.h\nfiles.\n\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": "8976f424d43c80ea32b6e847226e1a8ccdb6e748",
      "tree": "361d16be95cac84197e52411ed63ccfebfb88aff",
      "parents": [
        "582b45bc577f78b5bfff3db874594ce2d962b846"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Mar 17 11:41:46 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:22:59 2009 -0500"
      },
      "message": "[SCSI] fcoe: create/destroy fcoe Rx threads on CPU hotplug events\n\nThis patch adds support for dynamically created Rx threads\nupon CPU hotplug events.\n\nThere were existing synchronization problems that this patch\nattempts to resolve. The main problem had to do with fcoe_rcv()\nrunning in a different context than the hotplug notifications.\nThis opened the possiblity that fcoe_rcv() would target a Rx\nthread for a skb. However, that thread could become NULL if\nthe CPU was made offline.\n\nThis patch uses the Rx queue\u0027s (a skb_queue) lock to protect\nthe thread it\u0027s associated with and we use the \u0027thread\u0027 member\nof the fcoe_percpu_s to determine if the thread is ready to\naccept new skbs.\n\nThe patch also attempts to do a better job of cleaning up, both\nif hotplug registration fails as well as when the module is\nremoved.\n\nContribution provided by Joe Eykholt \u003cjeykholt@cisco.com\u003e to\nfix incorrect use of __cpuinitdata.\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": "582b45bc577f78b5bfff3db874594ce2d962b846",
      "tree": "b0cfe95b235aeca9b967cba8446db58b8a102533",
      "parents": [
        "5e5e92df49d4dfbef9ba981297c7f76d189376ac"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Mar 31 15:51:50 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:22:58 2009 -0500"
      },
      "message": "[SCSI] fcoe: Use per-CPU kernel function for dev_stats instead of an array\n\nRemove the hotplug creation of dev_stats, we allocate for all possible CPUs\nnow when we allocate the lport.\n\nv2: Durring the 2.6.30 merge window, before these patches were comitted,\n\u0027percpu_ptr\u0027 was renamed \u0027per_cpu_ptr\u0027. This latest update updates this\npatch for the name change.\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": "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": "07c00ec449d4d94042063a6900d7d04fdc9f8e62",
      "tree": "2aaf918675bbcaef8f1cc086fced688c4b776fd3",
      "parents": [
        "e05620073625935290120be93a6214b1b52ae34f"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Feb 27 14:07:31 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 13 15:15:48 2009 -0500"
      },
      "message": "[SCSI] fcoe: fcoe fc crc offload indication by skb-\u003eip_summed\n\nIf LLD supports FCCRC offload, it should set ip_summed to be\nCHECKSUM_UNNECESSARY so we don\u0027t have to do CRC check again.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "e05620073625935290120be93a6214b1b52ae34f",
      "tree": "1a482b87933212bd7b6ffb6419c5a23bc6c66506",
      "parents": [
        "b277d2aa9a4d969002c4157bf77b76b9ad9ca04a"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Feb 27 14:07:26 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 13 15:15:31 2009 -0500"
      },
      "message": "[SCSI] fcoe: add support to FCoE offload support in fcoe_sw through net_device\n\nThis adds implementation of ddp_setup()/ddp_done() in fcoe_sw for its\nfcoe_sw_libfc_fcn_templ.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "39ca9a065a5a0a6f2f0cd648090a979ba3f4f018",
      "tree": "a2557caf03d174135a6b475b1cdd87f13b49aa7e",
      "parents": [
        "276d68142b7b676594ab8739355c27e9e5b3d41d"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Feb 27 14:07:15 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 13 15:14:54 2009 -0500"
      },
      "message": "[SCSI] fcoe: add support to large send by gso through net_device for fcoe_sw\n\nChange fcoe_xmit to setup gso for LLD LSO offload as well as CRC offload\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "ea1e9a9df5e1fde7ad8878c85b4a097cad0ddcea",
      "tree": "5594c002619125f8976c7d3dacdd6791db497d2e",
      "parents": [
        "4d288d5767f853bfca25adc7b6030dc95518cb2e"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Feb 27 14:07:04 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 13 15:13:48 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: check offload features from LLD through netdev\n\nThis checks if net_devices supports FCoE offload ops in netdev_ops and it\nif it does, then sets up the corresponding flags in the associated fc_lport.\n\nFor large send offload, the maximum length supported in one large send is now\ndescribed by the added lso_max in fc_lport, which is setup initially from\nnetdev-\u003egso_max_size.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "211c738d86f3f423f1b218ab3a356c9538e38047",
      "tree": "b94677af2975bd2a455beb9ad3056e86d73cba70",
      "parents": [
        "7687fb9209422d35334995b8ace38de92e595d16"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Feb 27 14:06:37 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 13 15:09:00 2009 -0500"
      },
      "message": "[SCSI] net, fcoe: add ETH_P_FCOE for Fibre Channel over Ethernet (FCoE)\n\nThis adds eth type ETH_P_FCOE for Fibre Channel over Ethernet (FCoE),\nconsequently, the ETH_P_FCOE from fc_fcoe.h and fcoe skb-\u003eprotocol\nis not set as ETH_P_FCOE.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "4469c195da43bf8220f53da8b576c0e154c2b662",
      "tree": "779a789e79cea428295c8173f30068783c8e0cf8",
      "parents": [
        "55c8bafba549e3e82f6999db8c5a62fc3c255c14"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 27 10:56:38 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:10:02 2009 -0500"
      },
      "message": "[SCSI] fcoe: Change fcoe receive thread nice value from 19 (lowest priority) to -20\n\nThis change makes the fcoe Rx threads have the same nice value\nas lpfc and qla2xxx Rx threads.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "55c8bafba549e3e82f6999db8c5a62fc3c255c14",
      "tree": "3ae4d7375fc1c5faaa16cc70277ca24e33a6f9b0",
      "parents": [
        "c826a3145736e3baabebccfd0aecfbb6dae059f2"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Fri Feb 27 10:56:32 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:09:40 2009 -0500"
      },
      "message": "[SCSI] fcoe: fix handling of pending queue, prevent out of order frames (v3)\n\nIn fcoe_check_wait_queue() the queue length could temporarily drop to 0,\nbefore the last frame was successfully sent.  This resulted in out of order\ndata frames within a single sequence, leading to IO timeout errors.\n\nThis builds on the approach from Vasu Dev to only fix the queue management in\nfcoe_check_wait_queue, where my first patch added locking to the transmit\npath even when the pending queue was not in use.\n\nThis patch continues to use fcoe_pending_queue.qlen instead of introducing a\nnew length counter, but takes precautions to ensure it never drops to 0 before\nthe final frame in the queue has successfully been passed to the netdev qdisc\nlayer.  It also includes some cleanup of fcoe_check_wait_queue and removes the\nfcoe_insert_wait_queue(_head) wrapper functions.\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@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": "e904158159e9812d06646767b7c81846dc3b05e6",
      "tree": "5613f2f14214121d36971ddc125584018e4c3148",
      "parents": [
        "74846bf85e42b4ba851d3f0dd67aa1df245895f9"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Fri Feb 27 10:56:22 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:09:01 2009 -0500"
      },
      "message": "[SCSI] fcoe: fix kfree(skb)\n\nUse kfree_skb instead of kfree for struct sk_buff pointers.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.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": "03ec862dff57ca3d1fcb439b99aadc45bc5c2f28",
      "tree": "da35accd2d35568a041d0efa77deb306a206c962",
      "parents": [
        "a468f328ad83f14556e5961ef1de80b32b428d32"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 27 10:56:06 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:06:17 2009 -0500"
      },
      "message": "[SCSI] fcoe: Correct fcoe_transports initialization vs. registration\n\nThe registration function shouldn\u0027t initialize the mutex or\nlist head. The fcoe SW transport should initialize itself\nbefore registering.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "a468f328ad83f14556e5961ef1de80b32b428d32",
      "tree": "17caa9c68f69a1d714b2e73f5364bd2b9078d8f3",
      "parents": [
        "fc47ff6b1b27fb736f255ed8cd490356e0cd228f"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 27 10:56:00 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:05:57 2009 -0500"
      },
      "message": "[SCSI] fcoe: Use setup_timer() and mod_timer()\n\nUse helper functions for watchdog timer setup.\n\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": "b2ab99c9a300e572105d6db7f6efe0a4d1572167",
      "tree": "1cdb9bd208e0cdb317b62f92c2c7879e3bc61335",
      "parents": [
        "34f42a070fc98f5dc07e9fa2338b7b8d1dc347eb"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 27 10:55:50 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:05:09 2009 -0500"
      },
      "message": "[SCSI] libfc, fcoe: Cleanup function formatting and minor typos\n\n1) There were a few functions with a strange layout, i.e. all\n   arguments on the second line, when not necessary.\n\n   Where ever possible I moved the return value to the same line\n   as the function name. However, when the line was too long\n   to have a single argument on the same line I moved the\n   return value to above line. For example:\n\n   \u003cshort return\u003e \u003cfunction name\u003e(\u003carg 1\u003e, \u003carg2\u003e)\n\n   and\n\n   \u003cvery long return value\u003e\n   \u003cfunction name\u003e(\u003carg1\u003e,\n\t\t   \u003carg2\u003e)\n\n2) Removed one extra whitespace line\n\n3) Fixed two typos\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "34f42a070fc98f5dc07e9fa2338b7b8d1dc347eb",
      "tree": "7e08edd537159be8a4fa341e7022cafd6f13b9e4",
      "parents": [
        "0ae4d4ae47d2ccbcad813b0d6d8fe12590c7d648"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 27 10:55:45 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:04:40 2009 -0500"
      },
      "message": "[SCSI] libfc, fcoe: Fix kerneldoc comments\n\n1) Added \u0027()\u0027 for function names in kerneldoc comments\n\n2) Changed comment bookends from \u0027**/\u0027 to \u0027*/\u0027. The comment on the the\n   mailing list was that \u0027**/\u0027 \"is consistently unconventional.  Not\n   wrong, just odd.\" The Documentation/kernel-doc-nano-HOWTO.txt\n   states that kerneldoc comment blocks should end with \u0027**/\u0027 but most\n   (if not all) instance I found under drivers/scsi/ were only using\n   the \u0027*/\u0027 so I converted to that style.\n\n3) Removed incorrect linebreaks in kerneldoc comments where found\n\n4) Removed a few unnecessary blank comment lines in kerneldoc comment\n   blocks\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "bc0e17f691085315ae9303eb5b0883fe16dfe6b1",
      "tree": "53138e80aec810604d4eca4626e4f8df65376ccc",
      "parents": [
        "a7e84f2b83f17f8f11da34ccef3ba5a862dc0182"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Feb 27 10:54:57 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 06 15:37:49 2009 -0600"
      },
      "message": "[SCSI] libfc, fcoe: fixed locking issues with lport-\u003elp_mutex around lport-\u003elink_status\n\nThe fcoe_xmit could call fc_pause in case the pending skb queue len is larger\nthan FCOE_MAX_QUEUE_DEPTH, the fc_pause was trying to grab lport-\u003elp_muex to\nchange lport-\u003elink_status and that had these issues :-\n\n1. The fcoe_xmit was getting called with bh disabled, thus causing\n\"BUG: scheduling while atomic\" when grabbing lport-\u003elp_muex with bh disabled.\n\n2. fc_linkup and fc_linkdown function calls lport_enter function with\nlport-\u003elp_mutex held and these enter function in turn calls fcoe_xmit to send\nlport related FC frame, e.g. fc_linkup \u003d\u003e fc_lport_enter_flogi to send flogi\nreq. In this case grabbing the same lport-\u003elp_mutex again in fc_puase from\nfcoe_xmit would cause deadlock.\n\nThe lport-\u003elp_mutex was used for setting FC_PAUSE in fcoe_xmit path but\nFC_PAUSE bit was not used anywhere beside just setting and clear this\nbit in lport-\u003elink_status, instead used a separate field qfull in fc_lport\nto eliminate need for lport-\u003elp_mutex to track pending queue full condition\nand in turn avoid above described two locking issues.\n\nAlso added check for lp-\u003eqfull in fc_fcp_lport_queue_ready to trigger\nSCSI_MLQUEUE_HOST_BUSY when lp-\u003eqfull is set to prevent more scsi-ml cmds\nwhile lp-\u003eqfull is set.\n\nThis patch eliminated FC_LINK_UP and FC_PAUSE and instead used dedicated\nfields in fc_lport for this, this simplified all related conditional\ncode.\n\nAlso removed fc_pause and fc_unpause functions and instead used newly added\nlport-\u003eqfull directly in fcoe.\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": "56b854bb314084396d3d3138126496d330943559",
      "tree": "dcd1b29760738bfc670239949e7ab06b79271c96",
      "parents": [
        "73c336740362731983bf7fd747cdd3b6ac593cef"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Dec 29 15:45:41 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Dec 30 13:08:37 2008 -0600"
      },
      "message": "[SCSI] fcoe: fix incorrect use of struct module\n\nThis structure may not be defined if CONFIG_MODULE\u003dn, so never deref\nit.  Change uses of module-\u003ename to module_name(module) and corrects\nsome dyslexic printks and docbook comments.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: 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"
    }
  ]
}
