)]}'
{
  "log": [
    {
      "commit": "8d55e507d24c6db7eb012c379c62912e642eb75e",
      "tree": "5118b221cf9eab4ad040c9e1bcabb794e57dc906",
      "parents": [
        "9a74e884ee71dbf3d0967b0321d7b4529a04826c"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue May 22 19:06:26 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed May 23 09:43:13 2012 +0100"
      },
      "message": "[SCSI] fcoe, bnx2fc, libfcoe: SW FCoE and bnx2fc use FCoE Syfs\n\nThis patch has the SW FCoE driver and the bnx2fc\ndriver make use of the new fcoe_sysfs API added\nearlier in this patch series.\n\nAfter this patch a fcoe_ctlr_device is allocated with\nprivate data in this order.\n\n+------------------+   +------------------+\n| fcoe_ctlr_device |   | fcoe_ctlr_device |\n+------------------+   +------------------+\n| fcoe_ctlr        |   | fcoe_ctlr        |\n+------------------+   +------------------+\n| fcoe_interface   |   | bnx2fc_interface |\n+------------------+   +------------------+\n\nlibfcoe also takes part in this new model since it\ndiscovers and manages fcoe_fcf instances. The memory\nallocation is different for FCFs. I didn\u0027t want to\nimpact libfcoe\u0027s fcoe_fcf processing, so this patch\ncreates fcoe_fcf_device instances for each discovered\nfcoe_fcf. The two are paired using a (void * priv)\nmember of the fcoe_ctlr_device. This allows libfcoe\nto continue maintaining its list of fcoe_fcf instances\nand simply attaches and detaches them from existing\nor new fcoe_fcf_device instances.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9a74e884ee71dbf3d0967b0321d7b4529a04826c",
      "tree": "29cf0211927a3e54908f2dffa9ebde18794d6ed6",
      "parents": [
        "fd8f89027d816cb023edf6bfd4c744f194150a05"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue May 22 19:06:21 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed May 23 09:40:09 2012 +0100"
      },
      "message": "[SCSI] libfcoe: Add fcoe_sysfs\n\nThis patch adds a \u0027fcoe bus\u0027 infrastructure to the kernel\nthat is driven by changes to libfcoe which allow LLDs to\npresent FIP (FCoE Initialization Protocol) discovered\nentities and their attributes to user space via sysfs.\n\nThis patch adds the following APIs-\n\nfcoe_ctlr_device_add\nfcoe_ctlr_device_delete\nfcoe_fcf_device_add\nfcoe_fcf_device_delete\n\nThey allow the LLD to expose the FCoE ENode Controller\nand any discovered FCFs (Fibre Channel Forwarders, e.g.\nFCoE switches) to the user. Each of these new devices\nhas their own bus_type so that they are grouped together\nfor easy lookup from a user space application. Each\nnew class has an attribute_group to expose attributes\nfor any created instances. The attributes are-\n\nfcoe_ctlr_device\n* fcf_dev_loss_tmo\n* lesb_link_fail\n* lesb_vlink_fail\n* lesb_miss_fka\n* lesb_symb_err\n* lesb_err_block\n* lesb_fcs_error\n\nfcoe_fcf_device\n* fabric_name\n* switch_name\n* priority\n* selected\n* fc_map\n* vfid\n* mac\n* fka_peroid\n* fabric_state\n* dev_loss_tmo\n\nA device loss infrastructre similar to the FC Transport\u0027s\nis also added by this patch. It is nice to have so that a\nlink flapping adapter doesn\u0027t continually advance the count\nused to identify the discovered FCF. FCFs will exist in a\n\"Disconnected\" state until either the timer expires or the\nFCF is rediscovered and becomes \"Connected.\"\n\nThis patch generates a few checkpatch.pl WARNINGS that\nI\u0027m not sure what to do about. They\u0027re macros modeled\naround the FC Transport attribute building macros, which\nhave the same \u0027feature\u0027 where the caller can ommit a cast\nin the argument list and no cast occurs in the code. I\u0027m\nnot sure how to keep the code condensed while keeping the\nmacros. Any advice would be appreciated.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "619fe4bed415e5d8a4749937f42b6a8a9031d4aa",
      "tree": "8b52f6fd4b2ba58ef898f628aba8ab49111e1aa8",
      "parents": [
        "b7e94a1686c5daef4f649f7f4f839cc294f07710"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue May 22 19:06:10 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed May 23 09:36:27 2012 +0100"
      },
      "message": "[SCSI] fcoe: Allocate fcoe_ctlr with fcoe_interface, not as a member\n\nCurrently the fcoe_ctlr associated with an interface is allocated\nas a member of struct fcoe_interface. This causes problems when\nattempting to use the new fcoe_sysfs APIs which allow us to allocate\nthe fcoe_interface as private data to the fcoe_ctlr_device instance.\nThe problem is that libfcoe wants to be able use pointer math to find a\nfcoe_ctlr\u0027s fcoe_ctlr_device as well as finding a fcoe_ctlr_device\u0027s\nassocated fcoe_ctlr. To do this we need to allocate the\nfcoe_ctlr_device, with private data for the LLD. The private data\ncontains the fcoe_ctlr and its private data is the fcoe_interface.\nThis patch only allocates the fcoe_interface with the fcoe_ctlr, the\nfcoe_ctlr_device will be added in a later patch, which will complete\nthe below diagram-\n\n+------------------+\n| fcoe_ctlr_device |\n+------------------+\n| fcoe_ctlr        |\n+------------------+\n| fcoe_interface   |\n+------------------+\n\nThis prep work will allow us to go from a fcoe_ctlr_device instance\nto its fcoe_ctlr as well as from a fcoe_ctlr to its fcoe_ctlr_device\nonce the fcoe_sysfs API is in use (later patches in this series).\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b3b8abd85780e1bb92703354f3c16c921edfa4f6",
      "tree": "ba0694c5b5924addf4ab95b585bd8a4dd9610e5d",
      "parents": [
        "d227f029c2e1e7c226372a6c11969d33ed146f6f"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Fri Apr 20 12:16:54 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu May 10 08:59:26 2012 +0100"
      },
      "message": "[SCSI] fcoe: remove a stray unlock\n\nWe moved the locking in dd060e74fb \"[SCSI] fcoe: remove frame dropping\ncode from fcoe_percpu_clean\" but this unlock was missed.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "d227f029c2e1e7c226372a6c11969d33ed146f6f",
      "tree": "651fb19e5e4de2aaa7ef148d9d3222500af5cc2e",
      "parents": [
        "949e71f17d9a5c59fa7b02cce3b548384bff1c92"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Apr 20 12:16:49 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu May 10 08:59:26 2012 +0100"
      },
      "message": "[SCSI] libfcoe: fix VN2VN N_Port_ID Beacon source MAC\n\nFC-BB-6 v1.04 7.9.8.14 N_Port_ID Beacon:\n\n\"A N_Port_ID Beacon is multicast and uses the VN_Port MAC address as source\naddress.\"\n\nCurrently, libfcoe is using ENode MAC, this seems ok and functionality wise\nnot a problem in my back to back testing setup, however, just fix this to\nmake libfcoe VN2VN support more spec compliant.\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 \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "949e71f17d9a5c59fa7b02cce3b548384bff1c92",
      "tree": "d4add4ba71b764b1b22b7027a1eeedfc8546dbed",
      "parents": [
        "3cab4468fd0a4b3c9f22a380e4318c17b6c202d6"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Apr 20 12:16:43 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu May 10 08:59:25 2012 +0100"
      },
      "message": "[SCSI] fcoe: Don\u0027t hold rtnl_mutex in fcoe_update_src_mac\n\nThe rtnl_mutex was held to protect calls to dev_uc_add\nand dev_uc_del. Holding rtnl is not required as those\nfunctions make use of the netif_addr_lock* API to\nprotect the MAC changing.\n\nThis change fixes the following regression by removing\nthe rtnl usage when fcoe_update_src_mac is called.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d42918\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #1 (\u0026fip-\u003ectlr_mutex){+.+...}:\n       [\u003cc1091f70\u003e] lock_acquire+0x80/0x1b0\n       [\u003cc147655d\u003e] mutex_lock_nested+0x6d/0x340\n       [\u003cf8970c32\u003e] fcoe_ctlr_link_up+0x22/0x180 [libfcoe]\n       [\u003cf894620e\u003e] fcoe_create+0x47e/0x6e0 [fcoe]\n       [\u003cf8973dd3\u003e] fcoe_transport_create+0x143/0x250 [libfcoe]\n       [\u003cc10527e0\u003e] param_attr_store+0x30/0x60\n       [\u003cc1052696\u003e] module_attr_store+0x26/0x40\n       [\u003cc11a201e\u003e] sysfs_write_file+0xae/0x100\n       [\u003cc11449df\u003e] vfs_write+0x8f/0x160\n       [\u003cc1144cbd\u003e] sys_write+0x3d/0x70\n       [\u003cc147a0c4\u003e] syscall_call+0x7/0xb\n\n-\u003e #0 (rtnl_mutex){+.+.+.}:\n       [\u003cc109164b\u003e] __lock_acquire+0x140b/0x1720\n       [\u003cc1091f70\u003e] lock_acquire+0x80/0x1b0\n       [\u003cc147655d\u003e] mutex_lock_nested+0x6d/0x340\n       [\u003cc13a10c4\u003e] rtnl_lock+0x14/0x20\n       [\u003cf89445ac\u003e] fcoe_update_src_mac+0x2c/0xb0 [fcoe]\n       [\u003cf8971712\u003e] fcoe_ctlr_timer_work+0x712/0xb60 [libfcoe]\n       [\u003cc104fb69\u003e] process_one_work+0x179/0x5d0\n       [\u003cc10502f1\u003e] worker_thread+0x121/0x2d0\n       [\u003cc10550ed\u003e] kthread+0x7d/0x90\n       [\u003cc1481a82\u003e] kernel_thread_helper+0x6/0x10\n\nother info that might help us debug this:\n\n Possible unsafe locking scenario:\n\n       CPU0                    CPU1\n       ----                    ----\n  lock(\u0026fip-\u003ectlr_mutex);\n                               lock(rtnl_mutex);\n                               lock(\u0026fip-\u003ectlr_mutex);\n  lock(rtnl_mutex);\n\n *** DEADLOCK ***\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3cab4468fd0a4b3c9f22a380e4318c17b6c202d6",
      "tree": "554adf8c808629f1e01f0c08a0b70759b8e6adb2",
      "parents": [
        "061446a159c5a0ec7047f9979866ffa7e0587b25"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Apr 20 12:16:38 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu May 10 08:59:25 2012 +0100"
      },
      "message": "[SCSI] libfc: defer releasing master lport until complete fcoe interface cleanuped up\n\nThe fcoe controller has back references, therefore defer\nreleasing master lport which gets freed along scsi_host_put\nand then free it once fcoe interface is fully cleaned.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "433eba04c2cb53e0bbd2fb6da22d18f725bbf33f",
      "tree": "e97c20c561dff813324df87b1bbc5e61ff6d91c3",
      "parents": [
        "9941fa6e9725c8d27b60c4839ccebe93bda60231"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Apr 20 12:16:27 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu May 10 08:59:24 2012 +0100"
      },
      "message": "[SCSI] fcoe: remove lport from net device before doing per cpu rx thread cleanup\n\nRemove lport from net device and then do synchronize net device to flush\ninflight rx frames for the lport before doing fcoe_percpu_clean.\n\nIn case of master lport, remove all rx packet handlers completely and\nthen only do fcoe_percpu_clean. This required splitting fcoe_interface_cleanup\nto do remove part separately and for that added func fcoe_interface_remove\nand then  call it from fcoe_if_destory before doing fcoe_percpu_clean.\nHowever if fcoe_interface_remove() is already called then\ndon\u0027t call again from fcoe_interface_cleanup() to preserve its\nexisting flows.\n\nThis patch along with Neil\u0027s other patch to avoid soft irq context\non ingress will avoid passing up frames on disabled lport as\ndiscussed in this mail thread:-\nhttp://lists.open-fcoe.org/pipermail/devel/2012-February/011947.html\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a75ee6ecd411a50bf4da927c2fdb2cb56246a2bd",
      "tree": "fcb06e1940152b115901fda68e7eea1cc1196ff3",
      "parents": [
        "c9651e70ad0aa499814817cbf3cc1d0b806ed3a1",
        "699316948628dab9e813c415640fe5b9f65cd5e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:31:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:31:23 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\nPull SCSI updates from James Bottomley:\n \"This is primarily another round of driver updates (lpfc, bfa, fcoe,\n  ipr) plus a new ufshcd driver.  There shouldn\u0027t be anything\n  controversial in here (The final deletion of scsi proc_ops which\n  caused some build breakage has been held over until the next merge\n  window to give us more time to stabilise it).\n\n  I\u0027m afraid, with me moving continents at exactly the wrong time,\n  anything submitted after the merge window opened has been held over to\n  the next merge window.\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (63 commits)\n  [SCSI] ipr: Driver version 2.5.3\n  [SCSI] ipr: Increase alignment boundary of command blocks\n  [SCSI] ipr: Increase max concurrent oustanding commands\n  [SCSI] ipr: Remove unnecessary memory barriers\n  [SCSI] ipr: Remove unnecessary interrupt clearing on new adapters\n  [SCSI] ipr: Fix target id allocation re-use problem\n  [SCSI] atp870u, mpt2sas, qla4xxx use pci_dev-\u003erevision\n  [SCSI] fcoe: Drop the rtnl_mutex before calling fcoe_ctlr_link_up\n  [SCSI] bfa: Update the driver version to 3.0.23.0\n  [SCSI] bfa: BSG and User interface fixes.\n  [SCSI] bfa: Fix to avoid vport delete hang on request queue full scenario.\n  [SCSI] bfa: Move service parameter programming logic into firmware.\n  [SCSI] bfa: Revised Fabric Assigned Address(FAA) feature implementation.\n  [SCSI] bfa: Flash controller IOC pll init fixes.\n  [SCSI] bfa: Serialize the IOC hw semaphore unlock logic.\n  [SCSI] bfa: Modify ISR to process pending completions\n  [SCSI] bfa: Add fc host issue lip support\n  [SCSI] mpt2sas: remove extraneous sas_log_info messages\n  [SCSI] libfc: fcoe_transport_create fails in single-CPU environment\n  [SCSI] fcoe: reduce contention for fcoe_rx_list lock [v2]\n  ...\n"
    },
    {
      "commit": "2280512342ead9a2858b1490b21e5bcaf4f4cfc7",
      "tree": "291775956c45bff076dfc172daded04510a37164",
      "parents": [
        "a165de82b08ddba1fc8b0c4eb56b9020f981c002"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Mar 13 18:22:12 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Mar 28 10:06:34 2012 +0100"
      },
      "message": "[SCSI] fcoe: Drop the rtnl_mutex before calling fcoe_ctlr_link_up\n\nThe rtnl_lock is primarily used to serialize networking\ndriver changes as well as to ensure that a networking driver\nis not removed when making changes to it. fcoe also uses\nthe rtnl_lock to protect the fcoe hostlist.\n\nfcoe_create holds the rtnl_lock over the entirity of the\nroutine including a the call to fcoe_ctlr_link_up.\nThis causes the below deadlock because fcoe_ctlr_link_up\nacquires the fcoe_ctlr ctlr_mutex and this deadlocks with\na libfcoe thread that acquires the fcoe_ctlr ctlr_mutex and\nthen the rtnl_lock (to update a MAC address).\n\nThis patch drops the rtnl_lock before calling\nfcoe_ctlr_link_up and therefore the deadlock is prevented.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d42918\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #1 (\u0026fip-\u003ectlr_mutex){+.+...}:\n       [\u003cc1091f70\u003e] lock_acquire+0x80/0x1b0\n       [\u003cc147655d\u003e] mutex_lock_nested+0x6d/0x340\n       [\u003cf8970c32\u003e] fcoe_ctlr_link_up+0x22/0x180 [libfcoe]\n       [\u003cf894620e\u003e] fcoe_create+0x47e/0x6e0 [fcoe]\n       [\u003cf8973dd3\u003e] fcoe_transport_create+0x143/0x250 [libfcoe]\n       [\u003cc10527e0\u003e] param_attr_store+0x30/0x60\n       [\u003cc1052696\u003e] module_attr_store+0x26/0x40\n       [\u003cc11a201e\u003e] sysfs_write_file+0xae/0x100\n       [\u003cc11449df\u003e] vfs_write+0x8f/0x160\n       [\u003cc1144cbd\u003e] sys_write+0x3d/0x70\n       [\u003cc147a0c4\u003e] syscall_call+0x7/0xb\n\n-\u003e #0 (rtnl_mutex){+.+.+.}:\n       [\u003cc109164b\u003e] __lock_acquire+0x140b/0x1720\n       [\u003cc1091f70\u003e] lock_acquire+0x80/0x1b0\n       [\u003cc147655d\u003e] mutex_lock_nested+0x6d/0x340\n       [\u003cc13a10c4\u003e] rtnl_lock+0x14/0x20\n       [\u003cf89445ac\u003e] fcoe_update_src_mac+0x2c/0xb0 [fcoe]\n       [\u003cf8971712\u003e] fcoe_ctlr_timer_work+0x712/0xb60 [libfcoe]\n       [\u003cc104fb69\u003e] process_one_work+0x179/0x5d0\n       [\u003cc10502f1\u003e] worker_thread+0x121/0x2d0\n       [\u003cc10550ed\u003e] kthread+0x7d/0x90\n       [\u003cc1481a82\u003e] kernel_thread_helper+0x6/0x10\n\nother info that might help us debug this:\n\n Possible unsafe locking scenario:\n\n       CPU0                    CPU1\n       ----                    ----\n  lock(\u0026fip-\u003ectlr_mutex);\n                               lock(rtnl_mutex);\n                               lock(\u0026fip-\u003ectlr_mutex);\n  lock(rtnl_mutex);\n\n *** DEADLOCK ***\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "20dc3811a2adfac65d5974e3b022a85fdbb9e205",
      "tree": "cfabd1f2ebe09711cb45f550d754cca7e125bd89",
      "parents": [
        "dd060e74fb4c2513420d8af7371cda2f3eea4fa9"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Mar 09 14:50:24 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Mar 28 09:31:44 2012 +0100"
      },
      "message": "[SCSI] fcoe: reduce contention for fcoe_rx_list lock [v2]\n\nThere is potentially lots of contention for the rx_list_lock.  On a cpu that is\nreceiving lots of fcoe traffic, the softirq context has to add and release the\nlock for every frame it receives, as does the receiving per-cpu thread.  We can\nreduce this contention somewhat by altering the per-cpu threads loop such that\nwhen traffic is detected on the fcoe_rx_list, we splice it to a temporary list.\nIn this way, we can process multiple skbs while only having to acquire and\nrelease the fcoe_rx_list lock once.\n\n[ Braces around single statement while loop removed by Robert Love\n  to satisfy checkpath.pl. ]\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "dd060e74fb4c2513420d8af7371cda2f3eea4fa9",
      "tree": "e5d66bec0ea7f4de3eb708d1452ba2da10776ac4",
      "parents": [
        "fc05ab74b78a9e16b0faa9f0dc3c87f3f30d3231"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Mar 09 14:50:19 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Mar 28 09:17:01 2012 +0100"
      },
      "message": "[SCSI] fcoe: remove frame dropping code from fcoe_percpu_clean\n\ncommit e7a51997dad4e17395be1209970e18d2e9305b24 ([SCSI] fcoe: flush per-cpu\nthread work when destroying interface) added a skb flush to the fcoe_rx_list,\nwhich ensures that we push any pending frames on the list through the per-cpu\nreceive thread.  Because of this, its redundant to lock and scan the list\nfirst, dropping any arriving frames.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "94aa29f28e748484de7acef09a0023846624a81c",
      "tree": "4cc44379a48583832917a80d6b0682caec7bccf3",
      "parents": [
        "81c11dd2ed154b351eb6ee3443e07094a1d53ce1"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Mar 09 14:50:08 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Mar 28 09:09:35 2012 +0100"
      },
      "message": "[SCSI] foce: remove bh disable from fcoe sw transport rcv function\n\nThe fcoe sw recive packet function (fcoe_rcv) only ever executes in softirq\ncontext.  Given that, and the fact that no use of the fcoe_rx_list is made in\nirq context, its not necessecary to disable bottom halves while actually\nreceiving the frame.  Convert spin_*_bh calls in that function to their\nlock-only equivalents\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "81c11dd2ed154b351eb6ee3443e07094a1d53ce1",
      "tree": "e5c14fc2f3bafdb7172678a01d8f01d4d5cb1d29",
      "parents": [
        "73d67aa40b1f94a4e5edecbbc3b94d352eeeae0a"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Mar 09 14:50:03 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Mar 28 09:05:37 2012 +0100"
      },
      "message": "[SCSI] libfcoe: Support extra MAC descriptor to be used as FCoE MAC\n\nSome switch implementations (eg., HP virtual connect FlexFabric) send two MAC\ndescriptors in FIP FLOGI response, with first MAC descriptor (granted_mac) used\nas FPMA, and the second one (fcoe_mac) used as destination address for\nsending/receiving FCoE packets. fip_mac continues to be used for FIP traffic.\nThis patch introduces fcoe_mac in fcoe_fcf structure. For regular switches,\nboth fcoe_mac and fip_mac will be the same. For the switches that send\nadditional MAC descriptor, fcoe_mac is updated.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "14619ea689cc0b257cf998469005d0515133d7bc",
      "tree": "3f2108dfe3134ecd9840113969d60c23d4ae7257",
      "parents": [
        "5e70c4c43e559ea6a1bf1edc0eb7d284ea7f16b4"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Mar 09 14:49:53 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Mar 28 09:03:30 2012 +0100"
      },
      "message": "[SCSI] libfcoe: Do not sends FDISCs before FLOGI during CVL\n\nWhen handling CVL with no Vx port descriptors, lports for NPIV ports are reset\nbefore issuing the ctlr_reset. This causes FDISCs to be issued before\nsuccessful FLOGI. Fix it by resetting the controller before resetting the\nlports.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "5e70c4c43e559ea6a1bf1edc0eb7d284ea7f16b4",
      "tree": "48cf08ae09bdf23e9a48a10821ca5223f25ab74f",
      "parents": [
        "b08c1856b4d4295040ec72f15427588087369220"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Mar 09 14:49:48 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Mar 28 09:02:26 2012 +0100"
      },
      "message": "[SCSI] fcoe: Ensure fcoe_recv_frame is always called in process context\n\ncommit 859b7b649ab58ee5cbfb761491317d5b315c1b0f introduced the ability to call\nfcoe_recv_frame in softirq context.  While this is beneficial to performance,\nits not safe to do, as it breaks the serialization of access to the lport\nstructure (i.e. when an fcoe interface is being torn down, theres no way to\nserialize the teardown effort with the completion of receieve operations\noccuring in softirq context.  As a result, lport (and other) data structures can\nbe read and modified in parallel leading to corruption.  Most notable is the\nvport list, which is protected by a mutex, that will cause a panic if a softirq\nreceive while said mutex is locked.  Additionaly, the ema_list, discussed here:\n\nhttp://lists.open-fcoe.org/pipermail/devel/2012-February/011947.html\n\nCan be corrupted if a list traversal occurs in softirq context at the same time\nas a list delete in process context.  And generally the lport state variables\nwill not be stable, and may lead to unpredictable results.\n\nThe most direct fix is to remove the bits from the above commit that allowed\nfcoe_recv_frame to be called in softirq context.  We just force all frames to be\nhandled by the per-cpu rx threads.  This will allow the fcoe_if_destroy\u0027s use of\nfcoe_percpu_clean to function properly, ensuring that no frames are being\nreceived while the lport is being torn down.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReviewed-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "424a6f6ef990b7e9f56f6627bfc6c46b493faeb4",
      "tree": "0028356ed8003495fbbe1f716f359e3c8ebc35b6",
      "parents": [
        "1ab142d499294b844ecc81e8004db4ce029b0b61",
        "cd8df932d894f3128c884e3ae1b2b484540513db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:55:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:55:29 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\nSCSI updates from James Bottomley:\n \"The update includes the usual assortment of driver updates (lpfc,\n  qla2xxx, qla4xxx, bfa, bnx2fc, bnx2i, isci, fcoe, hpsa) plus a huge\n  amount of infrastructure work in the SAS library and transport class\n  as well as an iSCSI update.  There\u0027s also a new SCSI based virtio\n  driver.\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (177 commits)\n  [SCSI] qla4xxx: Update driver version to 5.02.00-k15\n  [SCSI] qla4xxx: trivial cleanup\n  [SCSI] qla4xxx: Fix sparse warning\n  [SCSI] qla4xxx: Add support for multiple session per host.\n  [SCSI] qla4xxx: Export CHAP index as sysfs attribute\n  [SCSI] scsi_transport: Export CHAP index as sysfs attribute\n  [SCSI] qla4xxx: Add support to display CHAP list and delete CHAP entry\n  [SCSI] iscsi_transport: Add support to display CHAP list and delete CHAP entry\n  [SCSI] pm8001: fix endian issue with code optimization.\n  [SCSI] pm8001: Fix possible racing condition.\n  [SCSI] pm8001: Fix bogus interrupt state flag issue.\n  [SCSI] ipr: update PCI ID definitions for new adapters\n  [SCSI] qla2xxx: handle default case in qla2x00_request_firmware()\n  [SCSI] isci: improvements in driver unloading routine\n  [SCSI] isci: improve phy event warnings\n  [SCSI] isci: debug, provide state-enum-to-string conversions\n  [SCSI] scsi_transport_sas: \u0027enable\u0027 phys on reset\n  [SCSI] libsas: don\u0027t recover end devices attached to disabled phys\n  [SCSI] libsas: fixup target_port_protocols for expanders that don\u0027t report sata\n  [SCSI] libsas: set attached device type and target protocols for local phys\n  ...\n"
    },
    {
      "commit": "9f3938346a5c1fa504647670edb5fea5756cfb00",
      "tree": "7cf6d24d6b076c8db8571494984924cac03703a2",
      "parents": [
        "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
        "317b6e128247f75976b0fc2b9fd8d2c20ef13b3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "message": "Merge branch \u0027kmap_atomic\u0027 of git://github.com/congwang/linux\n\nPull kmap_atomic cleanup from Cong Wang.\n\nIt\u0027s been in -next for a long time, and it gets rid of the (no longer\nused) second argument to k[un]map_atomic().\n\nFix up a few trivial conflicts in various drivers, and do an \"evil\nmerge\" to catch some new uses that have come in since Cong\u0027s tree.\n\n* \u0027kmap_atomic\u0027 of git://github.com/congwang/linux: (59 commits)\n  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal\n  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]\n  drbd: remove the second argument of k[un]map_atomic()\n  zcache: remove the second argument of k[un]map_atomic()\n  gma500: remove the second argument of k[un]map_atomic()\n  dm: remove the second argument of k[un]map_atomic()\n  tomoyo: remove the second argument of k[un]map_atomic()\n  sunrpc: remove the second argument of k[un]map_atomic()\n  rds: remove the second argument of k[un]map_atomic()\n  net: remove the second argument of k[un]map_atomic()\n  mm: remove the second argument of k[un]map_atomic()\n  lib: remove the second argument of k[un]map_atomic()\n  power: remove the second argument of k[un]map_atomic()\n  kdb: remove the second argument of k[un]map_atomic()\n  udf: remove the second argument of k[un]map_atomic()\n  ubifs: remove the second argument of k[un]map_atomic()\n  squashfs: remove the second argument of k[un]map_atomic()\n  reiserfs: remove the second argument of k[un]map_atomic()\n  ocfs2: remove the second argument of k[un]map_atomic()\n  ntfs: remove the second argument of k[un]map_atomic()\n  ...\n"
    },
    {
      "commit": "77dfce076cbd76c04e90abff188d058cdbff78dd",
      "tree": "c2f1ac2dd386c68e6bf8dee8d996d0b6e36f9c73",
      "parents": [
        "4679026d783eb5ac90247bc466d66b817b213abf"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:23 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:19 2012 +0800"
      },
      "message": "scsi: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "cf64bc8f093581d0697b65ea8dd04bdd27a676b0",
      "tree": "1ed362ce0741169c3b4f6f5e574334279283d92a",
      "parents": [
        "cdbee74ce74cd66de42a6f6d0edfa74fa9a66f2a"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Mar 16 23:08:12 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 19 17:37:35 2012 -0400"
      },
      "message": "fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx\n\nFix a bug when using \u0027ethtool -K ethx tx off\u0027 to turn off tx ip checksum,\nFCoE CRC offload should not be impacte. The skb_checksum_help() is needed\nonly if it\u0027s not FCoE traffic for ip checksum, regardless of ethtool toggling\nthe tx ip checksum on or off. Instead of using CHECKSUM_PARTIAL, we will\nuse CHECKSUM_UNNECESSARY as a proper indication to avoid sw ip checksum\non FCoE frames.\n\nRef. to original discussion thread:\nhttp://patchwork.ozlabs.org/patch/146567/\n\nCC: \"James E.J. Bottomley\" \u003cJBottomley@parallels.com\u003e\nCC: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@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": "1a8ef414d97bf3f293e286f02002f8db768f9867",
      "tree": "2df0c754ecedb356bd1fc574eed71b6490c4b8f0",
      "parents": [
        "ccefd23ed2d683ad3c0282280e6e6d0b163ad041"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 10 17:18:46 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 09:25:41 2012 -0600"
      },
      "message": "[SCSI] fcoe: Remove reference counting on \u0027stuct fcoe_interface\u0027\n\nThe reference counting was necessary on these instances\nbecause it was possible for NPIV ports to be destroyed\nafter the N_Port. A previous patch ensures that all NPIV\nports are destroyed before the N_Port making the need to\ntrack references on the interface unnecessary.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "ccefd23ed2d683ad3c0282280e6e6d0b163ad041",
      "tree": "a819e2a95ee58e1ccf7f7537be2407f5d6e7dfd9",
      "parents": [
        "6f68794c9283bbce3f7c91d3be34cb4f4f6ed960"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 10 17:18:41 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 09:25:17 2012 -0600"
      },
      "message": "[SCSI] fcoe: Do not switch context in vport_delete callback\n\nCurrently all port deletion is routed though the FCoE\nworkqueue (fcoe_wq). When fc_remove_host is called on\nan N_Port (for example, from fcoe_destroy) the vports\nare queued into a FC Transport workqueue. fc_remove_host\nflushes that queue and each vport is passed to fcoe\u0027s\nfcoe_vport_destroy, which simply queues the associated\nfcoe_ports for later deletion. This queue cannot be\nflushed within the N_Ports destroy path because of\ncircular locking issues. The result is that the NPIV\nports are destroyed after the N_Port, which is reverse\nof how they are created.\n\nThis quirk causes fcoe to keep references on the\nfcoe_interface shared by each of these ports (N_Port\nand NPIV). Changing the ordering such that NPIV ports\nare destroyed before the N_Port will allow us to remove\nreference counting on the fcoe_interface instances.\n\nThis patch simply allows fcoe_vport_destory to destroy\nNPIV ports without deferring them to a workqueue context.\nThis ensures that when fc_remove_host is called the\nNPIV ports will be destroyed first before the N_Port and\nallows reference counting on the fcoe\u0027s fcoe_interface\nto be remove in a later patch.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6f68794c9283bbce3f7c91d3be34cb4f4f6ed960",
      "tree": "db1687a6f95f069b6ae61d56205baed061fe7a05",
      "parents": [
        "7e5adcfb31c26a68b75a249ef1c7f52fc5ec6e1b"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 10 17:18:36 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 09:24:33 2012 -0600"
      },
      "message": "[SCSI] fcoe: Rename out_nomod label to out_putmod\n\nThe label implies that it should be called when\nthere is \u0027nomod.\u0027 I read that to mean that the\nmodule reference \u0027get\u0027 failed. However, it\u0027s only\ncalled when the module reference \u0027get\u0027 succeeded.\n\nI think it makes more sense to name the label,\n\u0027out_putmod\u0027 since it should be called when we\nneed to \u0027put\u0027 the module reference taken in the\nroutine before returning.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "7e5adcfb31c26a68b75a249ef1c7f52fc5ec6e1b",
      "tree": "1e0bbbaf58228f898db7b2d0d460ebed30fe9075",
      "parents": [
        "b99fbf6a4e96ecacadf0f4868942774e0d64a648"
      ],
      "author": {
        "name": "Neerav Parikh",
        "email": "neerav.parikh@intel.com",
        "time": "Fri Feb 10 17:18:31 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 09:24:20 2012 -0600"
      },
      "message": "[SCSI] fcoe: Allow exposing FDMI attributes via sysfs\n\nAllow FDMI attributes to be exposed via the fc_host\nclass object for the fcoe driver.\n\nSigned-off-by: Neerav Parikh \u003cneerav.parikh@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b99fbf6a4e96ecacadf0f4868942774e0d64a648",
      "tree": "86f2a4c29640a901cb4971d1b31563ddd2f5664f",
      "parents": [
        "3d2d752549150c2706f6bf8d8a2cceb89ef9f42e"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 10 17:17:59 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 09:19:49 2012 -0600"
      },
      "message": "[SCSI] libfcoe: Don\u0027t KERN_ERR on netdev notification\n\nThis is more of a debug statement. As a KERN_ERR we generate\nlog entries anytime any netdev goes up or down, so when booting\nthere are notification log entries for all system interfaces\nincluding \u0027lo\u0027. This is too much. Let\u0027s just log when necessary.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9f71af2febd53620a379d71527f98bbc2ba67e61",
      "tree": "51ee330a5b9fab422032d5fd9d8c5231e1548549",
      "parents": [
        "6fef3902889ade6270a942cc2554252dbff1146c"
      ],
      "author": {
        "name": "Neerav Parikh",
        "email": "neerav.parikh@intel.com",
        "time": "Sun Jan 22 17:30:16 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 08:08:58 2012 -0600"
      },
      "message": "[SCSI] fcoe: Allow exposing FDMI attributes via sysfs\n\nAllow FDMI attributes to be exposed via the fc_host\nclass object for the fcoe driver.\n\nSigned-off-by: Neerav Parikh \u003cneerav.parikh@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nAcked-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6fef3902889ade6270a942cc2554252dbff1146c",
      "tree": "2e75370280348fc4a826965038dc10811de43a5a",
      "parents": [
        "d78c317f6cd701bda9f6dbfbfbcba72f39dd6ad7"
      ],
      "author": {
        "name": "Neerav Parikh",
        "email": "neerav.parikh@intel.com",
        "time": "Sun Jan 22 17:30:10 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 08:08:58 2012 -0600"
      },
      "message": "[SCSI] fcoe: Add support for FDMI in fcoe\n\nThis adds support for updating the FC-GS FDMI attributes\nin the fcoe driver.\n\nSigned-off-by: Neerav Parikh \u003cneerav.parikh@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nAcked-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "7c9c684160bc2c6668abbd2701b440e18bb9ef35",
      "tree": "fa6e51cecf7a6661de6352ce4f3c28b96f660f14",
      "parents": [
        "c6b21c93c1794113c68f3d43f321968191d87b1b"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Fri Jan 13 17:26:25 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Jan 16 12:46:31 2012 +0400"
      },
      "message": "[SCSI] fcoe: Move fcoe_debug_logging from fcoe.h to fcoe.c\n\nMove the definition of the global variable fcoe_debug_logging\nfrom fcoe.h to fcoe.c. Avoid that sparse complains about missing\ndeclarations for local functions or variables by declaring these\nstatic.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nReviewed-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a762dce41cb5742a143f6aa2d80ee1aac7e1f5eb",
      "tree": "173bd7ca3d621f073d8a8ed887c39c7c0dd926f3",
      "parents": [
        "19b628dfc60eda4459b65e4b6b7a748932d28929"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Jan 13 17:26:15 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Jan 16 12:44:28 2012 +0400"
      },
      "message": "[SCSI] fcoe: fix regression on offload em matching function for initiator/target\n\nThis is a regression introduced by commit\n1ff9918b625457ce20d450d00f9ed0a12ba191b7 The else statement here is breaking\nthe initiator logic of allocating xid from the offloaded em xid pool for READ\nI/O only to use DDP, as shown by the snippet of trace below, where the WRITE\nis using xid 0x5 from the offloaded em xid pool:\n\nProtocol VID Len S_ID        D_ID     OX_ID  RX_ID  Summary\n..\n*FCP     228 96  0b.08.01 -\u003e 01.0f.00 0x0005 0xffff SCSI: Write(10) LUN: 0x00\n FCP     228 76  01.0f.00 -\u003e 0b.08.01 0x0005 0x828d XFER_RDY\n...\n\nThe bug is in the else statement, for both initiator and target, the\nnew command will have FC frame header bit 23 (FC_FC_EX_CTX) cleared as it was\noriginated from the initiator. Also, this is assuming the frame header is\nalready filled up, which is only true for target since for initiator, this is a\nnew frame and oem_match gets called when em tries get xid for this i/o before\nit is filled up and sent out.\n\nThe fix is to check if there is a fc_fcp_pkt associated w/ this frame from\nfr_fsp(fp), since fr_fsp(fp) is NULL for tcm_fc target and non-I/O frame in\ninitiator. This should also return true for target only if it is an\nFC_RCTL_DD_UNSOL_CMD and rx_id is not allocated.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "f1633011e4fcb65bf65aebeaf4024efdc4c49d6e",
      "tree": "04cae3ca39c606fdbca375328ab419a7f40a4d52",
      "parents": [
        "3a19cbf530648a63fb3f73630046c561f70c6b71"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 16 14:24:49 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Tue Jan 10 17:01:23 2012 -0600"
      },
      "message": "[SCSI] fcoe: remove double check if skb is nonlinear\n\nskb_linearize already has a check for skb_is_nonlinear,\nthere is no need to duplicate the check in fcoe.c. This\npatch simply removes the unnecessary check and calls\nskb_linearize unconditionally.\n\nReported-by: patrick kelle \u003cpatrick.kelle81@gmail.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nAcked-by: patrick kelle \u003cpatrick.kelle81@gmail.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6f6c2aa33b915c574543f176dee89d7aefc115c1",
      "tree": "3c6907fe997727e92ed09c018abd8215ce26b6ba",
      "parents": [
        "a878185c3b93e692ace0d1628a47f3d75504ab4f"
      ],
      "author": {
        "name": "john fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Fri Nov 18 13:35:56 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu Dec 15 11:02:07 2011 +0400"
      },
      "message": "[SCSI] fcoe: fix fcoe in a DCB environment by adding DCB notifiers to set skb priority\n\nUse DCB notifiers to set the skb priority to allow packets\nto be steered and tagged correctly over DCB enabled drivers\nthat setup traffic classes.\n\nThis allows queue_mapping() routines to be removed in these\ndrivers that were previously inspecting the ethertype of\nevery skb to mark FCoE/FIP frames.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "7e1e7ead88dff75b11b86ee0d5232c4591be1326",
      "tree": "844559e1dd8a881db68a791508a66196d9e383f3",
      "parents": [
        "09b4402d2c8e36b8d4270c4da235fd7bb312118d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 11 20:52:01 2011 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Dec 14 15:40:03 2011 +0400"
      },
      "message": "[SCSI] fcoe: Fix preempt count leak in fcoe_filter_frames()\n\nThe error exit path leaks preempt count. Add the missing put_cpu().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Yi Zou \u003cyi.zou@intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "907c07d45199f954ddcf66c2c9763c87d012cb15",
      "tree": "4d25bde865cc84feebf93d73c7dd186a6e15be2a",
      "parents": [
        "b6e3c84034b93e6acc895711f74730e235dfe9d2"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Oct 28 11:34:23 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Oct 31 13:27:43 2011 +0400"
      },
      "message": "[SCSI] libfc: improve flogi retries to avoid lport stuck\n\nAdds more cases to do flogi retry, now also retry\non getting bad response due to either no ELS response\nor flogi response payload length not large enough.\nIn those cases flogi was not retried and that\nwas leaving lport offline.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nTested-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954",
      "tree": "e6b0c64a51a7c0aa0efd09d4f7a80872e3b1657a",
      "parents": [
        "97d2eb13a019ec09cc1a7ea2d3705c0b117b3c0d",
        "590134fa78fbdbe5fea78c7ae0b2c3364bc9572f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:44:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:44:18 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (204 commits)\n  [SCSI] qla4xxx: export address/port of connection (fix udev disk names)\n  [SCSI] ipr: Fix BUG on adapter dump timeout\n  [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer\n  [SCSI] hpsa: change confusing message to be more clear\n  [SCSI] iscsi class: fix vlan configuration\n  [SCSI] qla4xxx: fix data alignment and use nl helpers\n  [SCSI] iscsi class: fix link local mispelling\n  [SCSI] iscsi class: Replace iscsi_get_next_target_id with IDA\n  [SCSI] aacraid: use lower snprintf() limit\n  [SCSI] lpfc 8.3.27: Change driver version to 8.3.27\n  [SCSI] lpfc 8.3.27: T10 additions for SLI4\n  [SCSI] lpfc 8.3.27: Fix queue allocation failure recovery\n  [SCSI] lpfc 8.3.27: Change algorithm for getting physical port name\n  [SCSI] lpfc 8.3.27: Changed worst case mailbox timeout\n  [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes\n  [SCSI] megaraid_sas: Changelog and version update\n  [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic\n  [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support\n  [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers\n  [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interrupts\n  ...\n"
    },
    {
      "commit": "8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22",
      "tree": "a0a63398a9983667d52cbbbf4e2405b4f22b1d83",
      "parents": [
        "1be025d3cb40cd295123af2c394f7229ef9b30ca",
        "8b3408f8ee994973869d8ba32c5bf482bc4ddca4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits)\n  dp83640: free packet queues on remove\n  dp83640: use proper function to free transmit time stamping packets\n  ipv6: Do not use routes from locally generated RAs\n  |PATCH net-next] tg3: add tx_dropped counter\n  be2net: don\u0027t create multiple RX/TX rings in multi channel mode\n  be2net: don\u0027t create multiple TXQs in BE2\n  be2net: refactor VF setup/teardown code into be_vf_setup/clear()\n  be2net: add vlan/rx-mode/flow-control config to be_setup()\n  net_sched: cls_flow: use skb_header_pointer()\n  ipv4: avoid useless call of the function check_peer_pmtu\n  TCP: remove TCP_DEBUG\n  net: Fix driver name for mdio-gpio.c\n  ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT\n  rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces\n  ipv4: fix ipsec forward performance regression\n  jme: fix irq storm after suspend/resume\n  route: fix ICMP redirect validation\n  net: hold sock reference while processing tx timestamps\n  tcp: md5: add more const attributes\n  Add ethtool -g support to virtio_net\n  ...\n\nFix up conflicts in:\n - drivers/net/Kconfig:\n\tThe split-up generated a trivial conflict with removal of a\n\tstale reference to Documentation/networking/net-modules.txt.\n\tRemove it from the new location instead.\n - fs/sysfs/dir.c:\n\tFairly nasty conflicts with the sysfs rb-tree usage, conflicting\n\twith Eric Biederman\u0027s changes for tagged directories.\n"
    },
    {
      "commit": "9e903e085262ffbf1fc44a17ac06058aca03524a",
      "tree": "4acefc97ba38c1733474d25c0b2053b56af97db1",
      "parents": [
        "dd767856a36e00b631d65ebc4bb81b19915532d6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 18 21:00:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:10:46 2011 -0400"
      },
      "message": "net: add skb frag size accessors\n\nTo ease skb-\u003etruesize sanitization, its better to be able to localize\nall references to skb frags size.\n\nDefine accessors : skb_frag_size() to fetch frag size, and\nskb_frag_size_{set|add|sub}() to manipulate it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "814740d5f67ae5f205349019bfaae38bcd0c8732",
      "tree": "4c7de90af617916dc06d44a5b5504775f3ffb211",
      "parents": [
        "fd8fa9071e49a56cc91f739813ea88f16b7c1240"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Mon Oct 03 16:45:01 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 16 10:38:01 2011 -0500"
      },
      "message": "[SCSI] fcoe,libfcoe: Move common code for fcoe_get_lesb to fcoe_transport\n\nExcept for obtaining the netdev from lport, fcoe_get_lesb is the common code\nfor the LLDs.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nAcked-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "860eca2b2bf90c513c1d6d9f889b3e0801e7ac08",
      "tree": "fd37ae422fa49ac3f14a390185205726b1ddc3d3",
      "parents": [
        "d1483bb90a01ec68c2f6dc8842ce2d449cd6d6d0"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Sep 27 21:38:18 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 12:57:40 2011 -0500"
      },
      "message": "[SCSI] fcoe: setup default initial value for DDP threshold\n\nCurrently fcoe_ddp_min doesn\u0027t have default value\nso by default not used, so setting up default value\nas 4k as this works better by avoiding overhead\nof programing DDP for small IOs.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "d1483bb90a01ec68c2f6dc8842ce2d449cd6d6d0",
      "tree": "5e053e97351e55bc5cafc8c6694afc3c2f87647a",
      "parents": [
        "e17b4af7c7a6f5c24b0e6b856bb45a1a22be75f5"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Sep 27 21:38:13 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 12:57:12 2011 -0500"
      },
      "message": "[SCSI] fcoe: use real dev in case of HW vlan acceleration\n\nUse real dev in case it has HW vlan acceleration\nsupport since in this case the real dev would\ndo needed vlan processing, this way unnecessary\nvlan layer processing avoided and it gives\nslightly better IOPS with 512B size IOs.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "5c609ff937a91cf09b1f8d7612cd00bc046c27f7",
      "tree": "5f5620257b243c61b28c555c770445cad819eaca",
      "parents": [
        "05a2a17317b48eb16a167c8c2932ba7b3cdee89e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Sep 27 21:37:52 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 12:53:40 2011 -0500"
      },
      "message": "[SCSI] fcoe: use kthread_create_on_node\n\nSince fcoe_percpu_thread_create() creates percpu kthread, it makes sense\nto use kthread_create_on_node() to get proper NUMA affinity for kthread\nstack.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "8decf868790b48a727d7e7ca164f2bcd3c1389c0",
      "tree": "b759a5f861f842af7ea76f9011b579d06e9d5508",
      "parents": [
        "3fc72370186be2f9d4d6ef06d99e1caa5d92c564",
        "d93dc5c4478c1fd5de85a3e8aece9aad7bbae044"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tMAINTAINERS\n\tdrivers/net/Kconfig\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c\n\tdrivers/net/ethernet/broadcom/tg3.c\n\tdrivers/net/wireless/iwlwifi/iwl-pci.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c\n\tdrivers/net/wireless/rt2x00/rt2800usb.c\n\tdrivers/net/wireless/wl12xx/main.c\n"
    },
    {
      "commit": "4bc71cb983fd2844e603bf633df2bb53385182d2",
      "tree": "067b6df32fda6c554b2b9263a94a585c2e5a832d",
      "parents": [
        "c5dac7c9984d8a034eb7ae149cedf23ec9259f98"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Sep 03 03:34:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 17:32:26 2011 -0400"
      },
      "message": "net: consolidate and fix ethtool_ops-\u003eget_settings calling\n\nThis patch does several things:\n- introduces __ethtool_get_settings which is called from ethtool code and\n  from drivers as well. Put ASSERT_RTNL there.\n- dev_ethtool_get_settings() is replaced by __ethtool_get_settings()\n- changes calling in drivers so rtnl locking is respected. In\n  iboe_get_rate was previously -\u003eget_settings() called unlocked. This\n  fixes it. Also prb_calc_retire_blk_tmo() in af_packet.c had the same\n  problem. Also fixed by calling __dev_get_by_index() instead of\n  dev_get_by_index() and holding rtnl_lock for both calls.\n- introduces rtnl_lock in bnx2fc_vport_create() and fcoe_vport_create()\n  so bnx2fc_if_create() and fcoe_if_create() are called locked as they\n  are from other places.\n- use __ethtool_get_settings() in bonding code\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\nv2-\u003ev3:\n\t-removed dev_ethtool_get_settings()\n\t-added ASSERT_RTNL into __ethtool_get_settings()\n\t-prb_calc_retire_blk_tmo - use __dev_get_by_index() and lock\n\t around it and __ethtool_get_settings() call\nv1-\u003ev2:\n        add missing export_symbol\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e [except FCoE bits]\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e060c38434b2caa78efe7cedaff4191040b65a15",
      "tree": "407361230bf6733f63d8e788e4b5e6566ee04818",
      "parents": [
        "10e4ac572eeffe5317019bd7330b6058a400dfc2",
        "cc39c6a9bbdebfcf1a7dee64d83bf302bc38d941"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Sep 15 15:08:05 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Sep 15 15:08:18 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nFast-forward merge with Linus to be able to merge patches\nbased on more recent version of the tree.\n"
    },
    {
      "commit": "101ae14edc14efb0fe6ed8a77ed370cca670ffc8",
      "tree": "b30faae55e981a049880f52100b8244c6b3345a3",
      "parents": [
        "e5de063016ce838aff08683ce38ac40211c247d9"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Aug 01 23:27:12 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Sep 15 14:57:07 2011 +0200"
      },
      "message": "Remove unneeded version.h includes from drivers/scsi/\n\nIt was pointed out by \u0027make versioncheck\u0027 that some includes of\nlinux/version.h are not needed in drivers/scsi/.\nThis patch removes them.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "848e7d5b46b9b0ee613a106bc460acf6a09a8546",
      "tree": "0695610dd1bc9ae207aa12c76013ab788b06d8ae",
      "parents": [
        "7ca3c803e85080afdff4097e60fefec865027809"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Thu Aug 25 12:40:47 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Aug 28 19:38:43 2011 -0700"
      },
      "message": "[SCSI] fcoe: Fix deadlock between fip\u0027s recv_work and rtnl\n\nThe rtnl cannot be held durrng the fcoe_interface_put.\nIf it is the last reference on the fcoe_interface the\nfcoe_ctlr_destroy will be called as a part of the\ncleanup, ultimately calling cancel_work_sync(\u0026fip-\u003erecv_work);\n\nIf we are processing a flogi response we will be in\nthe recv_work context and we will lock the rtnl to\nadd a new unicast MAC address. This is how the deadlock\ncan occur.\n\nThe fix is simply to move the rtnl_lock/unlock into\nfcoe_interface_cleanup so that it can be unlocked before\nfcoe_interface_put is called.\n\nHere is the lockdep report:\n\nJul 21 11:26:35 bubba [  223.870702]\nul 21 11:26:35 bubba [  223.870704] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nJul 21 11:26:35 bubba [  223.871255] [ INFO: possible circular locking dependency detected ]\nJul 21 11:26:35 bubba [  223.871530] 3.0.0-rc7+ #1\nJul 21 11:26:35 bubba [  223.871797] -------------------------------------------------------\nJul 21 11:26:35 bubba [  223.872072] lockdeptest.sh/3464 is trying to acquire lock:\nJul 21 11:26:35 bubba [  223.872345]  ((\u0026fip-\u003erecv_work)\nJul 21 11:26:35 bubba ){+.+.+.}\nJul 21 11:26:35 bubba , at:\nJul 21 11:26:35 bubba [\u003cffffffff810531f1\u003e] wait_on_work+0x0/0xbd\nJul 21 11:26:35 bubba [  223.873022]\nJul 21 11:26:35 bubba [  223.873023] but task is already holding lock:\nJul 21 11:26:35 bubba [  223.873555]  (rtnl_mutex\nJul 21 11:26:35 bubba ){+.+.+.}\nJul 21 11:26:35 bubba , at:\nJul 21 11:26:35 bubba [\u003cffffffff813e8233\u003e] rtnl_lock+0x12/0x14\nJul 21 11:26:35 bubba [  223.874229]\nJul 21 11:26:35 bubba [  223.874230] which lock already depends on the new lock.\nJul 21 11:26:35 bubba [  223.874231]\nJul 21 11:26:35 bubba [  223.875032]\nJul 21 11:26:35 bubba [  223.875033] the existing dependency chain (in reverse order) is:\nJul 21 11:26:35 bubba [  223.875573]\nJul 21 11:26:35 bubba [  223.875573] -\u003e #1\nJul 21 11:26:35 bubba (rtnl_mutex\nJul 21 11:26:35 bubba ){+.+.+.}\nJul 21 11:26:35 bubba :\nJul 21 11:26:35 bubba [  223.876301]\nJul 21 11:26:35 bubba [\u003cffffffff8106c14a\u003e] lock_acquire+0xd2/0xf7\nJul 21 11:26:35 bubba [  223.876645]\nJul 21 11:26:35 bubba [\u003cffffffff8151d975\u003e] __mutex_lock_common+0x47/0x30d\nJul 21 11:26:35 bubba [  223.876991]\nJul 21 11:26:35 bubba [\u003cffffffff8151dd36\u003e] mutex_lock_nested+0x3b/0x40\nJul 21 11:26:35 bubba [  223.877334]\nJul 21 11:26:35 bubba [\u003cffffffff813e8233\u003e] rtnl_lock+0x12/0x14\nJul 21 11:26:35 bubba [  223.877675]\nJul 21 11:26:35 bubba [\u003cffffffffa003d5a0\u003e] fcoe_update_src_mac+0x2b/0x80 [fcoe]\nJul 21 11:26:35 bubba [  223.878022]\nJul 21 11:26:35 bubba [\u003cffffffffa003d698\u003e] fcoe_flogi_resp+0x5e/0x79 [fcoe]\nJul 21 11:26:35 bubba [  223.878366]\nJul 21 11:26:35 bubba [\u003cffffffffa001566f\u003e] fc_exch_recv+0x7f5/0x9da [libfc]\nJul 21 11:26:35 bubba [  223.878713]\nJul 21 11:26:35 bubba [\u003cffffffffa00327d8\u003e] fcoe_ctlr_recv_work+0x71f/0x10dc [libfcoe]\nJul 21 11:26:35 bubba [  223.879258]\nJul 21 11:26:35 bubba [\u003cffffffff81053761\u003e] process_one_work+0x1d7/0x347\nJul 21 11:26:35 bubba [  223.879601]\nJul 21 11:26:35 bubba [\u003cffffffff81054ade\u003e] worker_thread+0xf8/0x17c\nJul 21 11:26:35 bubba [  223.879944]\nJul 21 11:26:35 bubba [\u003cffffffff81058184\u003e] kthread+0x7d/0x85\nJul 21 11:26:35 bubba [  223.880287]\nJul 21 11:26:35 bubba [\u003cffffffff81526414\u003e] kernel_thread_helper+0x4/0x10\nJul 21 11:26:35 bubba [  223.880634]\nJul 21 11:26:35 bubba [  223.880635] -\u003e #0\nJul 21 11:26:35 bubba ((\u0026fip-\u003erecv_work)\nJul 21 11:26:35 bubba ){+.+.+.}\nJul 21 11:26:35 bubba :\nJul 21 11:26:35 bubba [  223.881357]\nJul 21 11:26:35 bubba [\u003cffffffff8106b93e\u003e] __lock_acquire+0xb1d/0xe2c\nJul 21 11:26:35 bubba [  223.881695]\nJul 21 11:26:35 bubba [\u003cffffffff8106c14a\u003e] lock_acquire+0xd2/0xf7\nJul 21 11:26:35 bubba [  223.882033]\nJul 21 11:26:35 bubba [\u003cffffffff81053241\u003e] wait_on_work+0x50/0xbd\nJul 21 11:26:35 bubba [  223.882378]\nJul 21 11:26:35 bubba [\u003cffffffff81053b32\u003e] __cancel_work_timer+0xb6/0xf4\nJul 21 11:26:35 bubba [  223.882718]\nJul 21 11:26:35 bubba [\u003cffffffff81053b8a\u003e] cancel_work_sync+0xb/0xd\nJul 21 11:26:35 bubba [  223.883057]\nJul 21 11:26:35 bubba [\u003cffffffffa00317e6\u003e] fcoe_ctlr_destroy+0x1d/0x67 [libfcoe]\nJul 21 11:26:35 bubba [  223.883399]\nJul 21 11:26:35 bubba [\u003cffffffffa003e51e\u003e] fcoe_interface_release+0x21/0x45 [fcoe]\nJul 21 11:26:35 bubba [  223.883940]\nJul 21 11:26:35 bubba [\u003cffffffff811fbbe6\u003e] kref_put+0x43/0x4d\nJul 21 11:26:35 bubba [  223.884280]\nJul 21 11:26:35 bubba [\u003cffffffffa003ebba\u003e] fcoe_interface_put+0x17/0x19 [fcoe]\nJul 21 11:26:35 bubba [  223.884624]\nJul 21 11:26:35 bubba [\u003cffffffffa003f2a6\u003e] fcoe_interface_cleanup+0x188/0x193 [fcoe]\nJul 21 11:26:35 bubba [  223.885163]\nJul 21 11:26:35 bubba [\u003cffffffffa003f303\u003e] fcoe_destroy+0x52/0x72 [fcoe]\nJul 21 11:26:35 bubba [  223.885502]\nJul 21 11:26:35 bubba [\u003cffffffffa00340a4\u003e] fcoe_transport_destroy+0xab/0x110 [libfcoe]\nJul 21 11:26:35 bubba [  223.886045]\nJul 21 11:26:35 bubba [\u003cffffffff81056153\u003e] param_attr_store+0x43/0x62\nJul 21 11:26:35 bubba [  223.886385]\nJul 21 11:26:35 bubba [\u003cffffffff8105602d\u003e] module_attr_store+0x21/0x25\nJul 21 11:26:35 bubba [  223.886728]\nJul 21 11:26:35 bubba [\u003cffffffff8114c23d\u003e] sysfs_write_file+0x103/0x13f\nJul 21 11:26:35 bubba [  223.887068]\nJul 21 11:26:35 bubba [\u003cffffffff810f3e7b\u003e] vfs_write+0xa7/0xfa\nJul 21 11:26:35 bubba [  223.887406]\nJul 21 11:26:35 bubba [\u003cffffffff810f4073\u003e] sys_write+0x45/0x69\nJul 21 11:26:35 bubba [  223.887742]\nJul 21 11:26:35 bubba [\u003cffffffff815252bb\u003e] system_call_fastpath+0x16/0x1b\nJul 21 11:26:35 bubba [  223.888083]\nJul 21 11:26:35 bubba [  223.888084] other info that might help us debug this:\nJul 21 11:26:35 bubba [  223.888085]\nJul 21 11:26:35 bubba [  223.888879]  Possible unsafe locking scenario:\nJul 21 11:26:35 bubba [  223.888881]\nJul 21 11:26:35 bubba [  223.889411]        CPU0                    CPU1\nJul 21 11:26:35 bubba [  223.889683]        ----                    ----\nJul 21 11:26:35 bubba [  223.889955]   lock(\nJul 21 11:26:35 bubba rtnl_mutex\nJul 21 11:26:35 bubba );\nJul 21 11:26:35 bubba [  223.890349]                                lock(\nJul 21 11:26:35 bubba (\u0026fip-\u003erecv_work)\nJul 21 11:26:35 bubba );\nJul 21 11:26:35 bubba [  223.890751]                                lock(\nJul 21 11:26:35 bubba rtnl_mutex\nJul 21 11:26:35 bubba );\nJul 21 11:26:35 bubba [  223.891154]   lock(\nJul 21 11:26:35 bubba (\u0026fip-\u003erecv_work)\nJul 21 11:26:35 bubba );\nJul 21 11:26:35 bubba [  223.891549]\nJul 21 11:26:35 bubba [  223.891550]  *** DEADLOCK ***\nJul 21 11:26:35 bubba [  223.891551]\nJul 21 11:26:35 bubba [  223.892347] 6 locks held by lockdeptest.sh/3464:\nJul 21 11:26:35 bubba [  223.892621]  #0:\nJul 21 11:26:35 bubba (\u0026buffer-\u003emutex\nJul 21 11:26:35 bubba ){+.+.+.}\nJul 21 11:26:35 bubba , at:\nJul 21 11:26:35 bubba [\u003cffffffff8114c171\u003e] sysfs_write_file+0x37/0x13f\nJul 21 11:26:35 bubba [  223.893359]  #1:\nJul 21 11:26:35 bubba (s_active\nJul 21 11:26:35 bubba ){++++.+}\nJul 21 11:26:35 bubba , at:\nJul 21 11:26:35 bubba [\u003cffffffff8114c21c\u003e] sysfs_write_file+0xe2/0x13f\nJul 21 11:26:35 bubba [  223.894094]  #2:\nJul 21 11:26:35 bubba (param_lock\nJul 21 11:26:35 bubba ){+.+.+.}\nJul 21 11:26:35 bubba , at:\nJul 21 11:26:35 bubba [\u003cffffffff81056146\u003e] param_attr_store+0x36/0x62\nJul 21 11:26:35 bubba [  223.894835]  #3:\nJul 21 11:26:35 bubba (ft_mutex\nJul 21 11:26:35 bubba ){+.+.+.}\nJul 21 11:26:35 bubba , at:\nJul 21 11:26:35 bubba [\u003cffffffffa0034017\u003e] fcoe_transport_destroy+0x1e/0x110 [libfcoe]\nJul 21 11:26:35 bubba [  223.895574]  #4:\nJul 21 11:26:35 bubba (fcoe_config_mutex\nJul 21 11:26:35 bubba ){+.+.+.}\nJul 21 11:26:35 bubba , at:\nJul 21 11:26:35 bubba [\u003cffffffffa003f2c9\u003e] fcoe_destroy+0x18/0x72 [fcoe]\nJul 21 11:26:35 bubba [  223.896314]  #5:\nJul 21 11:26:35 bubba (rtnl_mutex\nJul 21 11:26:35 bubba ){+.+.+.}\nJul 21 11:26:35 bubba , at:\nJul 21 11:26:35 bubba [\u003cffffffff813e8233\u003e] rtnl_lock+0x12/0x14\nJul 21 11:26:35 bubba [  223.897047]\nJul 21 11:26:35 bubba [  223.897048] stack backtrace:\nJul 21 11:26:35 bubba [  223.897578] Pid: 3464, comm: lockdeptest.sh Not tainted 3.0.0-rc7+ #1\nJul 21 11:26:35 bubba [  223.897853] Call Trace:\nJul 21 11:26:35 bubba [  223.898128]  [\u003cffffffff81068e16\u003e] print_circular_bug+0x1f8/0x209\nJul 21 11:26:35 bubba [  223.898416]  [\u003cffffffff8106b93e\u003e] __lock_acquire+0xb1d/0xe2c\nJul 21 11:26:35 bubba [  223.898699]  [\u003cffffffff810531f1\u003e] ? wait_on_cpu_work+0xe6/0xe6\nJul 21 11:26:35 bubba [  223.898982]  [\u003cffffffff8106c14a\u003e] lock_acquire+0xd2/0xf7\nJul 21 11:26:35 bubba [  223.899263]  [\u003cffffffff810531f1\u003e] ? wait_on_cpu_work+0xe6/0xe6\nJul 21 11:26:35 bubba [  223.899547]  [\u003cffffffff8104a097\u003e] ? mod_timer+0x8f/0x98\nJul 21 11:26:35 bubba [  223.899827]  [\u003cffffffff81053241\u003e] wait_on_work+0x50/0xbd\nJul 21 11:26:35 bubba [  223.900108]  [\u003cffffffff810531f1\u003e] ? wait_on_cpu_work+0xe6/0xe6\nJul 21 11:26:35 bubba [  223.900390]  [\u003cffffffff81053b32\u003e] __cancel_work_timer+0xb6/0xf4\nJul 21 11:26:35 bubba [  223.900671]  [\u003cffffffff81053b8a\u003e] cancel_work_sync+0xb/0xd\nJul 21 11:26:35 bubba [  223.900953]  [\u003cffffffffa00317e6\u003e] fcoe_ctlr_destroy+0x1d/0x67 [libfcoe]\nJul 21 11:26:35 bubba [  223.901237]  [\u003cffffffffa003e51e\u003e] fcoe_interface_release+0x21/0x45 [fcoe]\nJul 21 11:26:35 bubba [  223.901522]  [\u003cffffffffa003e4fd\u003e] ? fcoe_enable+0x6b/0x6b [fcoe]\nJul 21 11:26:35 bubba [  223.901803]  [\u003cffffffff811fbbe6\u003e] kref_put+0x43/0x4d\nJul 21 11:26:35 bubba [  223.902083]  [\u003cffffffffa003ebba\u003e] fcoe_interface_put+0x17/0x19 [fcoe]\nJul 21 11:26:35 bubba [  223.902367]  [\u003cffffffffa003f2a6\u003e] fcoe_interface_cleanup+0x188/0x193 [fcoe]\nJul 21 11:26:35 bubba [  223.902653]  [\u003cffffffff8151dd36\u003e] ? mutex_lock_nested+0x3b/0x40\nJul 21 11:26:35 bubba [  223.902939]  [\u003cffffffffa003f303\u003e] fcoe_destroy+0x52/0x72 [fcoe]\nJul 21 11:26:35 bubba [  223.903223]  [\u003cffffffffa00340a4\u003e] fcoe_transport_destroy+0xab/0x110 [libfcoe]\nJul 21 11:26:35 bubba [  223.903508]  [\u003cffffffff81056153\u003e] param_attr_store+0x43/0x62\nJul 21 11:26:35 bubba [  223.903792]  [\u003cffffffff8105602d\u003e] module_attr_store+0x21/0x25\nJul 21 11:26:35 bubba [  223.904075]  [\u003cffffffff8114c23d\u003e] sysfs_write_file+0x103/0x13f\nJul 21 11:26:35 bubba [  223.904357]  [\u003cffffffff810f3e7b\u003e] vfs_write+0xa7/0xfa\nJul 21 11:26:35 bubba [  223.904642]  [\u003cffffffff810f51d6\u003e] ? fget_light+0x35/0x96\nJul 21 11:26:35 bubba [  223.904923]  [\u003cffffffff810f4073\u003e] sys_write+0x45/0x69\nJul 21 11:26:35 bubba [  223.905204]  [\u003cffffffff815252bb\u003e] system_call_fastpath+0x16/0x1b\nJul 21 11:26:36 bubba [  223.964438] ixgbe 0000:05:00.0: eth3: detected SFP+: 5\nJul 21 11:26:37 bubba [  225.196702] ixgbe 0000:05:00.0: eth3: NIC Link is Up 10 Gbps, Flow Control: None\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nReviewed-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "d834895c41d34b64a1923fa631e6a64f763ed31c",
      "tree": "94a3311fed06686b4e327c894fdd1dce78b69cd9",
      "parents": [
        "3f8744d147375aca902de7a9f2632a89872565f4"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Thu Aug 04 17:38:49 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sat Aug 27 08:35:46 2011 -0600"
      },
      "message": "[SCSI] fcoe: Move common functions to fcoe_transport library\n\nExport fcoe_get_wwn, fcoe_validate_vport_create and fcoe_wwn_to_str so that all\nLLDs can use these common function.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "165c68d5a291537eaf2d3821a19335c9ec100ba6",
      "tree": "4ea485969cad853819e7034398898ce0b0bff9eb",
      "parents": [
        "94b06fdbfce46f3126810e30698bdf010617179b"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Wed Aug 24 22:28:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:38:43 2011 -0400"
      },
      "message": "fcoe: convert to SKB paged frag API.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Robert Love \u003crobert.w.love@intel.com\u003e\nCc: \"James E.J. Bottomley\" \u003cJBottomley@parallels.com\u003e\nCc: devel@open-fcoe.org\nCc: linux-scsi@vger.kernel.org\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d272281c390eb6c3f1e70ed0337c9e619d99cd9c",
      "tree": "020ba7b16f20599c9d7cf1cca0aa4d11d22c494c",
      "parents": [
        "980f5156ab2d75e0462f3811e8a92acd06b0577b"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Jul 27 15:11:10 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu Jul 28 12:14:29 2011 +0400"
      },
      "message": "[SCSI] fcoe: cleanup cpu selection for incoming requests\n\nCleanup to:\n\n- have selection for all types of frames, not just FCP.\n- remove redundant cpu_online check once fcoe_select_cpu called\n  as this is not required since later code flow check for offlined\n  cpu.\n- Simplify fcoe_select_cpu() by removing unnecessary checks to\n  skip curr_cpu, this also fixes possibly infinite loop in case\n  of curr_cpu is the only cpu while iterating in the loop.\n\nThis cleanup mainly applies to target as incoming request are\nmostly for target, therefore Kiran has verified the patch\nwith target also.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nTested-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "980f5156ab2d75e0462f3811e8a92acd06b0577b",
      "tree": "bb54a2b9093f817ddb5a8e04cd584f6df8133188",
      "parents": [
        "320036e083bb2a0f60820b51cb9f0bfa651ee62f"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Jul 27 15:11:05 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu Jul 28 12:13:51 2011 +0400"
      },
      "message": "[SCSI] fcoe: add fip retry to avoid missing critical keep alive\n\nUse pending queue to retry FIP frame in case its tx\nfails and use common pending queue for both fcoe\nand fip frames using fcoe_port_send.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "324f667833d7ddd9501ed8c0e3ec5754ddb1b695",
      "tree": "1dbc7ce23d6c8f3c13f6c977d572be90fb95051b",
      "parents": [
        "6f06e3a7b2f2d840d42a0c2b9906f444e8f2eba6"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Jul 27 15:10:39 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu Jul 28 12:10:35 2011 +0400"
      },
      "message": "[SCSI] libfc, fcoe: ignore rx frame with wrong xid info\n\nDrop the rx frame having xid with wrong cpu info\nor received with xid  not matching to our xid.\n\nNot dropping such frame is causing panic as\nthat causes accessing data struct beyond their\nbounds.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "302ff541d981e58cd455fdbd6a90bd74d0f2109b",
      "tree": "87fadaa4972189c6deef5a02eb2719e2b093d268",
      "parents": [
        "9b35baae3a62c33a73a6fd8bf4d1b6c4e3b5b5f3"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Wed Jul 27 15:10:23 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu Jul 28 12:08:55 2011 +0400"
      },
      "message": "[SCSI] fcoe: remove unused ptype field in fcoe_rcv_info\n\nThere is no need to cache the ptype in fcoe_rcv_info struct as it is never\nused anywhere.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b2085a4efc1a00375b77d5cbfe73a549c9d7d65b",
      "tree": "822cc056b3240e00fd485dd349081a9d8758202c",
      "parents": [
        "9b7d1613a9060b7c82ac7e8e7cbee8c2392925c2"
      ],
      "author": {
        "name": "Neerav Parikh",
        "email": "neerav.parikh@intel.com",
        "time": "Mon Jun 20 16:59:51 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Jun 29 16:33:25 2011 -0500"
      },
      "message": "[SCSI] fcoe: Rearrange fcoe port and NPIV port cleanup\n\nWhen NPIV port destroy handler is called it does not do all the cleanup\nrequired for the given NPIV port. This was happening as some of the\nlport cleanup moved to fcoe_interface_cleanup() routine, which is not\ncalled as part of the vport delete process.\n\nThis patch rearranges the sequence in which the fcoe_if_destory() and\nfcoe_interface_cleanup() functions are being called from various places\nin the code. It now matches the sequence they are constructed during the\ncreate process for both N_Port as well as NPIV port.\n\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Neerav Parikh \u003cNeerav.Parikh@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "29bdd2bb3e48c742e6b5a0be2ff2fa00e9838fe0",
      "tree": "0c0726bae03a45e72127dac08f09b62aa6314d90",
      "parents": [
        "064287eee372e8a2effe77fb909a40da9e7a1fd7"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Mon Jun 20 16:59:25 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Jun 29 16:30:02 2011 -0500"
      },
      "message": "[SCSI] fcoe: Amends previous patch, Round-robin based selection of CPU for post processing of incoming request for FCoE target\n\nProblem: Selection of RX queue on target is based on RX-ID. FCoE used\n8 Net Rx queues.  HW post the packets based on rx_id %\nnum_rx_queue. Due to this has based filtering, only one CPU is busy\nservicing incoming request including post-processing of incoming\nrequest. This is gating factor because\n\n1. Only one CPU is utilized 100% while others CPUs are not used at all.\n\n2. CPU which received request assign \"sequence\u0027 by selecting exchange\n   from per CPU pool (num_ddp_context / num_online_cpus,\n   approxi.). Due to which if if rate of incoming request is higher\n   than rate of servicing request, existing code path end of sending\n   \"BUSY\" response (SAM_STAT_BUSY because unable to allocate\n   exchange).\n\nFix: Fan-out incoming request to all other CPUs excluding the CPU\nwhich is receiving all incoiming request. This path also addresses,\nselecting same CPU based on rx_id from received frame for completion\nof the request such as \"releasing exchange to the per CPU Pool\". This\nfix is applicable for FCoE target since initiator code path already\ntakes care of selecting CPU to complete post-processing of request\nonce OX_ID is assigned.\n\nNotes: N/A\n\nDependencines: N/A\n\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "064287eee372e8a2effe77fb909a40da9e7a1fd7",
      "tree": "0cfda86145d0bae9dedc70206c1ff1f4bb773480",
      "parents": [
        "1ff9918b625457ce20d450d00f9ed0a12ba191b7"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Mon Jun 20 16:59:20 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Jun 29 16:29:36 2011 -0500"
      },
      "message": "[SCSI] fcoe: Round-robin based selection of CPU for post-processing of incoming commands\n\nProblem: Earlier mechanism of selection of CPU was, to select the same CPU\nwhich has received incoming request. Hence in case of rx_id \u003d 0xFFFF,\nrequest was always posted to same NetRx queue, hence only 1 CPU is utilized\nfor handling the command. It was also causing problem of \"running out of\nexchanges from per CPU pool of exchanges (in case of DDP offload)\n\nFix: Implemented new algo. to select CPU for post-processing of\nincoming commands when rx_id is unknown. This is simple Round robin\nalgo. for CPU selection.\n\nNotes/Dependencies: N/A\n\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "1ff9918b625457ce20d450d00f9ed0a12ba191b7",
      "tree": "221a8ce7f34b6b98bd4f29c7eeefdb115a2618c1",
      "parents": [
        "71f894915aa6680dbce2ff727fb9237c4f7ac373"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Mon Jun 20 16:59:15 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Jun 29 16:29:24 2011 -0500"
      },
      "message": "[SCSI] fcoe: Unable to select the exchangeID from offload pool for storage targets\n\nProblem: When initiator sends write command to target, target tries to\nassign new sequence. It allocates new exchangeID (RX_ID)\nalways from non-offloaded pool (Non-offload EMA)\n\nFix: Enhanced fcoe_oem_match routine to look at F_CTL flags and if it\nis exchange responder and command type is WRITEDATA, then function\nreturns TRUE instead of FALSE. This function is used to determine\nwhich pool to use (offload pool of exchange is used only if this\nfunction returns TRUE).\n\nTechnical Notes: N/A\n\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "71f894915aa6680dbce2ff727fb9237c4f7ac373",
      "tree": "172d9ae8a36aa7cbc732a9f493aea35f2d0ba2c8",
      "parents": [
        "33dc362b7f155a584688bcab2facdd4d21232001"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Mon Jun 20 16:59:10 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Jun 29 16:28:41 2011 -0500"
      },
      "message": "[SCSI] fcoe: support ndo_fcoe_ddp_target() for DDP in FCoE targe\n\nAdd ddp_target() support to the Open-FCoE sw fcoe hba driver (fcoe.ko).\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "d85e607b344d8fcd644456508a5bbe63ce011221",
      "tree": "9f5af29a45cd5972fb824b4858521b75ff901558",
      "parents": [
        "8467b96c035a45418c5db2619f396b7131b4efa8"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Mon May 16 16:46:02 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 12:37:35 2011 -0400"
      },
      "message": "[SCSI] libfcoe: Remove unnecessary module state checks\n\nlibfcoe\u0027s interface consists of create, destroy, enable,\ndisable and create_vn2vn. These are currently module\nparamaters added durring the module initialization. A\nconcern arose that the module parameters were being added\nwith write permissions before the module had completed\ninitialization. The following code was added to each\nsysfs store file.\n\n* Make sure the module has been initialized, and is not about to be\n* removed.  Module parameter sysfs files are writable before the\n* module_init function is called and after module_exit.\n*/\nif (THIS_MODULE-\u003estate !\u003d MODULE_STATE_LIVE)\n    goto out_nodev;\n\nThis check was called out as unhelpful as the module can\ngo dead at any time and therefore its state isn\u0027t a reliable\nthing to look at as a sign of stability and initialization\ncompletion. Also, that functional interfaces like these\nshould be added after module initialization.\n\nThis patch removes the unnecessary checks and hopes to\ndisprove the concern about initialization ordering.\n\nRecent fcoe transport rework changes now require fcoe\ntransports to register with libfcoe before any operation\ncan take place. libfcoe may access some static variables\nbut nothing that could cause a problem. Once a fcoe transport\nis registered, libfcoe is usable and any interface calls will\nbe functional.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "bdf252183e58654fcceedbf3fdcfd878b9e4f2d6",
      "tree": "b02db1a5baab6cde3fb77f2e9c7c1c302e996ce1",
      "parents": [
        "c051ad2e57e379e07e4ec28b2a54eeb0d04c5d59"
      ],
      "author": {
        "name": "Neerav Parikh",
        "email": "Neerav.Parikh@intel.com",
        "time": "Mon May 16 16:45:29 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 12:36:29 2011 -0400"
      },
      "message": "[SCSI] fcoe: Prevent creation of an NPIV port with duplicate WWPN\n\nThis patch adds a validation step before allowing creation of a new NPIV port.\nIt checks whether the WWPN passed for the new NPIV port to be created is unique\nfor the given physical port.\n\nSigned-off-by: Neerav Parikh \u003cNeerav.Parikh@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "c051ad2e57e379e07e4ec28b2a54eeb0d04c5d59",
      "tree": "e210bbdc9319229f36988448b65139b698d132af",
      "parents": [
        "4f788dce0baf44295a8d9708d3f124587158c061"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Mon May 16 16:45:24 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 12:36:17 2011 -0400"
      },
      "message": "[SCSI] libfcoe: Incorrect CVL handling for NPIV ports\n\nHost doesnt handle CVL to NPIV instantiated ports correctly.\n- As per FC-BB-5 Rev 2 CVLs with no VN_Port descriptors shall be treated as\n  implicit logout of ALL vn_ports.\n- CVL for NPIV ports should be handled before physical port even if descriptor\n  for physical port appears before NPIV ports\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "f04ca1b65480df9ecbaaa797e62b063387429410",
      "tree": "31f3c58011bf0447c0a93698d3e7bba4a746c48d",
      "parents": [
        "f2817ec2e0faece03959888050730ed35e5f2bd2"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Apr 01 16:06:45 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 01 10:20:59 2011 -0500"
      },
      "message": "[SCSI] fcoe: have fcoe log off and lport destroy before ndo_fcoe_disable\n\nCurrently fcoe interface cleanup is done after ndo_fcoe_disable\nand that prevents logoff going out to the peer, so this patch\nmoves all netdev cleanup and its releasing inside\nfcoe_interface_cleanup to have log off before ndo_fcoe_disable\ndisables the fcoe.\n\nThis patch also fixes asymmetric rtnl locking around fcoe_if_destroy,\nas currently this function requires rtnl held by its caller\nand then have this func drops the lock, instead now don\u0027t have\nany processing under rtnl inside fcoe_if_destroy, this required\nmoving few func to get build working again.\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": "4ef7fb150f3002c5e494b2a327fa532bf8fd0927",
      "tree": "37035217c822704d3f5fc28e9f401bedc571f846",
      "parents": [
        "a01a5a5789287113cd6bb25c79cf2a826874c918"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Apr 01 16:06:30 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 01 10:20:50 2011 -0500"
      },
      "message": "[SCSI] libfcoe: fix wrong comment in fcoe_transport_detach\n\nfix typo of \u0027_attach\u0027 -\u003e \u0027_detach\u0027 in the comment.\n\nReported-by: Frank Zhang \u003cfrank_1.zhang@intel.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@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": "a01a5a5789287113cd6bb25c79cf2a826874c918",
      "tree": "f113104d04d3df77041c866942aa304319ec0d72",
      "parents": [
        "69922fcd534cfc82e2d44374fa219e7c3b27c492"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Apr 01 16:06:25 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 01 10:20:45 2011 -0500"
      },
      "message": "[SCSI] libfcoe: fix possible buffer overflow in fcoe_transport_show\n\npossible buffer overflow in fcoe_transport_show when reaching the end of\nbuffer and crossing PAGE_SIZE boundary.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Tomas Henzl \u003cthenzl@redhat.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@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": "69922fcd534cfc82e2d44374fa219e7c3b27c492",
      "tree": "ac85a2b360a140d32f5c6f4d94c2f6cc5e9d2c07",
      "parents": [
        "9c8cce8e416b3286720379b5efa1c7fa81b2ec36"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Apr 01 16:06:19 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 01 10:20:42 2011 -0500"
      },
      "message": "[SCSI] libfcoe: clean up netdev mapping properly when the transport goes away\n\nWhen rmmoving the underlying fcoe transport driver module by force when\nit\u0027s attached and in use, the correspoding netdev mapping should be\ncleaned up properly as well, otherwise the lookup for a given netdev\nfor the transport would still return non NULL pointer, causing \"unable\nto handle paging request\" bug.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@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": "63ce2499947683dcc026373e24a4cb5a9d086e7d",
      "tree": "abafb4f3a79e8c7a7a3af9901a966942f4bd181a",
      "parents": [
        "38b34aca30ef1296bbc552505d80c69f274f0872"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Fri Apr 01 16:06:09 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 01 10:20:10 2011 -0500"
      },
      "message": "[SCSI] esp, scsi_tgt_lib, fcoe: use list_move() instead of list_del()/list_add() combination\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "38b34aca30ef1296bbc552505d80c69f274f0872",
      "tree": "72f947566e791871997a5448a19f6dc05d1623ed",
      "parents": [
        "ee5df628c1d7f3ff4db3174f7c00873c94f616d9"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Apr 01 16:06:04 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 01 10:19:05 2011 -0500"
      },
      "message": "[SCSI] fcoe: remove unnecessary module state check\n\nThe check of module state being MODULE_STATE_LIVE is no longer needed for the\nindividual fcoe transport driver, e.g., fcoe.ko, as sysfs entries now go to\nlibfcoe now, if it reaches fcoe.ko, it has to be already registered. The module\nstate check for libfcoe will guard the possible race condition of sysfs being\nwritable before module_init function is called and after module_exit.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@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": "ee5df628c1d7f3ff4db3174f7c00873c94f616d9",
      "tree": "1b1410641ec842c21b4a271bc4b72b79e83ad765",
      "parents": [
        "b3960afe0477781c84faa2e92dfb00016d6d4e30"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Apr 01 16:05:59 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 01 10:19:03 2011 -0500"
      },
      "message": "[SCSI] fcoe: Remove mutex_trylock/restart_syscall checks\n\nThese checks were initially added to avoid a lockdep\nfalse positive when dealing with the s_active, rtnl\nand fcoe_config_mutex mutexes. Recently the create,\ndestroy, enable and disable sysfs entries were moved\nfrom fcoe.ko to libfcoe.ko. With this change the mutex\nusage was shuffled around and the lockdep false\npositive stopped happening. We can now remove these\nchecks.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b3960afe0477781c84faa2e92dfb00016d6d4e30",
      "tree": "b83b296f74c097e1ec005681e807f8de68416c80",
      "parents": [
        "5c2dce26fd670607b5ff04f18efa38739805f6d6"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Apr 01 16:05:53 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 01 10:18:59 2011 -0500"
      },
      "message": "[SCSI] libfcoe: Remove mutex_trylock/restart_syscall checks\n\nThis code was incorrectly ported from fcoe.c when the\nfcoe transport infrastructure was put into place. It\nwas originally needed in fcoe.c when dealing with\nthe rtnl mutex. In that code it was only needed to\navoid a lockdep false positive. In libfcoe we don\u0027t\ndeal with the rtnl mutex, we don\u0027t get the lockdep\nfalse positive and therefore we don\u0027t need these\nchecks.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8ae6daca85c8bbd6a32c382db5e2a2a989f8bed2",
      "tree": "0c85476c2af6568c3d3a73a960d582d2f91a1256",
      "parents": [
        "36504605432996590f889e33d47e2d9c581f7569"
      ],
      "author": {
        "name": "David Decotigny",
        "email": "decot@google.com",
        "time": "Wed Apr 27 18:32:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 14:01:30 2011 -0700"
      },
      "message": "ethtool: Call ethtool\u0027s get/set_settings callbacks with cleaned data\n\nThis makes sure that when a driver calls the ethtool\u0027s\nget/set_settings() callback of another driver, the data passed to it\nis clean. This guarantees that speed_hi will be zeroed correctly if\nthe called callback doesn\u0027t explicitely set it: we are sure we don\u0027t\nget a corrupted speed from the underlying driver. We also take care of\nsetting the cmd field appropriately (ETHTOOL_GSET/SSET).\n\nThis applies to dev_ethtool_get_settings(), which now makes sure it\nsets up that ethtool command parameter correctly before passing it to\ndrivers. This also means that whoever calls dev_ethtool_get_settings()\ndoes not have to clean the ethtool command parameter. This function\nalso becomes an exported symbol instead of an inline.\n\nAll drivers visible to make allyesconfig under x86_64 have been\nupdated.\n\nSigned-off-by: David Decotigny \u003cdecot@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "c55d267de274d308927b60c3e740c1a826832317",
      "tree": "21b53a8c725d9f9650f60d94b349459d5b8dae10",
      "parents": [
        "61ef46fd45c3c62dc7c880a45dd2aa841b9af8fb",
        "bc898c97f7ba24def788d9f80786cf028a197122"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 17:54:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 17:54:40 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (170 commits)\n  [SCSI] scsi_dh_rdac: Add MD36xxf into device list\n  [SCSI] scsi_debug: add consecutive medium errors\n  [SCSI] libsas: fix ata list corruption issue\n  [SCSI] hpsa: export resettable host attribute\n  [SCSI] hpsa: move device attributes to avoid forward declarations\n  [SCSI] scsi_debug: Logical Block Provisioning (SBC3r26)\n  [SCSI] sd: Logical Block Provisioning update\n  [SCSI] Include protection operation in SCSI command trace\n  [SCSI] hpsa: fix incorrect PCI IDs and add two new ones (2nd try)\n  [SCSI] target: Fix volume size misreporting for volumes \u003e 2TB\n  [SCSI] bnx2fc: Broadcom FCoE offload driver\n  [SCSI] fcoe: fix broken fcoe interface reset\n  [SCSI] fcoe: precedence bug in fcoe_filter_frames()\n  [SCSI] libfcoe: Remove stale fcoe-netdev entries\n  [SCSI] libfcoe: Move FCOE_MTU definition from fcoe.h to libfcoe.h\n  [SCSI] libfc: introduce __fc_fill_fc_hdr that accepts fc_hdr as an argument\n  [SCSI] fcoe, libfc: initialize EM anchors list and then update npiv EMs\n  [SCSI] Revert \"[SCSI] libfc: fix exchange being deleted when the abort itself is timed out\"\n  [SCSI] libfc: Fixing a memory leak when destroying an interface\n  [SCSI] megaraid_sas: Version and Changelog update\n  ...\n\nFix up trivial conflicts due to whitespace differences in\ndrivers/scsi/libsas/{sas_ata.c,sas_scsi_host.c}\n"
    },
    {
      "commit": "cc8bdf062318e76277dd76970ed58930d49888b0",
      "tree": "3ffe68c2602573829c2bb187a1f340069a0925b9",
      "parents": [
        "2ce8c07d63cf860d6869eb4948522a0fef5ccc19"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Mar 01 20:05:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 14 16:51:46 2011 -0700"
      },
      "message": "fcoe: correct checking for bonding\n\nCheck for bonding master and refuse to use that.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nAcked-by: Robert Love \u003crobert.w.love@intel.com\u003e\nAcked-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2f809528a3534ea295b6d855c33cbbb3369d8c9",
      "tree": "a8684bca5fc993b2b2ac97bb27490b27d790a50f",
      "parents": [
        "f2f96d20708c53c6825f842beb7bed06f5f15aca"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Feb 25 15:03:28 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 28 18:34:18 2011 -0600"
      },
      "message": "[SCSI] fcoe: fix broken fcoe interface reset\n\nReset using \"fcoeadm -r\" also needs to restart FIP before\ndoing libfc lport reset, this is needed for new switch firmware\nrequiring FIP solicitation before doing FLOGI again during reset.\nSo this patch does this by doing fcoe_ctlr_link_down and then\nfcoe_ctlr_link_up to reset the interface.\n\nThe fcoe_ctlr_link_down call path also does lport reset\nand then fcoe_ctlr_link_up re-starts the fabric login after\ndoing FIP solicitation first to get reset feature working\nagain.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@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": "f2f96d20708c53c6825f842beb7bed06f5f15aca",
      "tree": "d1ebf5b2c1d31107024853ddf90bfe7a596e0b50",
      "parents": [
        "70be6344ea1ad9110a5b422aeab47a3fbb01ba7f"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri Feb 25 15:03:23 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 28 18:34:03 2011 -0600"
      },
      "message": "[SCSI] fcoe: precedence bug in fcoe_filter_frames()\n\nNegate has higher precedence than bitwise AND.  FCPHF_CRC_UNCHECKED is\n0x1 so the original code is equivalent to: if (!fr_flags(fp)) { ...\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.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": "70be6344ea1ad9110a5b422aeab47a3fbb01ba7f",
      "tree": "a0432b0fcd56a708f81d1d680dba264dbddc7f72",
      "parents": [
        "f4d2b2b6ea8abd0df72a31b4724522a277af6a6c"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Feb 25 15:03:17 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 28 18:33:46 2011 -0600"
      },
      "message": "[SCSI] libfcoe: Remove stale fcoe-netdev entries\n\nWhen L2 driver is unloaded, libfcoe_destroy tries to access the fcoe\ntransport structure matching the netdev. However, since the netdev is\nunregistered by that time, it fails to do so. Hence the stale mappings\nexists in the fcoe-netdev list. Handle NETDEV_UREGISTER device\nnotification mechanism to remove the stale fcoe-netdev mapping.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.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": "f4d2b2b6ea8abd0df72a31b4724522a277af6a6c",
      "tree": "4f2b83225236dddf672837340fbfed360e9e491e",
      "parents": [
        "059f04d4aa60f89b7ad6ca118856f4cb59d9257f"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Feb 25 15:03:12 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 28 18:33:12 2011 -0600"
      },
      "message": "[SCSI] libfcoe: Move FCOE_MTU definition from fcoe.h to libfcoe.h\n\nboth fcoe and bnx2fc drivers can access the common definition of\nFCOE_MTU.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.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": "72fa396bf57b31e8e2a401a21a3a088c0cc6b043",
      "tree": "c4094d3f8db3265dd122952867c1e8ff4e6abb63",
      "parents": [
        "f31624831a79b9e3f129f6c3b0a1b83903a7b61e"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Feb 25 15:03:01 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 28 18:31:53 2011 -0600"
      },
      "message": "[SCSI] fcoe, libfc: initialize EM anchors list and then update npiv EMs\n\nEM anchors list initialization for only master port was not enough to\nkeep npiv working as described here:-\nhttps://lists.open-fcoe.org/pipermail/devel/2011-January/011063.html\n\nSo this patch moves fc_exch_mgr_list_clone to update npiv ports\nEMs once EM anchors list initialized.\n\nAlso some cleanup, no need to set lport \u003d NULL as that always\nget initialized later.\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": "8597ae8bfe35f5e438b00ba5df852e97ebe1ac23",
      "tree": "64020cecc7ef1bb2923109ed5afea58f59d9bcbe",
      "parents": [
        "2ca32b4848a865fb088e8c00af0dc194701c373a"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Jan 28 16:05:37 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:18:18 2011 -0600"
      },
      "message": "[SCSI] libfcoe: Move common code from fcoe to libfcoe module\n\nTo facilitate LLDDs to reuse the code, skb queue related functions are moved to\nlibfcoe, so that both fcoe and bnx2fc drivers can use them. The common structures\nfcoe_port, fcoe_percpu_s are moved to libfcoe. fcoe_port will now have an\nopaque pointer that points to corresponding driver\u0027s interface structure.\nAlso, fcoe_start_io and fcoe_fc_crc are moved to libfcoe.\n\nAs part of this change, fixed fcoe_start_io to return ENOMEM if\nskb_clone fails.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.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": "2ca32b4848a865fb088e8c00af0dc194701c373a",
      "tree": "935d1a9f72f7cf1d6642ae2b427ea73108b3d8e6",
      "parents": [
        "75a2792df296c77004a72056c76628a1f835bc93"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 28 16:05:32 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:17:50 2011 -0600"
      },
      "message": "[SCSI] fcoe: use dedicated workqueue instead of system_wq\n\nfcoe uses the system_wq to destroy ports and the work items need to be\nflushed before the driver is unloaded.  As the work items free the\ncontaining data structure, they can\u0027t be flushed directly.  The\nworkqueue should be flushed instead.\n\nAlso, the destruction works can be chained - ie. destruction of a port\nmay lead to destruction of another port where the work item for the\nformer queues the work for the latter.  Currently, the depth of chain\ncan be at most two and fcoe_exit() makes sure everything is complete\nby calling flush_scheduled_work() twice.\n\nWith commit c8efcc25 (workqueue: allow chained queueing during\ndestruction), destroy_workqueue() can take care of chained works on\nworkqueue destruction.  Add and use fcoe_wq instead.  Simply\ndestroying fcoe_wq on driver unload takes care of flushing.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "78a582463c1e3a262aeaf2a291e06a93a7b34212",
      "tree": "5f1a0f7dcf2e2c4d2c8dbf77a3a6a46fa0c8328f",
      "parents": [
        "8ca86f84dd5fc881012b2940ce4eab1fa57680e5"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Jan 28 16:05:16 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:07:33 2011 -0600"
      },
      "message": "[SCSI] fcoe: convert fcoe.ko to become an fcoe transport provider driver\n\nRemove the existing sysfs entry points of the fcoe.ko module parameters that\nare used to create/destroy/enable/disable an FCoE instance, rather, use the\nnewly added fcoe transport code to attach itself as an FCoE transport provider\nwhen fcoe.ko gets loaded. There is no functionality change on the logic of\nfcoe interacts with upper libfc and lower netdev. The fcoe transport only acts\nas thin layer to provide a unified interface for all fcoe transport providers\nso all FCoE instances on any network interfaces from all vendors can be\nmanaged through the same Open-FCoE.org\u0027s user space tool package, which also\nhas full DCB support.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.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": "8ca86f84dd5fc881012b2940ce4eab1fa57680e5",
      "tree": "369a9dfb1a4b03c9fab258dfe5da8d38d7deafa4",
      "parents": [
        "e01efc33bc4a248b1f9bfb972e156c76125fc914"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Jan 28 16:05:11 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:07:11 2011 -0600"
      },
      "message": "[SCSI] fcoe: prepare fcoe for using fcoe transport\n\nPrepare the fcoe to convert it to use the newly added fcoe transport, making\nit as the default fcoe transport provider for libfcoe. This patch is to rename\nsome of the variables to avoid any confusing names later as now there are\nseveral transports in the same file.\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": "e01efc33bc4a248b1f9bfb972e156c76125fc914",
      "tree": "499ca811638666dd78ea0c8f1c55ec39aeeef962",
      "parents": [
        "0095a9213324a4466c10de98837a27ab1b7e72be"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Jan 28 16:05:06 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:06:52 2011 -0600"
      },
      "message": "[SCSI] libfcoe: include fcoe_transport.c into kernel libfcoe module\n\nNow we can include the fcoe_transport.c to the build of the kernel libfcoe\nmodule. Move the module information to fcoe_transport, and it will have\nall the module parameters later for the create/destroy/enable/disable of an\nFCoE instance.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.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": "0095a9213324a4466c10de98837a27ab1b7e72be",
      "tree": "e9a397a0ecc45362571183ea876bbf4834ec940f",
      "parents": [
        "fdecf31b7c7b9bb79516344884388f660fd5d5a7"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Jan 28 16:05:00 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:06:25 2011 -0600"
      },
      "message": "[SCSI] libfcoe: rename libfcoe.c to fcoe_cltr.c for the coming fcoe_transport.c\n\nThe existing libfcoe.c is mostly for FIP support, rename it to reflect that\nfact and so we can add fcoe_transport.c to the make file to include both\ninto the libfcoe kernel module.\n\n[ Minor modifications by Robert Love converting a few\n  \"__attribute__((packed))\" modifiers to \"__packed\" to remove new\n  checkpatch.pl WARNINGS ]\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": "fdecf31b7c7b9bb79516344884388f660fd5d5a7",
      "tree": "9112929117f8b23de21c9573fae90b56b927366f",
      "parents": [
        "0ade7d290b6aa8b1626a4077b853c02cd12415c2"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Jan 28 16:04:55 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:06:06 2011 -0600"
      },
      "message": "[SCSI] libfcoe: add implementation to support fcoe transport\n\nAdd the new fcoe_transport.c file that implements basic fcoe transport\ninterface. Eventually, the sysfs entries to create/destroy/enable/disable\nan FCoE instance will be coming to the fcoe transport layer, who does a\nlook-up to find the corresponding transport provide and pass the corresponding\naction over to the identified provider.\n\nThe fcoe.ko will become the default fcoe transport provider that can support\nFCoE on any given netdev interfaces, as the Open-FCoE.org\u0027s default software\nFCoE HBA solution. Any vendor specific FCoE HBA driver that is built on top\nof Open-FCoE\u0027s kernel stack of libfc \u0026 libfcoe as well as the user land tool\nof fcoe-utils can easily plug-in and start running FCoE on their network\ninterfaces. The fcoe.ko will be converted to act as the default provider if\nno vendor specific transport provider is found, as it is always added to the\nvery end of the list of attached transports.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.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": "21b7b2f557f4b105a4b7d739671d1ce6b867d3e6",
      "tree": "a1abdd2beb33e14dce0a69ed099a0f8f81a9dcd7",
      "parents": [
        "6c8cc1c003cee1c4290f5d8c684912d60354056a"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Jan 28 16:04:45 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:05:22 2011 -0600"
      },
      "message": "[SCSI] libfcoe: move logging macros into the local libfcoe.h header file\n\nlibfcoe kernel module debug macros will used by the fcoe transport code\nas well when later it gets added.\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": "52ee832195b0ae33f12e334e61cf43d1087f24d6",
      "tree": "253e53bbf292d3a33f3bcf6fdad82ef4fea5f052",
      "parents": [
        "7287fb9114096503eddfffb7b2ed691c809a6106"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@linux.intel.com",
        "time": "Fri Jan 28 16:03:52 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:00:04 2011 -0600"
      },
      "message": "[SCSI] fcoe: drop FCoE LOGO in FIP mode\n\nAllowing FCoE LOGO followed by CVL in this case prevents\nFIP login back to the FCF and then keeps lport offline,\nonly FIP LOGO and CLV needs to be processed while in\nFIP mode, therefore this patch drops FCoE LOGO in FIP mode.\n\nAdded fcoe_filter_frames() to filter out above mentioned LOGO\nin fcoe rx path along with other existing filtering in code\nfor bad CRC frames. Adding separate fcoe_filter_frames function\nhelped with better code indentations and if needed then same\nwill allow adding more filters at one place in future.\n\nThis LOGO drop is added after FCP frames passed up to avoid\nany additional checks on fast path for this.\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": "7287fb9114096503eddfffb7b2ed691c809a6106",
      "tree": "416689671a8c97792ef481f29b0e2031bbab789d",
      "parents": [
        "6da92d3463cd60f5b804475f70f659dc07331929"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Jan 28 16:03:47 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 10:59:30 2011 -0600"
      },
      "message": "[SCSI] fcoe: Fix module reference count for vports\n\nvports are not grabbing module references but are\nreleasing them. This causes the module reference count\nto decrement too many times and it wraps around past 0.\n\nThe solution is to do a module_put() in\nfcoe_interface_release() so that the reference is only\nreleased when the fcoe_interface is released. There is a\none-to-one relationship between the N_Port and the\nfcoe_interface, so the module reference will only be\ndropped when the N_Port is destroyed\n\nTo create symetry in the code this patch moves the\ntry_module_get() call into fcoe_interface_create(). This\nmeans that only the N_Port will grab a reference to the\nmodule when its corresponding fcoe_interface is created.\n\nThis patch also makes it so that the fcoe_interface_create()\nroutine encodes any error codes in the fcoe_interface\npointer returned. This way its caller, fcoe_create(), can\nreturn an accurate error code.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ba9cd5d095b42271588c20ccd6ddd561d0e4cc1e",
      "tree": "81b1f70e4a411c7e9d1415016a67e549394f430a",
      "parents": [
        "981c1154b240ee77133a478fcd3853ac18111672"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 30 16:20:12 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:24:34 2010 -0600"
      },
      "message": "[SCSI] libfcoe: change fip_select to return new FCF\n\nNeaten several calls to fip_select() by having it return the\npointer to the new FCF.\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": "981c1154b240ee77133a478fcd3853ac18111672",
      "tree": "5df76658bb23e1c5733715a5d6c369139f17dbea",
      "parents": [
        "9069f5c433e402be5707f37f3d0dfb376659c1e4"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 30 16:20:07 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:24:33 2010 -0600"
      },
      "message": "[SCSI] libfcoe: reorder FCF list to put latest advertiser first\n\nWhen there are several FCFs to choose from, the one most likely\nto accept a FLOGI on certian switches is the one that last\nanswered a multicast solicit.\n\nSo, when receiving an advertisement, move the FCF to the front\nof the list so that it gets chosen first among those with the\nsame priority.\n\nWithout this, more FLOGIs need to be sent in a test with\nmultiple FCFs and a switch in NPV mode, but it still\neventually finds one that accepts the FLOGI.\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": "9069f5c433e402be5707f37f3d0dfb376659c1e4",
      "tree": "0133510c70cb46c70bf30f821100a679b0777cd4",
      "parents": [
        "794d98e77f5901ceded697f1633463e88f078038"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 30 16:20:02 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:24:33 2010 -0600"
      },
      "message": "[SCSI] libfcoe: add debug message for FCF destination MAC\n\nWhen multiple FCFs to the same fabric exist, the debug messages\nall look alike.   Change the message to include the MAC address.\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": "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": "b69ae0ae3f322d9a6bc4e209049b5b6e193ad652",
      "tree": "87e5dc0b75fafdddeaaa6181469fcda53ea239a3",
      "parents": [
        "c47036a7cd378533495d8cc06a7cf8a881072a9d"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 30 16:19:51 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:24:32 2010 -0600"
      },
      "message": "[SCSI] libfcoe: fix checking of conflicting fabrics in fcoe_ctlr_select()\n\nThe check for conflicting fabrics in fcoe_ctlr_select()\nignores any FCFs that aren\u0027t usable.  This is a minor\nproblem now but becomes more pronounced after later patches.\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": "c47036a7cd378533495d8cc06a7cf8a881072a9d",
      "tree": "6c2cfa3216a04b23c0b0e623827fc39f57db576e",
      "parents": [
        "69316ee2e375c5af0cf1f8d2d30f9aa277f0b454"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 30 16:19:46 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:24:29 2010 -0600"
      },
      "message": "[SCSI] libfcoe: move some timer code to make it reusable.\n\nMove some of the code in fcoe_ctlr_timer_work() to\nfcoe_ctlr_select() so that it can be shared\nwith another function in a forthcoming 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": "69316ee2e375c5af0cf1f8d2d30f9aa277f0b454",
      "tree": "1bc29c06d5aa9e73f71db1a5dfe8527677b3a94e",
      "parents": [
        "b5fe5e953c65cd0ec4e9ffd001072700e5b89317"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 30 16:19:40 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:24:28 2010 -0600"
      },
      "message": "[SCSI] libfcoe: update FIP FCF announcements\n\nMove the announcement code to a separate function for reuse in\na forthcoming patch.\n\nFor messages regarding FCF timeout and selection, use the\npreviously-announced FCF MAC address (dest_addr) in the fcoe_ctlr struct.\nOnly print (announce) the FCF if it is new.   Print MAC for\ntimed-out or deselected FCFs.\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": "11aa99001afdbe5fe152e833aa1fea82b85dbeda",
      "tree": "19bf6c4767c558eef9595adb2616e1db81c8d007",
      "parents": [
        "0e9e3d3b155c35d5750805c2b8bb6d5b6e6a3bfb"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Nov 30 16:19:09 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:24:24 2010 -0600"
      },
      "message": "[SCSI] drivers/scsi/fcoe: Update WARN uses\n\nAdd missing newlines.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.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": "80e736f8a37bebeb5bff18f2aec31caab4104b8b",
      "tree": "748c079ac2d061a7404006ea8de7ced680cb44a0",
      "parents": [
        "12137f5c28284cc51b5f50932c8d02a5823fcd3c"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Tue Nov 30 16:18:07 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:24:18 2010 -0600"
      },
      "message": "[SCSI] libfc: fix NULL pointer dereference bug in fc_fcp_pkt_release\n\nThis happens when then tearing down the fcoe interface with active I/O.\nThe back trace shows dead000000200200 in RAX, i.e., LIST_POISON2, indicating\nthat the fsp is already being dequeued, which is probably why no complaining\nwas seen in fc_fcp_destroy() about outstanding fsp not freed, since we dequeue\nit in the end of fc_io_compl() before releasing it. The bug is due to the\nfact that we have already destroyed lport\u0027s scsi_pkt_pool while on-going i/o\nis still accessing it through fc_fcp_pkt_release(), like this trace or the\nsimilar code path from scsi-ml to fc_eh_abort, etc. This is fixed by moving\nthe fc_fcp_destroy() after lport is detached from scsi-ml since fc_fcp_destroy\nis supposed to called only once where no lport lock is taken, otherwise the\nfc_fcp_pkt_release() would have to grab the lport lock.\n\n BUG: unable to handle kernel NULL pointer dereference at (null)\n .......\n RIP: 0010:[\u003c0000000000000000\u003e]\n [\u003c(null)\u003e] (null)\n RSP: 0018:ffff8803270f7b88  EFLAGS: 00010282\n RAX: dead000000200200 RBX: ffff880197d2fbc0 RCX: 0000000000005908\n RDX: ffff880195ea6d08 RSI: 0000000000000282 RDI: ffff880180f4fec0\n RBP: ffff8803270f7bc0 R08: ffff880197d2fbe0 R09: 0000000000000000\n R10: ffff88032867f090 R11: 0000000000000000 R12: ffff880195ea6d08\n R13: 0000000000000282 R14: ffff880180f4fec0 R15: 0000000000000000\n FS:  0000000000000000(0000) GS:ffff8801b5820000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n CR2: 0000000000000000 CR3: 00000001a6eae000 CR4: 00000000000006e0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n Process fc_rport_eq (pid: 5278, threadinfo ffff8803270f6000, task ffff880326254ab0)\n Stack:\n ffffffffa02c39ca ffff8803270f7ba0 ffff88019331cbc0 ffff880197d2fbc0\n 0000000000000000 ffff8801a8c895e0 ffff8801a8c895e0 ffff8803270f7c10\n ffffffffa02c4962 ffff8803270f7be0 ffffffff814c94ab ffff8803270f7c10\n Call Trace:\n [\u003cffffffffa02c39ca\u003e] ? fc_io_compl+0x10a/0x530 [libfc]\n [\u003cffffffffa02c4962\u003e] fc_fcp_complete_locked+0x72/0x150 [libfc]\n [\u003cffffffff814c94ab\u003e] ? _spin_unlock_bh+0x1b/0x20\n [\u003cffffffffa02b98ff\u003e] ? fc_exch_done+0x3f/0x60 [libfc]\n [\u003cffffffffa02c4a8f\u003e] fc_fcp_retry_cmd+0x4f/0x60 [libfc]\n [\u003cffffffffa02c6150\u003e] fc_fcp_recv+0x9b0/0xc30 [libfc]\n [\u003cffffffff8106ba7a\u003e] ? _call_console_drivers+0x4a/0x80\n [\u003cffffffff8107d5ec\u003e] ? lock_timer_base+0x3c/0x70\n [\u003cffffffff8107e06b\u003e] ? try_to_del_timer_sync+0x7b/0xe0\n [\u003cffffffffa02b9dcf\u003e] fc_exch_mgr_reset+0x1df/0x250 [libfc]\n [\u003cffffffffa02c57a0\u003e] ? fc_fcp_recv+0x0/0xc30 [libfc]\n [\u003cffffffffa02c1042\u003e] fc_rport_work+0xf2/0x4e0 [libfc]\n [\u003cffffffff8109203e\u003e] ? prepare_to_wait+0x4e/0x80\n [\u003cffffffffa02c0f50\u003e] ? fc_rport_work+0x0/0x4e0 [libfc]\n [\u003cffffffff8108c6c0\u003e] worker_thread+0x170/0x2a0\n [\u003cffffffff81091d50\u003e] ? autoremove_wake_function+0x0/0x40\n [\u003cffffffff8108c550\u003e] ? worker_thread+0x0/0x2a0\n [\u003cffffffff810919e6\u003e] kthread+0x96/0xa0\n [\u003cffffffff810141ca\u003e] child_rip+0xa/0x20\n [\u003cffffffff81091950\u003e] ? kthread+0x0/0xa0\n [\u003cffffffff810141c0\u003e] ? child_rip+0x0/0x20\n Code:\n Bad RIP value.\n\n RIP\n [\u003c(null)\u003e] (null)\n RSP \u003cffff8803270f7b88\u003e\n CR2: 0000000000000000\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": "0ee31cb5df4b717de923266879964d0418c3308f",
      "tree": "99c318a25f1ef948fc8ff9d26701c56df77fcca2",
      "parents": [
        "2dc02ee52f32aac6d8dd1172f104dc30ae1051bb"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Oct 08 17:12:46 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Oct 25 15:11:39 2010 -0500"
      },
      "message": "[SCSI] fcoe: Fix broken NPIV with correction to MAC validation\n\nA previous patch attempted to validate the destination\nMAC address of a FCoE frame by checking that MAC\naddress against the received port\u0027s MAC address. The\nimplementation seems fine on the surface, but any\nVN_Ports added using the NPIV feature will have their\nown MAC addresses and these MACs were not being checked,\nwhich prevented any NPIV VN_Ports from receiving frames.\n\nIn other words, the following patch has broken NPIV.\n\n519e5135e2537c9dbc1cbcc0891b0a936ff5dcd2\n [SCSI] fcoe: adds src and dest mac address\n              checking for fcoe frames\n\nPart of the offending patch is correct, but the part\nthat broke NPIV was attempting to satisfy FC-BB-5\nsection D.5, 2.1-\n\n(discard frames that) \"contain a destination MAC\naddress/destination N_Port_ID pair that was not\nassigned by an FCF to one of the VN_Ports on the ENode\"\n\nThe language does _not_ say to compare the destination\nFC-MAP/destination N_Port_ID, but instead to compare\nthe destination MAC address/destination N_Port_ID.\n\n\u003eFrom the FC-BB-5 specification,\n\n\"A properly formed FPMA is one in which the 24 most\nsignificant bits equal the Fabric’s FC-MAP value and\nthe least significant 24 bits equal the N_Port_ID\nassigned to the VN_Port by the FCF.\"\n\nThis means that we need to compare the FC Frame\u0027s\ndestination FCID against the embedded FCID in the\ndestination MAC address. This patch checks the lower\n24 bits of the destination MAC address against\ndestination FCID in the Fibre Channel frame.\n\nFor MAC validation the first line of defense is the\nhardware MAC filtering. Each VN_Port will have a\nunicast MAC addresses added to the hardware\u0027s\nfiltering table. The Ethernet driver should drop any\nMACs not destined for a programmed MAC. This patch\nadds a second line of defense that very specfically\ncompares an element in the FC frame against an element\nin the Ethernet header, which is appropriate for the\nFCoE layer.\n\nMany alternative approaches were considered, including\na LLD callback from libfc. The second most reasonable\napproach seemed to be walking the list of NPIV ports\nand check each of their MAC addresses against the\ndestination MAC address of the received frame. The\nproblem with this approach was that it is likely that\nperformance would suffer with the more NPIV ports added\nto the system since every received frame would need to\nwalk this list, comparing each entry\u0027s MAC.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "2dc02ee52f32aac6d8dd1172f104dc30ae1051bb",
      "tree": "8b2e4bfa396355bde204d71b011d87049ee5f025",
      "parents": [
        "c531b9b49b146e1535dbed006d15e58f4f528f7e"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Fri Oct 08 17:12:41 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Oct 25 15:11:38 2010 -0500"
      },
      "message": "[SCSI] libfcoe: VN2VN connection setup causing stack memory corruption.\n\nFix: When FIP frame is received, function fcoe_ctlr_vn_recv calls function\nfcoe_ctlr_vn_parse which does memset for addr (\u0026buf.rdata) which leads to\nmemory corruption. Code was trying to treat \"buf\" as struct but it was defined\nas union. Fix is to change from union to struct for \"buf\" in function fcoe_ctlr_vn_recv.\n\nTechnical Details: N/A\n\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nAcked-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": "3067817a5d3ef99c5b1a4e4ca8c5b15bc7fc468d",
      "tree": "6150946ac3e12e0fc2b297d9e9b44f3d1d41cc66",
      "parents": [
        "60a3c4dfb7830845a97a20e73b7d938dc2fde6c1"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Oct 08 17:12:25 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Oct 25 15:11:34 2010 -0500"
      },
      "message": "[SCSI] fcoe: set default FIP mode as FIP_MODE_FABRIC\n\nSince sometimes current FIP_MODE_AUTO mode falls back to non-FIP\nmode while DCB link still getting ready in fabric mode with\nits peer switch, it falls back after few libfc flogi retries\nand that is not we want while working with FIP enabled\nswitches in FABRIC mode, therefore sets default as FIP_MODE_FABRIC\nas discussed and agreed before in this mail thread\nhttp://www.open-fcoe.org/pipermail/devel/2010-August/010511.html\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": "3cfc2c42c1cbc8e238bb9c0612c0df4565e3a8b4",
      "tree": "5adc1ff2eaf64d450bf28bb6b2ce890db2567288",
      "parents": [
        "5cf65713f87775c548e3eb48dbafa32e12f28000",
        "0ea6e61122196509af82cc4f36cbdaacbefb8227"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)\n  Documentation: update broken web addresses.\n  fix comment typo \"choosed\" -\u003e \"chosen\"\n  hostap:hostap_hw.c Fix typo in comment\n  Fix spelling contorller -\u003e controller in comments\n  Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -\u003e Fault\n  fs/Kconfig: Fix typo Userpace -\u003e Userspace\n  Removing dead MACH_U300_BS26\n  drivers/infiniband: Remove unnecessary casts of private_data\n  fs/ocfs2: Remove unnecessary casts of private_data\n  libfc: use ARRAY_SIZE\n  scsi: bfa: use ARRAY_SIZE\n  drm: i915: use ARRAY_SIZE\n  drm: drm_edid: use ARRAY_SIZE\n  synclink: use ARRAY_SIZE\n  block: cciss: use ARRAY_SIZE\n  comment typo fixes: charater \u003d\u003e character\n  fix comment typos concerning \"challenge\"\n  arm: plat-spear: fix typo in kerneldoc\n  reiserfs: typo comment fix\n  update email address\n  ...\n"
    }
  ],
  "next": "03da30986793385af57eeca3296253c887b742e6"
}
