)]}'
{
  "log": [
    {
      "commit": "e71044ee2efa4792e21d243b03d49006db66aec9",
      "tree": "56a673a82d0d5f4fe8308a858a2958600b091ba9",
      "parents": [
        "b437b95620dbf4bf7bd13af0f9d32fdac82c5d37"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Thu Sep 03 14:27:08 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:30 2009 -0500"
      },
      "message": "[SCSI] sg: fix oops in the error path in sg_build_indirect()\n\nWhen the allocation fails in sg_build_indirect(), an oops happens in\nthe error path. It\u0027s caused by an obvious typo.\n\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nReported-by: Bob Tracy \u003crct@gherkin.frus.com\u003e\nAcked-by: Douglas Gilbert \u003cdgilbert@interlog.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b437b95620dbf4bf7bd13af0f9d32fdac82c5d37",
      "tree": "530280e5e9d910d208c2f875332929c70160e3cc",
      "parents": [
        "9766096d331c82e71d3c9df61f1c88eff6ad916b"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Wed Sep 02 12:44:10 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:29 2009 -0500"
      },
      "message": "[SCSI] mptsas : Bump version to 3.04.12\n\nBump version to 3.04.12\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9766096d331c82e71d3c9df61f1c88eff6ad916b",
      "tree": "ad364a6951109114117d55aa85bec4d082815847",
      "parents": [
        "fea984034b1ccdb26e8163ed5350ce7f0563b136"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Wed Sep 02 11:46:33 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:28 2009 -0500"
      },
      "message": "[SCSI] mptsas : FW event thread and scsi mid layer deadlock in SYNCHRONIZE CACHE command\n\nNormally In HBA reset path MPT driver will flush existing work in current work\nqueue (mpt/0) . This is just a dummy activity for MPT driver point of\nview, since HBA reset will turn off Work queue events.\n\nIt means we will simply returns from work queue without doing anything.\nBut for the case where Work is already done (half the way), we have to have\nthat work to be done.\n\nConsidering above condition we stuck forever since Deadlock in scsi midlayer\nand MPT driver. sd_sync_cache() will wait forever since HBA is not in\nRunning state, and it will never come into Running state since\nsd_sync_cache() is called from HBA reset context.\nNow new code will not wait for half cooked work to be finished\nbefore returning from HBA reset.\n\nOnce we are out of HBA reset, EH thread will change host state to running from\nrecovery and work waiting for running state of HBA will be finished.\nNew code is turning ON firmware event from another special work called\nRescan toplogy.\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "fea984034b1ccdb26e8163ed5350ce7f0563b136",
      "tree": "5f688a19ba6cd76cd304862e8acdfae1ede3e214",
      "parents": [
        "c55b89fba9872ebcd5ac15cdfdad29ffb89329f0"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Wed Sep 02 11:45:53 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:28 2009 -0500"
      },
      "message": "[SCSI] mptsas : Send DID_NO_CONNECT for pending IOs of removed device\n\nDriver is modified to return DID_NO_CONNECT for all pending I/O\nrequests for bus type SAS, if it founds the target is removed at\nthe firmware level.\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c55b89fba9872ebcd5ac15cdfdad29ffb89329f0",
      "tree": "1cef34d442b468ee483c4c0f6072980b5852e209",
      "parents": [
        "f44fd18198eb26b62ba86b17016e9441ce95fc71"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Wed Sep 02 11:44:57 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:27 2009 -0500"
      },
      "message": "[SCSI] mptsas : PAE Kernel more than 4 GB kernel panic\n\nThis patch is solving problem for PAE kernel DMA operation.\nOn PAE system dma_addr and unsigned long will have different\nvalues.\nNow dma_addr is not type casted using unsigned long.\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f44fd18198eb26b62ba86b17016e9441ce95fc71",
      "tree": "4a151e59860a13032d8d481e23d1da4127d6d808",
      "parents": [
        "9e39089b958818c8f3d772414cd27f84fb2622f2"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Wed Sep 02 11:44:19 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:26 2009 -0500"
      },
      "message": "[SCSI] mptsas : NULL pointer on big endian systems causing Expander not to tear off\n\nOn Big endian system kernel will crash due to address translation\nis not handle properly.\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9e39089b958818c8f3d772414cd27f84fb2622f2",
      "tree": "9117ffceb2bbfd29296eb0f154a20fd3b25ece3c",
      "parents": [
        "5bab08858cecaacba803e8c90638db14bde470c0"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Wed Sep 02 11:43:36 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:25 2009 -0500"
      },
      "message": "[SCSI] mptsas : Sanity check for phyinfo is added\n\nCheck for phyinfo-\u003ephy before calling sas_port_delete_phy.\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5bab08858cecaacba803e8c90638db14bde470c0",
      "tree": "8c9a2c395f16d945fbb7b5b240fbda5f6bcd8a8d",
      "parents": [
        "89a3681041507773dfee1b88c1c90c8a811a79d3"
      ],
      "author": {
        "name": "Charlie Brady",
        "email": "charlieb-dm-devel@budge.apana.org.au",
        "time": "Wed Aug 26 14:16:57 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:25 2009 -0500"
      },
      "message": "[SCSI] scsi_dh_rdac: Add support for Sun StorageTek ST2500, ST2510 and ST2530\n\nThese storage arrays can use RDAC when configured with \u0027linux\u0027 as the\ninitiator.\n\nhttp://www.sun.com/storage/disk_systems/workgroup/2500/\nhttp://www.sun.com/storage/disk_systems/workgroup/2510/\nhttp://www.sun.com/storage/disk_systems/workgroup/2530/\n\nSigned-off-by: Charlie Brady \u003ccharlieb@budge.apana.org.au\u003e\nReviewed-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "89a3681041507773dfee1b88c1c90c8a811a79d3",
      "tree": "df3ed10fee1725722524c66ba2e24cfef5f40ff5",
      "parents": [
        "073ed91e245d56d71a85e2a49bf0b3962fe74dc4"
      ],
      "author": {
        "name": "Anil Ravindranath",
        "email": "anil_ravindranath@pmc-sierra.com",
        "time": "Tue Aug 25 17:35:18 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:24 2009 -0500"
      },
      "message": "[SCSI] pmcraid: PMC-Sierra MaxRAID driver to support 6Gb/s SAS RAID controller\n\nSigned-off-by: Anil Ravindranath \u003canil_ravindranath@pmc-sierra.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "073ed91e245d56d71a85e2a49bf0b3962fe74dc4",
      "tree": "69d073bcb8f28dab32d179b53745418f57427de2",
      "parents": [
        "67becc0041615651b75e4496204a0835a8c345a8"
      ],
      "author": {
        "name": "Giridhar Malavali",
        "email": "giridhar.malavali@qlogic.com",
        "time": "Tue Aug 25 11:36:21 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:23 2009 -0500"
      },
      "message": "[SCSI] qla2xxx: Update version number to 8.03.01-k6.\n\nSigned-off-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "67becc0041615651b75e4496204a0835a8c345a8",
      "tree": "a03de7a630d47c692196a18cf1e71c4bde282c21",
      "parents": [
        "0d6e61bc6a4f3f54444b088ae6d447f1703a21dd"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Tue Aug 25 11:36:20 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:23 2009 -0500"
      },
      "message": "[SCSI] qla2xxx: Properly delete rports attached to a vport.\n\nOriginal code would inadvertently skip the deferred\nfc_remote_port_delete() call for rports hanging off any vport.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "0d6e61bc6a4f3f54444b088ae6d447f1703a21dd",
      "tree": "20594eed50ae777518a1b5d9f3c6dd81cb110dfc",
      "parents": [
        "d970432c48ab8dd28216e80942723aeb505b623e"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Tue Aug 25 11:36:19 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:22 2009 -0500"
      },
      "message": "[SCSI] qla2xxx: Correct various NPIV issues.\n\n* Consolidate vport-count processing.\n* Correct vp_idx restrictions during RSCN processing.\n* Push topology verification check to qla2x00_do_dpc_all_vps().\n* Don\u0027t skip vport full-login-lip/lip-reset mailbox handling.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d970432c48ab8dd28216e80942723aeb505b623e",
      "tree": "67bfe6caa2b18fc6e7c740f0d0b0e1b634da5c02",
      "parents": [
        "ab67114935d611caffe18063d1777f8c4f8b4272"
      ],
      "author": {
        "name": "Lalit Chandivade",
        "email": "lalit.chandivade@qlogic.com",
        "time": "Tue Aug 25 11:36:18 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:21 2009 -0500"
      },
      "message": "[SCSI] qla2xxx: Correct qla2x00_eh_wait_on_command() to wait correctly.\n\nOriginal code would break-out of loop after only one iteration.\n\nSigned-off-by: Lalit Chandivade \u003clalit.chandivade@qlogic.com\u003e\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ab67114935d611caffe18063d1777f8c4f8b4272",
      "tree": "0b5aa65b4861f7a77acd289f2b6b516f5b45f49b",
      "parents": [
        "8474f3a02a18e18459663ad88951822c62a45068"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Tue Aug 25 11:36:17 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:21 2009 -0500"
      },
      "message": "[SCSI] qla2xxx: Further limit device-table (qla_devtbl) lookup to non-24xx.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8474f3a02a18e18459663ad88951822c62a45068",
      "tree": "b002647f04d0a2711d84c0f9dafba754a3ce36f7",
      "parents": [
        "e7a51997dad4e17395be1209970e18d2e9305b24"
      ],
      "author": {
        "name": "Santosh Vernekar",
        "email": "santosh.vernekar@qlogic.com",
        "time": "Tue Aug 25 11:36:16 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:20 2009 -0500"
      },
      "message": "[SCSI] qla2xxx: Correctly set FCF_TAPE_PRESENT flag based on scsi-device.\n\nIn fabric-login based on iop BIT_8 firmware notifies presence of\na FCP2 device and not necessarily a TAPE device.  So instead of\nsetting FCF_TAPE_PRESENT flag there we set it using\nscsi_device-\u003etype after mid-layer scan recognises \"type\" of the\ndevice.\n\nIt also adds a new flag FCF_FCP2_DEVICE for any future use.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e7a51997dad4e17395be1209970e18d2e9305b24",
      "tree": "153db22788bdd7302c6bd58f91a5d5c0da0a4ab6",
      "parents": [
        "1d490ce33ee8b93638d09e471a3bc66ae33b6606"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:04:08 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:04 2009 -0500"
      },
      "message": "[SCSI] fcoe: flush per-cpu thread work when destroying interface\n\nThis fixes one cause of an occational problem when unloading\nlibfc where the exchange manager pool doesn\u0027t have all items freed.\n\nThe existing WARN_ON(mp-\u003etotal_exches \u003c\u003d 0) isn\u0027t hit.\nHowever, note that total_exches is decremented when the\nexchange is completed, and it can be held with a refcnt\nfor a while after that.\n\nI\u0027m not sure what the offending exchange is, but I suspect\nit is an incoming request, because outgoing state machines\nshould be all stopped at this point.\n\nNote that although receive is stopped before the exchange\nmanager is freed, there could still be active threads\nhandling received frames.\n\nThis patch flushes the queues by allocating a new skb\nand sending it through, and have the thread handle\nthis new skb specially.  This is similar to the way the work\nqueues are flushed now by putting work items in them and waiting\nuntil they make it through the queue.\n\nAn skb-\u003edestructor function is used to inform us of\nthe completion of the flush, and the fr_dev() is left\nNULL to indicate to fcoe_percpu_receive_thread() that\nthe skb should be just freed.  There\u0027s already a check\nfor the lp being NULL which prints a message.\nWe skip printing the message if the destructor is for flushing.\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": "1d490ce33ee8b93638d09e471a3bc66ae33b6606",
      "tree": "67a8da5a99d3918beb5e803d49bd5cdeb56f7e37",
      "parents": [
        "2ab7e1ecb81ce35ed8e8df512e3fc6338a4c55bb"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:04:03 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:03 2009 -0500"
      },
      "message": "[SCSI] libfc: don\u0027t swap OX_ID and RX_ID when sending BA_RJT\n\nI saw an lport debug message from the exchange manager saying:\n\"lport  70500: Received response for out of range oxid:ffff\"\n\nA trace showed this was a BA_RJT sent due to an incoming ABTS\nwhich arrived on an unknown exchange.  So, the sender of the\nBA_RJT was in error, but in this case, both the initiator and\nresponder were the same machine.\n\nThe OX_ID and RX_ID should not have been reversed in this case.\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": "2ab7e1ecb81ce35ed8e8df512e3fc6338a4c55bb",
      "tree": "cc4fea4717a66e7d1428505bb409146d37e52668",
      "parents": [
        "8abbe3a42324264c9d5cc4e7c3d265b5be6d82d6"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:58 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:03 2009 -0500"
      },
      "message": "[SCSI] libfc: send GPN_ID in reaction to single-port RSCNs.\n\nWhen an RSCN indicates changes to individual remote ports,\ndon\u0027t blindly log them out and then back in.  Instead, determine\nwhether they\u0027re still in the directory, by doing GPN_ID.\n\nIf that is successful, call login, which will send ADISC and reverify,\notherwise, call logoff.  Perhaps we should just delete the rport,\nnot send LOGO, but it seems safer.\n\nAlso, fix a possible issue where if a mix of records in the RSCN\ncause us to queue disc_ports for disc_single and then we decide\nto do full rediscovery, we leak memory for those disc_ports queued.\n\nSo, go through the list of disc_ports even if doing full discovery.\nFree the disc_ports in any case.  If any of the disc_single() calls\nreturn error, do a full discovery.\n\nThe ability to fill in GPN_ID requests was added to fc_ct_fill().\nFor this, it needs the FC_ID to be passed in as an arg.\nThe did parameter for fc_elsct_send() is used for that, since the\nactual D_DID will always be 0xfffffc for all CT requests so far.\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": "8abbe3a42324264c9d5cc4e7c3d265b5be6d82d6",
      "tree": "72fa0c25fa4337ef0be788a76fdad37615fb7f4c",
      "parents": [
        "370c3bd05cf02afabea9cd3f2de66202d6b516dc"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:52 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:02 2009 -0500"
      },
      "message": "[SCSI] libfc: fix handling of incoming Discover Address (ADISC) requests\n\nThe local port facility has been replying to ADISC requests without\nlooking to see if the remote port is logged in.  This is incorrect.\nAn ADISC request requires PLOGI first.  It should be rejected if\nthe sending remote port is not logged in.\n\nThis is like other incoming requests that require login, all of\nwhich should be handled in the remote port module.\n\nMove the ADISC request handling from fc_lport.c to fc_rport.c.\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": "370c3bd05cf02afabea9cd3f2de66202d6b516dc",
      "tree": "832cf6b3091db117f119aa8692d050f43fe0a9cb",
      "parents": [
        "68a1750b46ad5177f7703081b5fe85624f1aa62b"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:47 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:02 2009 -0500"
      },
      "message": "[SCSI] libfc: use ADISC to verify rport login state\n\nWhen rport_login is called on an rport that is already thought\nto be logged in, use ADISC.  If that fails, redo PLOGI.\nThis is less disruptive after fabric changes that don\u0027t affect\nthe state of the target.\n\nImplement the sending of ADISC via fc_els_fill.\n\nAdd ADISC state to the rport state machine.  This is entered from READY\nand returns to READY after successful completion.  If it fails, the rport\nis either logged off and deleted or re-does PLOGI.\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": "68a1750b46ad5177f7703081b5fe85624f1aa62b",
      "tree": "e7e357ecc2cd3a6d50d890fd4750c0746443eb7d",
      "parents": [
        "feab4ae73031699fcf92a88f4b1e4ec1b14157a5"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:42 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:01 2009 -0500"
      },
      "message": "[SCSI] libfc: LOGO response code had extraeous enter_rtv\n\nfc_rport_logo_resp() had a call to fc_rport_enter_rtv() if the\nLOGO was accepted.  This must\u0027ve been a copy/paste mistake, but\nit didn\u0027t matter since we don\u0027t stay in the LOGO state long enough\nto hit this code.\n\nChange fc_rport_logo_resp() to just enter the delete state\nno matter what.\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": "feab4ae73031699fcf92a88f4b1e4ec1b14157a5",
      "tree": "9552f8c00ec9dfc75e279788d6d079df1caff2e0",
      "parents": [
        "83fe6a93465750d1a20221aaa9a253d9ea7fe45c"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:36 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:01 2009 -0500"
      },
      "message": "[SCSI] libfc: re-login to remote ports that send us LOGO\n\nAfter a quick link flap, a target was seen to send us a LOGO.\nApparently, it saw an RSCN reporting that we had dropped out of the\nfabric after we had logged back into it.\n\nThis is likely in larger fabrics (more than 2 FC switches) after\na quick link flap at the initiator.  Each link transition causes\nan port-specific RSCN to the target.  After the link comes back up,\nthe initiator successfully discovers and does a PLOGI to the target\nbefore the target sees the first RSCN reporting the initiator is gone,\nand it sends a LOGO.  The target may see a subsequent RSCN saying the\nport is back, but probably wouldn\u0027t send a PLOGI and leaves it\nup to the initiator to re-login.\n\nAn RSCN can be delayed by the switches due to software layers but a\nPLOGI is forwarded in hardware causing the PLOGI to beat the RSCN.\n\nIf a remote port is in the discovered set and sends a LOGO, re-login to it.\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": "83fe6a93465750d1a20221aaa9a253d9ea7fe45c",
      "tree": "e8e58482fff06ac935f6ca0f6dcef2341956d539",
      "parents": [
        "3ac6f98f4113ec1c115cf9d443a9bff816e47c0b"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:31 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:00 2009 -0500"
      },
      "message": "[SCSI] libfc: fix rport error handling for login-required and invalid ops\n\nWhen receiving an ELS request, if the request isn\u0027t recognized,\nthe unsupported operation error should be given even if the port\nis not found or not logged in.\n\nAlso, the LOGO request shouldn\u0027t give the login-required explanation.\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": "3ac6f98f4113ec1c115cf9d443a9bff816e47c0b",
      "tree": "f5fb72bb0f73a6304bcba19e1d3f1ffbfdfd6702",
      "parents": [
        "f657d299cf05883e23e12a69e86842da1df378ad"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:26 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:00 2009 -0500"
      },
      "message": "[SCSI] libfc: correctly handle incoming PLOGI request.\n\nlibfc receives PLOGIs from switches which are trying to discover what\nkind of devices are present, and from other initiators to find out\nif we\u0027re a target.\n\nAs an initiator, some argue we don\u0027t need to handle incoming PLOGI\nrequests, and we currently reject them from unknown remote ports,\nbut accept them is we\u0027re in the middle of a PLOGI to the remote port.\n\nFor eventual target implementations, we want to handle them always.\n\nFor incoming PLOGI, don\u0027t fail if the rport_priv doesn\u0027t exist.\nJust create it and go become READY without going through PRLI.  If\nPRLI occurs, then our roles will be set and we\u0027ll become READY again.\n\nAlso, allow incoming PRLI in RTV state.\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": "f657d299cf05883e23e12a69e86842da1df378ad",
      "tree": "3593d2054bd361f28593eea12c83868709013b0c",
      "parents": [
        "25b37b981e706c6df72c28c94f7787c3ea0cd343"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:21 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:59 2009 -0500"
      },
      "message": "[SCSI] libfc: improve debug messages for ELS response handlers\n\nImprove lport and rport debug messages to indicate whether\nthe response is LS_ACC, LS_RJT, closed, or timeout.\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": "25b37b981e706c6df72c28c94f7787c3ea0cd343",
      "tree": "d1b07c6ef9fc1b659056315b4ac95de27c9d0bd9",
      "parents": [
        "131203a1ef53f3a4deb3260031bc53c7e4db4a24"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:15 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:59 2009 -0500"
      },
      "message": "[SCSI] libfc: fix: rport_recv_req needs disc_mutex when calling rport_lookup\n\nThe rport_lookup function must be called while holding the disc_mutex.\nOtherwise, the rdata could be deleted just after that by another thread.\n\nAll callers now check the state after grabbing the rdata rp_mutex.\nEven though rport_lookup skips ports in DELETE state, it does that\nwithout holding the rdata rp_mutex, so that the state may change.\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": "131203a1ef53f3a4deb3260031bc53c7e4db4a24",
      "tree": "0f85ee5bf5db4612a7a62aa8835f33a1acc5a9ac",
      "parents": [
        "6bd054cbf3f7da3442f30a7d4eb7da4dd1c44f21"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:10 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:58 2009 -0500"
      },
      "message": "[SCSI] libfc: move remote port lookup for ELS requests into fc_rport.c.\n\nThis moves the remote port lookup for incoming ELS requests into\nfc_rport.c, in preparation for handing PLOGI and LOGO from\nunknown rports.\n\nThis changes the arg to rport_recv_req from an rdata to an lport.\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": "6bd054cbf3f7da3442f30a7d4eb7da4dd1c44f21",
      "tree": "d7371dffcb9d3d37583d1354b9f20c377c195337",
      "parents": [
        "9737e6a7b5b8af48f983cd565df93493597c565b"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Aug 25 14:03:04 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:58 2009 -0500"
      },
      "message": "[SCSI] libfc: Always reset remote port roles when receiving PRLI\n\nDon\u0027t trust previous roles, reset them when we receive a PRLI.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9737e6a7b5b8af48f983cd565df93493597c565b",
      "tree": "2bb3e50171af1fbc18d0f739d760b6218031fb31",
      "parents": [
        "935d0fce44b906268b8a29de4e72ebb57a3a06d8"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Aug 25 14:02:59 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:57 2009 -0500"
      },
      "message": "[SCSI] libfc: Initialize fc_rport_identifiers inside fc_rport_create\n\nCurrently these values are initialized by the callers. This was exposed\nby a later patch that adds PLOGI request support. The patch failed to\ninitialize the new remote port\u0027s roles and it caused problems. This patch\nhas the rport_create routine initialize the identifiers and then the\ncallers can override them with real values.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "935d0fce44b906268b8a29de4e72ebb57a3a06d8",
      "tree": "359f91d64556d06964b418b77b2a25f4f89c50d1",
      "parents": [
        "29d898e909e3d086055e2649f5a24d4c2c1ca884"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:54 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:56 2009 -0500"
      },
      "message": "[SCSI] libfc: don\u0027t do discovery before callback is set\n\nIt\u0027s possible to \"restart\" discovery before it was started if\nan RSCN is received early enough.  We were jumping to 0\ndue to the disc_callback function pointer not getting set.\n\nDon\u0027t restart discovery if disc_callback is NULL.\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": "29d898e909e3d086055e2649f5a24d4c2c1ca884",
      "tree": "bfd57b880623777caa37fadfe75d1d8d8011ef93",
      "parents": [
        "81a67b9717d9e4f81bed7d1f2df6ba86aaab9ad9"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:49 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:53 2009 -0500"
      },
      "message": "[SCSI] libfc: clean up point-to-point discovery code.\n\nThe discovery code had a special-case for the point-to-point mode,\nwhich used a bunch of code that wasn\u0027t really needed.\n\nNow that rport_create adds the rport to the discovery list,\ncompletely skip discovery for the point-to-point case.\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": "81a67b9717d9e4f81bed7d1f2df6ba86aaab9ad9",
      "tree": "92c6e4bd45b71f48e8db60996bda724ef79246ad",
      "parents": [
        "3667d7e7f7bb63a394f73a671fdaf4a187aa858e"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:43 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:52 2009 -0500"
      },
      "message": "[SCSI] libfc: discovery gpn_ft parse bug\n\nIn fc_disc_gpn_ft_parse(), after fc_disc_done() is called, the\ndisc state is changed by setting buf_len \u003d 0.  This is wrong\nsince the discovery may have restarted.   Instead, return\nafter calling fc_disc_done.\n\nAlso, return an error on memory allocation failure.\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": "3667d7e7f7bb63a394f73a671fdaf4a187aa858e",
      "tree": "37f4b8af4d5faab8b3cbcc92ee2561a896f8bcd8",
      "parents": [
        "c762608bf75f792dcaf3658338189b9970951704"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:38 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:51 2009 -0500"
      },
      "message": "[SCSI] libfc: discovery retry should clear pending first.\n\nCurrently fc_disc_timeout() restarts discovery only if it is not pending.\nWhen the timer is scheduled, the discovery is left pending, so the\ntimeout never restarts it.\n\nFix by not checking for pending in the timeout handler.\n\nIf discovery is stopped and restarted in the meantime, the timeout will\nbe canceled.\n\nAlso, when a new discovery is started, the retry count wasn\u0027t cleared.\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": "c762608bf75f792dcaf3658338189b9970951704",
      "tree": "16ed727f905466e550de7c2bee962c06736bda1d",
      "parents": [
        "883a337cf8969b2906ffd8aeb838d875f7338190"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:33 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:50 2009 -0500"
      },
      "message": "[SCSI] libfc: fix: empty zone causes endless discovery retries.\n\nOn some switches, an empty zone causes GPN_FT to be rejected\nwith reason 9 (unable) explanation 7 (FC-4 types not registered),\nwhich causes discovery to be retried endlessly.  Treat this as\njust an empty response and consider discovery complete.\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": "883a337cf8969b2906ffd8aeb838d875f7338190",
      "tree": "da818ca65c3c1726d0af4521b8069d2f0cf73b20",
      "parents": [
        "a1c1e4e76c68f564cddc0b43842b895464f7865f"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:27 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:50 2009 -0500"
      },
      "message": "[SCSI] libfc: handle discovery failure more correctly.\n\nAbhijeet Joglekar wrote: \"In gpn_ft_resp, if the payload is short,\nor unexpected response or out of sequence frame, then we just\nreturn and do nothing. We should either enter fc_disc_done()\nwith DISC_EV_FAIL which will then restart any queued discovery\nrequests or call lport module which will reset local port,\nor we should call fc_disc_error() so that the gpn_ft is retried.\n\nThe situation as is causes discovery to remain pending and never\nget restarted, in these rare cases.  We saw this due to a coding\nbug in fc_disc before.  The only ways it could happen would be\nbugs, packet corruption or an FC fabric problem.\n\nChange it to fail discovery.  The local port will restart\ndiscovery, although it probably should just give up until\nthe next link flap.\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": "a1c1e4e76c68f564cddc0b43842b895464f7865f",
      "tree": "69df5c219698d10af08abfe38ed25078b89b05cf",
      "parents": [
        "c356afd48690775097507c37780ee17c0b0ea375"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:22 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:49 2009 -0500"
      },
      "message": "[SCSI] libfc: rearrange code in fc_disc_gpn_ft_resp()\n\nCode cleanup for fc_disc_gpn_ft_resp().\n\nSome of the fc_disc.c code was poorly formatted. For example, some lines\nin fc_disc.c were unnecessarily truncated and the buf variable could\nbe eliminated.\n\nAlso moved the increment of seq_count into fc_disc_gpn_ft_parse(), to\navoid doing it separately before each call.\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": "c356afd48690775097507c37780ee17c0b0ea375",
      "tree": "6b4839881ff5597525a0dfa4f8e08adfb1cf64e7",
      "parents": [
        "0f6c6149870e03c722af6eae406758b28cb71320"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:17 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:49 2009 -0500"
      },
      "message": "[SCSI] libfc: discovery restart sequence error fix\n\nWhen an RSCN is received during fabric discovery, it restarts.\nAfter the restart, disc-\u003eseq_count was incremented, so when\nthe first frame was received, it was considered \"out of sequence\".\nThat left the state disc-\u003eactive, preventing further discoveries.\n\nChange to advance the sequence count before parsing, so that it\nwon\u0027t be changed after a potential restart.\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": "0f6c6149870e03c722af6eae406758b28cb71320",
      "tree": "7dca629255539d73bd44fea4fb50a9c0a9ddd079",
      "parents": [
        "8025b5db7e10cd90cadec940cc766be3bbda65e8"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:11 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:48 2009 -0500"
      },
      "message": "[SCSI] libfc: do not log off rports before or after discovery\n\nWhen receiving an RSCN, do not log off all rports.  This is\nextremely disruptive.  If, after the GPN_FT response, some\nrports haven\u0027t been listed, delete them.\n\nAdd field disc_id to structs fc_rport_priv and fc_disc.\ndisc_id is an arbitrary serial number used to identify the\nrports found by the latest discovery.  This eliminates the need\nto go through the rport list when restarting discovery.\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": "8025b5db7e10cd90cadec940cc766be3bbda65e8",
      "tree": "79d509309c67529db93e071aa51a63947d869fe2",
      "parents": [
        "8345592b8388b51e0f52f63e94a5a5d3f07fda9a"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:06 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:47 2009 -0500"
      },
      "message": "[SCSI] libfc: move rport_lookup into fc_rport.c\n\nMove the libfc remote port lookup function into fc_rport.c.\nThis seems like the best place for it.\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": "8345592b8388b51e0f52f63e94a5a5d3f07fda9a",
      "tree": "c1552168982507bc331a3163a62106c649179941",
      "parents": [
        "19f97e3c0acc5eb03486044f5428395b7690a01a"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:01 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:47 2009 -0500"
      },
      "message": "[SCSI] libfc: change to make remote port callback optional\n\nSince the rport list maintenance is now done in the rport module,\nthe callback (and ops) are usually not necessary.\n\nAllow rdata-\u003eops to be left NULL if nothing needs\nto be done in an event callback.\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": "19f97e3c0acc5eb03486044f5428395b7690a01a",
      "tree": "640a956483f932f778706001a3582c79189aa482",
      "parents": [
        "48f00902ba40d3e4467782a42258b952437a89f9"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:55 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:46 2009 -0500"
      },
      "message": "[SCSI] libfc: have rport_create do a lookup for pre-existing rports first\n\nFor future discovery patches, change rport_create to return a previously\ncreated rport_priv that has the FC_ID as long as it isn\u0027t in deleted state.\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": "48f00902ba40d3e4467782a42258b952437a89f9",
      "tree": "9559e9a92cadd9988ff32940358c8b6d9dee5140",
      "parents": [
        "b5cbf083736e14911c32fca2a93c540a92e8413d"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:50 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:46 2009 -0500"
      },
      "message": "[SCSI] libfc: make rport module maintain the rport list\n\nThe list of remote ports (struct fc_rport_priv) has been\nmaintained by the discovery module.  In preparation for having\nlport-\u003ett.rport_create() do a lookup first, maintain the\nrports list in the rport module.  It will still be protected\nby the disc_mutex.\n\nThe DNS rport is an exception for until after further patches.\nFor now, do not add it to the list.\n\nThe point-to-point rport will be in the discovery list.\nSo at shutdown, it doesn\u0027t need to be separately logged out.\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": "b5cbf083736e14911c32fca2a93c540a92e8413d",
      "tree": "7495e2e08d2d7ee71abfb674700c9a631a478c54",
      "parents": [
        "cdbe6dfece038e75214735d56cd06319b9a6df46"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:44 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:46 2009 -0500"
      },
      "message": "[SCSI] libfc: simplify fc_lport_rport_callback\n\nThe lport rport callback can only be called for the dNS rport,\nsince its the only rport who\u0027s ops point to that function.\n\nRemove unnecessary checking and debug messages.\nPut the locking outside the switch statement as a simplification.\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": "cdbe6dfece038e75214735d56cd06319b9a6df46",
      "tree": "e4356d4feee535ad1456a8852a610598710a4877",
      "parents": [
        "b84c7962653e4d04065d2603f0e1424ee0f455ae"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:39 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:45 2009 -0500"
      },
      "message": "[SCSI] libfc: rport debug messages were printing pointer values\n\nDon\u0027t print large negative decimal numbers for frame pointers in\nthe debug messages from fc_rport_error().  Just print 0 if its a\nframe pointer, and print the error numbers as positive.\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": "b84c7962653e4d04065d2603f0e1424ee0f455ae",
      "tree": "7f5086f5a97a36dd081cb18c17a3a1a7b4cd8759",
      "parents": [
        "786681b96fc1a5b94d187160b7bf80bf6b4681ed"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:34 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:45 2009 -0500"
      },
      "message": "[SCSI] libfc: remove unused disc-\u003edelay element\n\nDelete unused disc-\u003edelay element.\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": "786681b96fc1a5b94d187160b7bf80bf6b4681ed",
      "tree": "f15c89228d48057957d86ef468118a2c76dcce42",
      "parents": [
        "00fea930d404b9a9039291d5a61975e6c2ea974e"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:29 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:44 2009 -0500"
      },
      "message": "[SCSI] libfc: eliminate disc-\u003eevent\n\nThere was no need to have the discovery status stored in struct fc_disc.\n\nChange fc_disc_done() to take the discovery status as an argument\nand just pass it on to the discovery callback.\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": "00fea930d404b9a9039291d5a61975e6c2ea974e",
      "tree": "c2d2c32117e74eefdd8876d6903c936cbaf51e06",
      "parents": [
        "9e9d0452fe12115b1c1883c0d4d2ee509079791b"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:23 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:44 2009 -0500"
      },
      "message": "[SCSI] libfc: fix rport event race between READY and LOGO\n\nWhen a remote port becomes ready and a LOGO is received before\nthe READY event is in rport_work waiting on the mutex, the\nevent is changed to LOGO and the work queued, so both the\ncalls to rport_work see the LOGO event, and both try to do\nthe list_del(), causing a crash.\n\nDon\u0027t change the event if it is already set.\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": "9e9d0452fe12115b1c1883c0d4d2ee509079791b",
      "tree": "7cf8bb38e28e562274dcd7eeb2adfdf394876d14",
      "parents": [
        "4c0f62b5679321b2e5572cf541ffb9f7b344d47c"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:18 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:43 2009 -0500"
      },
      "message": "[SCSI] libfc: don\u0027t create dummy (rogue) remote ports\n\nDon\u0027t create a \"dummy\" remote port to go with fc_rport_priv.\n\nMake the rport truly optional by allocating fc_rport_priv separately\nand not requiring a dummy rport to be there if we haven\u0027t yet done\nfc_remote_port_add().\n\nThe fc_rport_libfc_priv remains as a structure attached to the\nrport for I/O purposes.\n\nBe sure to hold references on rdata when the lock is dropped in\nfc_rport_work().\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": "4c0f62b5679321b2e5572cf541ffb9f7b344d47c",
      "tree": "0c4fba12e9098c63cfdc37dac15313f313887b1a",
      "parents": [
        "629f44279d169f29b084d406e9f1c33314f220fa"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:12 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:43 2009 -0500"
      },
      "message": "[SCSI] libfc: rename rport event CREATED to READY\n\nRemote ports will become READY more than once after\nADISC is implemented in a later patch.\n\nThe event callback that has been called \"CREATED\" will mean \"READY\".\nRename it now in preparation for those changes.\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": "629f44279d169f29b084d406e9f1c33314f220fa",
      "tree": "674698651f1a7be955334de72f186f16f4def97d",
      "parents": [
        "f211fa514a07326c0f9364c0e6ed17e38860172f"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:06 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:42 2009 -0500"
      },
      "message": "[SCSI] libfc: rearrange code in fc_rport_work\n\nThis is a cleanup without semantic changes to use a switch\nstatement instead of a series of if-statements in fc_rport_work(),\nand to move some declarations up to the top.\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": "f211fa514a07326c0f9364c0e6ed17e38860172f",
      "tree": "9c2c54fee556816f36211185b6d6df0812b9acec",
      "parents": [
        "a46f327aa5caf2cce138e98ddd863b6cca0e71e2"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:01 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:42 2009 -0500"
      },
      "message": "[SCSI] libfc: make rport structure optional\n\nAllow a struct fc_rport_priv to have no fc_rport associated with it.\nThis sets up to remove the need for \"rogue\" rports.\n\nAdd a few fields to fc_rport_priv that are needed before the fc_rport\nis created.  These are the ids, maxframe_size, classes, and rport pointer.\n\nRemove the macro PRIV_TO_RPORT().  Just use rdata-\u003erport where appropriate.\n\nTo take the place of the get_device()/put_device ops that were used to\nhold both the rport and rdata, add a reference count to rdata structures\nusing kref.  When kref_get decrements the refcount to zero, a new template\nfunction releasing the rdata should be called.  This will take care of\nfreeing the rdata and releasing the hold on the rport (for now).  After\nsubsequent patches make the rport truly optional, this release function\nwill simply free the rdata.\n\nRemove the simple inline function fc_rport_set_name(), which becomes\nsemanticly ambiguous otherwise.  The caller will set the port_name and\nnode_name in the rdata-\u003eIds, which will later be copied to the rport\nwhen it its created.\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": "a46f327aa5caf2cce138e98ddd863b6cca0e71e2",
      "tree": "dbb230e8d4e024085e126445e6d819d5088e0406",
      "parents": [
        "9fb9d32831fd687e427ec5b147bb690f468b99a0"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:55 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:41 2009 -0500"
      },
      "message": "[SCSI] libfc: change elsct to use FC_ID instead of rdata\n\ntt.elsct_send is used by both FCP and by the rport state machine.\nAfter further patches, these two modules will use different\nstructures for the remote port.\n\nSo, change elsct_send to use the FC_ID instead of the fc_rport_priv\nas its argument.  It currently only uses the FC_ID anyway.\n\nFor CT requests the destination FC_ID is still implicitly 0xfffffc.\nAfter further patches the did arg on CT requests will be used to\nspecify the FC_ID being inquired about for GPN_ID or other queries.\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": "9fb9d32831fd687e427ec5b147bb690f468b99a0",
      "tree": "c3b6c29cb94040718ea2fe00daac05abf10db714",
      "parents": [
        "922aa210bcad4b34a7bb98ec9d318b7e59e7a5ca"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:50 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:41 2009 -0500"
      },
      "message": "[SCSI] libfc: make fc_rport_priv the primary rport interface.\n\nThe rport and discovery modules deal with remote ports\nbefore fc_remote_port_add() can be done, because the\nfull set of rport identifiers is not known at early stages.\n\nIn preparation for splitting the fc_rport/fc_rport_priv allocation,\nmake fc_rport_priv the primary interface for the remote port and\ndiscovery engines.\n\nThe FCP / SCSI layers still deal with fc_rport and\nfc_rport_libfc_priv, however.\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": "922aa210bcad4b34a7bb98ec9d318b7e59e7a5ca",
      "tree": "480d1304252f34cdb8286ec104850648b852e598",
      "parents": [
        "795d86f55ec3bf6280dda368f208943f1fb7d366"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:45 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:40 2009 -0500"
      },
      "message": "[SCSI] libfc: fix RPORT_TO_PRIV and PRIV_TO_RPORT() macros.\n\nThese macros introduce extra undesirable semicolons that keep\nthem from being used in expressions, and they don\u0027t protect\nagainst being passed an expression.\n\nAdd parens and remove the semicolons.\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": "795d86f55ec3bf6280dda368f208943f1fb7d366",
      "tree": "8d123acf1e7d9d07495d702b88ef2d75dfe696b1",
      "parents": [
        "ab28f1fd3b0d14c1bd693e640decd711d5e6642a"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:39 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:40 2009 -0500"
      },
      "message": "[SCSI] libfc: change interface for rport_create\n\nThe interface for lport-\u003ett.rport_create() takes a fc_disc_port arg,\nwhich is unnatural for most calls.   The only reason for this was\nto avoid passing in the local port as an argument, but otherwise\nadded to complexity.\n\nSimplify by just using lport and fc_rport_identifiers.\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": "ab28f1fd3b0d14c1bd693e640decd711d5e6642a",
      "tree": "3d7b051d7ab8b6d7fb7d936f95e336bf25f26832",
      "parents": [
        "090eb6c41aa74273d3f0721637cff738cfd80669"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:34 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:39 2009 -0500"
      },
      "message": "[SCSI] libfc: prepare to split off struct fc_rport_priv from fc_rport_libfc_priv\n\nWhile the I/O and LLD interfaces use fc_rport_libfc_priv, the\ndisc and rport interfaces will use fc_rport_priv, which will\nbe separately allocated.\n\nChange the disc and rport usage of fc_rport_libfc_priv to fc_rport_priv.\n\nUse #define temporarily to make both names equivalent until a\nsubsequent patch splits them.\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": "090eb6c41aa74273d3f0721637cff738cfd80669",
      "tree": "5789214aa7d85e67901b619bee48429db1009aae",
      "parents": [
        "2e70e2415193b84c1b79ec373af15c3f280ad7c4"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 14:00:28 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:38 2009 -0500"
      },
      "message": "[SCSI] fcoe: use rtnl mutex in place of hostlist lock\n\nThis just cuts down on the number of locks we\u0027re dealing with, and\neliminates the need to take another lock in the netdev notifier.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "2e70e2415193b84c1b79ec373af15c3f280ad7c4",
      "tree": "84799295b00350f3fa33ca3becd7511d07e97791",
      "parents": [
        "c863df33bb784eecfb24090d2258fa0d3f653750"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 14:00:23 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:38 2009 -0500"
      },
      "message": "[SCSI] fcoe: Fix module ref count bug by adding NETDEV UNREGISTER handling\n\nFixes reference counting on fcoe_instance and net_device, and adds\nNETDEV_UNREGISTER notifier handling so that you can unload network drivers.\nFCoE no longer increments the module use count for the network driver.\n\nOn an NETDEV_UNREGISTER event, destroying the FCoE instance is deferred to a\nworkqueue context to avoid RTNL deadlocks.\n\nBased in part by an earlier patch from John Fastabend\n\nJohn\u0027s patch description:\nCurrently, the netdev module ref count is not decremented with module_put()\nwhen the module is unloaded while fcoe instances are present. To fix this\nremoved reference count on netdev module completely and added functionality to\nnetdev event handling for NETDEV_UNREGISTER events.\n\nThis allows fcoe to remove devices cleanly when the netdev module is unloaded\nso we no longer need to hold a reference count for the netdev module.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c863df33bb784eecfb24090d2258fa0d3f653750",
      "tree": "a0301e302a8ee4dff265e4ab270821c4b4366e25",
      "parents": [
        "dfc1d0fe3a8b2139295600ab519f24059493e6f6"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 14:00:18 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:37 2009 -0500"
      },
      "message": "[SCSI] fcoe: move the host-list add/remove to keep out VN_Ports\n\nWe only want the FCoE create and destroy routines to deal with top level\nN_Ports, the VN_Ports are tracked on the vport list (see scsi_transport_fc).\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "dfc1d0fe3a8b2139295600ab519f24059493e6f6",
      "tree": "a26f1913bfe754700cf3ef38096d4c17bbbc321c",
      "parents": [
        "54b649f88eb17a29687bece4b8ad7d72d99e2d95"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 14:00:13 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:36 2009 -0500"
      },
      "message": "[SCSI] fcoe: add mutex to protect create and destroy\n\nRather than rely on the hostlist_lock to be held while creating exchange\nmanagers, serialize fcoe instance creation and destruction with a mutex.\nThis will allow the hostlist addition to be moved out of fcoe_if_create(),\nwhich will simplify NPIV support.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "54b649f88eb17a29687bece4b8ad7d72d99e2d95",
      "tree": "0057186411aae1ad53268c127effa65f16f454e0",
      "parents": [
        "030f4e001f13e0ee80bac1e756013341b1674d10"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 14:00:07 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:35 2009 -0500"
      },
      "message": "[SCSI] fcoe: split out per interface setup\n\nfcoe_netdev_config() is called during initialization of a libfc instance.\nMuch of what was there only needs to be done once for each net_device.\nThe same goes for the corresponding cleanup.\n\nThe FIP controller initialization is moved to interface creation time.\nOtherwise it will keep getting re-initialized for every VN_Port once NPIV is\nenabled.\n\nfcoe_if_destroy() has some reordering to deal with the changes.  Receives are\nnot stopped until after fcoe_interface_put() is called, but transmits must be\nstopped before.  So there is some care to stop libfc transmits and the\ntransmit backlog timer, then call fcoe_interface_put which will stop receives\nand cleanup the FIP controller, then the receive queues can be cleaned and the\nport freed.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "030f4e001f13e0ee80bac1e756013341b1674d10",
      "tree": "042791ba7bc3d9f2543abf33c511034421c97178",
      "parents": [
        "cb0a6ca81439a9f113d3b46de0953da168a06f6a"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 14:00:02 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:35 2009 -0500"
      },
      "message": "[SCSI] fcoe: fcoe_interface create, destroy and refcounting\n\nUp to this point the fcoe_instance structure was simply kzalloc/kfreed.  This\npatch introduces create and destroy functions as well as kref based reference\ncounting.  The create function will grow as the initialization code is moved\nthere.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "cb0a6ca81439a9f113d3b46de0953da168a06f6a",
      "tree": "010d64aa995198e6cabec0968bdcdab341b32a94",
      "parents": [
        "991cbb6082db3025bd82908eb9ee2d2920be2114"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 13:59:56 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:34 2009 -0500"
      },
      "message": "[SCSI] fcoe: remove fcoe_interface-\u003epriv pointer\n\nThe priv pointer is no longer needed, and once NPIV is enabled\nfcoe_interface:fc_lport becomes a one-to-many relationship.\n\nRemove the single pointer.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "991cbb6082db3025bd82908eb9ee2d2920be2114",
      "tree": "74f2a5f22c0a9bb20b5430e7019d24723988b4ff",
      "parents": [
        "3fe9a0badae7fa2eb35eff4f07e851fbd25e3d4f"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 13:59:51 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:33 2009 -0500"
      },
      "message": "[SCSI] fcoe: move offload exchange manager pointer from fcoe_port to fcoe_interface\n\nThe offload EM pointer is only used when setting up a new libfc instance, but\nas it\u0027s designed to be shared among NPIV VN_Ports it should be tracked in\nfcoe_interface.\n\nWith the host-list changed to track fcoe_interfaces as well, this is needed\nbefore we can remove the priv pointer from that structure (which is only there\nto help in the transition, and stops making sense once NPIV is enabled).\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3fe9a0badae7fa2eb35eff4f07e851fbd25e3d4f",
      "tree": "0ba5615fc7b696b6489b8417a2a5c9915bdf1d4c",
      "parents": [
        "259ad85d8dbbcd508e3dad29a36e3e76365853b7"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 13:59:46 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:33 2009 -0500"
      },
      "message": "[SCSI] fcoe: move FIP controller from fcoe_port to fcoe_interface\n\nThere is only one FIP state per net_device, so the FIP controller needs to be\nmoved from the per-SCSI-host fcoe_port to the per-net_device fcoe_interface\nstructure.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "259ad85d8dbbcd508e3dad29a36e3e76365853b7",
      "tree": "4330e34aea6c87aa09264d1e0d548b5bcfcb8b0f",
      "parents": [
        "250249898a92a1228050f40fbe3c05deb1392da8"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 13:59:41 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:32 2009 -0500"
      },
      "message": "[SCSI] fcoe: move packet handlers from fcoe_port to fcoe_interface\n\nThe packet handlers need to be tracked in fcoe_interface so there is only one\nset per net_device.  When NPIV is enabled there will be multiple SCSI hosts\nand multiple fcoe_port structures on a single net_device.\n\nThe packet handlers match by ethertype and netdev.  If the same handler gets\nregistered on a single netdev multiple times, the receive function will be\ncalled multiple times for each frame.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "250249898a92a1228050f40fbe3c05deb1392da8",
      "tree": "37835c6c378c1024b1f0e3a4432d63011b3f3e61",
      "parents": [
        "014f5c3f560a336cb8ad5b9f828c85de0398e7bb"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 13:59:35 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:32 2009 -0500"
      },
      "message": "[SCSI] fcoe: move netdev to fcoe_interface\n\nThe network interface needs to be shared between all NPIV VN_Ports, therefor\nit should be tracked in the fcoe_interface and not for each SCSI host in\nfcoe_port.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "014f5c3f560a336cb8ad5b9f828c85de0398e7bb",
      "tree": "0b51f21ec8690a0a416e3f8c12eec8e3391b2778",
      "parents": [
        "af7f85d95a34b04f5cf8c3b8c2d4cdd179dc1e19"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 13:59:30 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:31 2009 -0500"
      },
      "message": "[SCSI] fcoe: Introduce and allocate fcoe_interface structure, 1:1 with net_device\n\nIn preparation for NPIV support, I\u0027m splitting the fcoe instance structure\ninto two to remove the assumptions about it being 1:1 with the net_device.\nThere will now be two structures, one which is 1:1 with the underlying\nnet_device and one which is allocated per virtual SCSI/FC host.\n\nfcoe_softc is renamed to fcoe_port for the per Scsi_Host FCoE private data.\n\nLater patches with start moving shared stuff from fcoe_port to fcoe_interface\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "af7f85d95a34b04f5cf8c3b8c2d4cdd179dc1e19",
      "tree": "59e0eae4a609f89dac651c5d59a797b44b9ce773",
      "parents": [
        "36eb7fc872bdd7f7443ce24a718784bfa567f6c7"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 13:59:24 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:31 2009 -0500"
      },
      "message": "[SCSI] fcoe: interface changes to fcoe_if_create and fcoe_if_destroy\n\nBy passing in the parent device instead of assuming the netdev is what\nshould be used, fcoe_if_create becomes usable for NPIV vports as well.\nYou still need a netdev, because that\u0027s how FCoE works.  Also removed some\nduplicate checks from fcoe_if_create that are already in fcoe_create.\n\nfcoe_if_destroy needs to take an lport as it\u0027s only argument, not a netdev.\nThat removes the 1:1 netdev:lport assumption from the destroy path.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "36eb7fc872bdd7f7443ce24a718784bfa567f6c7",
      "tree": "54ec06f3a60f02d297df0e0bb3c4741ba82cd354",
      "parents": [
        "5892c32f8a2d5a37d4c2ff1df62f6e8a2664abdb"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 13:59:19 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:29 2009 -0500"
      },
      "message": "[SCSI] fcoe: remove unnecessary list and lock initializations.\n\nThe hostlist and the hostlist_lock were initialized both in\nthe delcaration and in fcoe_init().  Remove the unneeded code.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5892c32f8a2d5a37d4c2ff1df62f6e8a2664abdb",
      "tree": "5eeecbafec68e1d9ec2958f888c12736b6a438c8",
      "parents": [
        "a4b7cfaee487caef913be978dce60896fe741268"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 13:59:14 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:28 2009 -0500"
      },
      "message": "[SCSI] fcoe: fix missing error check in call to fcoe_if_init\n\nfcoe_if_init() can fail, but it\u0027s return value wasn\u0027t checked\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "a4b7cfaee487caef913be978dce60896fe741268",
      "tree": "42de6baeef3390b94b1cb99a05cc4c44d94cefce",
      "parents": [
        "05cc7390735c49357b9ae67bf97f1c1579547f5b"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Aug 25 13:59:08 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:28 2009 -0500"
      },
      "message": "[SCSI] libfcoe: fcoe_ctlr_destroy use cancel_work_sync instead of flush_work\n\nUse cancel_work_sync() in place of flush_work(), so that\nfcoe_ctlr_destroy() can be called from a workqueue.\n\nAlso, purge the receive queue after the recv_work has been cancled because\nif recv_work isn\u0027t run it\u0027s not guaranteed to be empty now.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "05cc7390735c49357b9ae67bf97f1c1579547f5b",
      "tree": "350ec608799ade3d3ad8000c45008bc948542aaa",
      "parents": [
        "b2f0091fbf8b475fa09b5e1712e0ab84cb3e1ca4"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Tue Aug 25 13:59:03 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:27 2009 -0500"
      },
      "message": "[SCSI] fcoe: Add sysfs parameter to fcoe for minimum DDP read I/O size\n\nThis adds fcoe_ddp_min as a module parameter for fcoe module to:\n/sys/module/fcoe/parameters/ddp_min\n\nIt is observed that for some hardware, particularly Intel 82599, there is too\nmuch overhead in setting up context for direct data placement (DDP) read when\nthe requested read I/O size is small. This is added as a module parameter for\nperformance tuning and is set as 0 by default and user can change this based\non their own hardware.\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": "b2f0091fbf8b475fa09b5e1712e0ab84cb3e1ca4",
      "tree": "98d3427aaae0b3d20d5fd077023b4ea23f5b575c",
      "parents": [
        "e4bc50bedf0dd6c63f20a7bc0a2b46667664fba1"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Aug 25 13:58:53 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:47:37 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: fully makes use of per cpu exch pool and then removes em_lock\n\n1. Updates fcoe_rcv() to queue incoming frames to the fcoe per\n   cpu thread on which this frame\u0027s exch was originated and simply\n   use current cpu for request exch not originated by initiator.\n   It is redundant to add this code under CONFIG_SMP, so removes\n   CONFIG_SMP uses around this code.\n\n2. Updates fc_exch_em_alloc, fc_exch_delete, fc_exch_find to use\n   per cpu exch pools, here fc_exch_delete is rename of older\n   fc_exch_mgr_delete_ep since ep/exch are now deleted in pools\n   of EM and so brief new name is sufficient and better name.\n\n   Updates these functions to map exch id to their index into exch\n   pool using fc_cpu_mask, fc_cpu_order and EM min_xid.\n   This mapping is as per detailed explanation about this in\n   last patch and basically this is just as lower fc_cpu_mask\n   bits of exch id as cpu number and upper bit sum of EM min_xid\n   and exch index in pool.\n\n   Uses pool next_index to keep track of exch allocation from\n   pool along with pool_max_index as upper bound of exches array\n   in pool.\n\n3. Adds exch pool ptr to fc_exch to free exch to its pool in\n   fc_exch_delete.\n\n4. Updates fc_exch_mgr_reset to reset all exch pools of an EM,\n   this required adding fc_exch_pool_reset func to reset exches\n   in pool and then have fc_exch_mgr_reset call fc_exch_pool_reset\n   for each pool within each EM for a lport.\n\n5. Removes no longer needed exches array, em_lock, next_xid, and\n   total_exches from struct fc_exch_mgr, these are not needed after\n   use of per cpu exch pool, also removes not used max_read,\n   last_read from struct fc_exch_mgr.\n\n6. Updates locking notes for exch pool lock with fc_exch lock and\n   uses pool lock in exch allocation, lookup and reset.\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": "e4bc50bedf0dd6c63f20a7bc0a2b46667664fba1",
      "tree": "43f4e7a1d1fb5c042330c07cd0209f1b0eb92fb5",
      "parents": [
        "a69b06bc5e7b153043db8984564b731f99e014fc"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Aug 25 13:58:47 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:47:36 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: adds per cpu exch pool within exchange manager(EM)\n\nAdds per cpu exch pool for these reasons:-\n\n 1. Currently an EM instance is shared across all cpus to manage\n    all exches for all cpus. This required em_lock across all\n    cpus for an exch alloc, free, lookup and reset each frame\n    and that made em_lock expensive, so instead having per cpu\n    exch pool with their own per cpu pool lock will likely reduce\n    locking contention in fast path for an exch alloc, free and\n    lookup.\n\n 2. Per cpu exch pool will likely improve cache hit ratio since\n    all frames of an exch will be processed on the same cpu on\n    which exch originated.\n\nThis patch is only prep work to help in keeping complexity of next\npatch low, so this patch only sets up per cpu exch pool and related\nhelper funcs to be used by next patch. The next patch fully makes\nuse of per cpu exch pool in all code paths ie. tx, rx and reset.\n\nDivides per EM exch id range equally across all cpus to setup per\ncpu exch pool. This division is such that lower bits of exch id\ncarries cpu number info on which exch originated, later a simple\nbitwise AND operation on exch id of incoming frame with fc_cpu_mask\nretrieves cpu number info to direct all frames to same cpu on which\nexch originated. This required a global fc_cpu_mask and fc_cpu_order\ninitialized to max possible cpus number nr_cpu_ids rounded up to 2\u0027s\npower, this will be used in mapping exch id and exch ptr array\nindex in pool during exch allocation, find or reset code paths.\n\nAdds a check in fc_exch_mgr_alloc() to ensure specified min_xid\nlower bits are zero since these bits are used to carry cpu info.\n\nAdds and initializes struct fc_exch_pool with all required fields\nto manage exches in pool.\n\nAllocates per cpu struct fc_exch_pool with memory for exches array\nfor range of exches per pool. The exches array memory is followed\nby struct fc_exch_pool.\n\nAdds fc_exch_ptr_get/set() helper functions to get/set exch ptr in\npool exches array at specified array index.\n\nIncreases default FCOE_MAX_XID to 0x0FFF from 0x07EF, so that more\nexches are available per cpu after above described exch id range\ndivision across all cpus to each pool.\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": "a69b06bc5e7b153043db8984564b731f99e014fc",
      "tree": "dc80fe815f5045fb01414fc352c237dbcee4fa4f",
      "parents": [
        "cd305ce41be1615dfc72892e0642c6b880f58d95"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 13:58:42 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:47:34 2009 -0500"
      },
      "message": "[SCSI] fcoe: libfcoe: extra semicolon in CHECK_LOGGING macros causes compile error\n\nIf using code like this:\n\tif (foo)\n\t\tFCOE_DBG(\"foo\\n);\n\telse\n\t\tFCOE_DBG(\"bar\\n\");\n\none gets compile errors because FCOE_DBG expands with its own semicolon,\nmaking one too many for the if-statement.\n\nRemove the offending semicolon in fcoe.h and also a similar case\nin libfcoe.c.\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": "cd305ce41be1615dfc72892e0642c6b880f58d95",
      "tree": "00b863c35c20026da3836b8340156169bca0b259",
      "parents": [
        "ee610c6701875525d5c61fa6e56ddbf3e645b8df"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Aug 25 13:58:37 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:47:32 2009 -0500"
      },
      "message": "[SCSI] libfc: Fix misleading debug statement\n\nThe statement reads, \"Exchange timed out, notifying the upper layer\",\nhowever, this statement is printed whenever the timer is armed. This\nis confusing to someone debugging the code because every time an\nexchange is initialized, there is an incorrect statement stating that\nthe timer has already timed out. This patch changes the statement to\nread, \"Exchange timer armed\" which is more accurate.\n\nThis patch also adds a debug statement in the timeout handler to\nproperly indicate that the exchange has timed out.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ee610c6701875525d5c61fa6e56ddbf3e645b8df",
      "tree": "e08cce6ba26c2e7c5c8e10b5cb6a69a1a92cafac",
      "parents": [
        "70b31c152dc49ef70bd2b34ad53ccbd9bb4116d4"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Aug 25 13:58:31 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:47:30 2009 -0500"
      },
      "message": "[SCSI] fcoe: Add format spacing to FCOE_NETDEV_DBG debug macro\n\nThere\u0027s currently no space between the interface name and the\nuser specified format/string. This patch adds a space and a colon\nto the output to separate the interface name and the user\nspecified string.\n\nSo, instead of \"ethXfoo\" it will read \"ethX: foo\".\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "70b31c152dc49ef70bd2b34ad53ccbd9bb4116d4",
      "tree": "9d3c857ed4604b7843a0bec05e85afb095228082",
      "parents": [
        "d1af8a328755f51c9b76157a8692e56520d3fd94"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Aug 20 15:11:03 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:42:48 2009 -0500"
      },
      "message": "[SCSI] libiscsi, iscsi_tcp: check suspend bit before each call to xmit_task\n\nIf we had multiple tasks on the cmd or requeue  lists, and iscsi_tcp\nreturns a error, the write_space function can still run and queue\niscsi_data_xmit. If it was a legetimate problem and iscsi_conn_failure\nwas run but we raced and iscsi_data_xmit was run first it could miss\nthe suspend bit checks, and start trying to send data again and hit\nanother timeout. A similar problem is present when using cxgb3i.\n\nThis has libiscsi check the suspend bit before calling the xmit\ntask callout, so we at least do not try sending multiple tasks\n(one could be sent).\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d1af8a328755f51c9b76157a8692e56520d3fd94",
      "tree": "36abdfc44e548134d3a51feff45e3c85591d76d8",
      "parents": [
        "632248aab3170004e24512a4378fc6d9d7f3b4ac"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Aug 20 15:11:02 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:42:47 2009 -0500"
      },
      "message": "[SCSI] iscsi_tcp: add new conn error to indicate tcp conn closed\n\nIf a target closed the connection, we will detect it in the\nstate_changed or data_ready callout. This adds a new conn\nerror value to use for this problem, so it is not confused\nwith when the initiator throws a conn error and drops\nthe connection.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "632248aab3170004e24512a4378fc6d9d7f3b4ac",
      "tree": "92a1044d22bd70244298aeb4e4ff1ed164419cfa",
      "parents": [
        "b06fc73a9ebd352065dd4dd3139fb53ed72ac970"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Aug 20 15:11:01 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:42:45 2009 -0500"
      },
      "message": "[SCSI] iscsi class: Add logging to scsi_transport_iscsi.c\n\nLogging for connections and sessions in the scsi_transport_iscsi module\nis now controlled by module parameters.\n\nSigned-off-by: Erez Zilber \u003cerezzi.list@gmail.com\u003e\n[Mike Christie: newline fixups and modification of some dbg statements]\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b06fc73a9ebd352065dd4dd3139fb53ed72ac970",
      "tree": "4396a2337dd0151b3f54926d7d1bd64d55d19f88",
      "parents": [
        "8afa1439fcff58da8f28c1d083046f229f6ab3de"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Aug 20 15:11:00 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:42:44 2009 -0500"
      },
      "message": "[SCSI] qla4xxx: Removed residual from overrun debug print\n\nThe residual variable is only valid for udnerrun so do\nnot print it out for the overrun case.\n\nSigned-off-by: Karen Higgins \u003ckaren.higgins@qlogic.com\u003e\n[Mike Christie: Fix coding style issues in patch]\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8afa1439fcff58da8f28c1d083046f229f6ab3de",
      "tree": "ef09869134e5aadbc883762b4b1668619229463a",
      "parents": [
        "d3305f3407fa3e9452079ec6cc8379067456e4aa"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Aug 20 15:10:59 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:42:42 2009 -0500"
      },
      "message": "[SCSI] libiscsi: handle immediate command rejections\n\nIf we sent multiple pdus as immediate the target could be\nrejecting some and we have just been dropping the rejection\nnotification. This adds code to handle nop-out rejections,\nso if a nop-out was sent as a ping and rejected we do not\nmark the connection bad. Instead we just clean up the timers\nsince we have pdu making a rount trip we know the connection\nis good.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d3305f3407fa3e9452079ec6cc8379067456e4aa",
      "tree": "8e8abaea070305d25d9de788dd07e5cdbd8b6f83",
      "parents": [
        "523eeac6703a995d58918aaf321f128f75c13108"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Aug 20 15:10:58 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:42:41 2009 -0500"
      },
      "message": "[SCSI] libiscsi: don\u0027t increment cmdsn if cmd is not sent\n\nWe increment session-\u003ecmdsn at the top of iscsi_prep_scsi_cmd_pdu, but\nif the prep  ecb or prep bidi or init_task calls fails then we leave the\nsession-\u003ecmdsn incremented. This moves the cmdsn manipulation to the end\nof the function when we know it has succeeded.\n\nIt also adds a session-\u003ecmdsn--; in queuecommand for if a driver like\nbnx2i tries to send a a task from that context but it fails. We do not\nhave to do this in the xmit thread context because that code will retry\nthe same task if the initial call fails.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "523eeac6703a995d58918aaf321f128f75c13108",
      "tree": "b9d0ffa377b5d41144961709d94b10415f610e19",
      "parents": [
        "ac280b670e6d6666667aba02324e2fc50bd96ae7"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Thu Aug 20 15:10:57 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:42:39 2009 -0500"
      },
      "message": "[SCSI] iscsi_tcp: Evaluate socket state in data_ready()\n\nThe network core will call the state_change() callback\nprior to the data_ready() callback, which might cause\nus to lose a connection state change.\nSo we have to evaluate the socket state at the end\nof the data_ready() callback, too.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ac280b670e6d6666667aba02324e2fc50bd96ae7",
      "tree": "4d0d9187b26513ef9f820ab140f29a4f49f678b8",
      "parents": [
        "cf53b069f52ae3f83dec1acd339e3c3a2e979478"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Thu Aug 20 11:06:05 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:41:57 2009 -0500"
      },
      "message": "[SCSI] qla2xxx: Add asynchronous-login support.\n\nISPs which support this feature include 23xx and above.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "cf53b069f52ae3f83dec1acd339e3c3a2e979478",
      "tree": "98764fcfd96cacf5aa2f7874deddf4ac558c5a83",
      "parents": [
        "dc162b63bfc4201ca5c13df3fc8836c56979eb07"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Thu Aug 20 11:06:04 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:41:55 2009 -0500"
      },
      "message": "[SCSI] qla2xxx: Generalize srb structure usage.\n\nLay groundwork for adding alternative asynchronous operations by\ngeneralize and extending the SRB structure.  This allows for\nfollow-on patches to add support for:\n\n- Asynchronous logins.\n- ELS/CT passthru requests.\n- Loopback requests.\n- Non-blocking mailbox commands (ABTS, Task Management, etc).\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "dc162b63bfc4201ca5c13df3fc8836c56979eb07",
      "tree": "df02db8ba33d0968b945addd58b544d79db6bbf1",
      "parents": [
        "5b768581ea722172f059ad5a5eebea9008961af0"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Thu Aug 20 13:25:03 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:36:43 2009 -0500"
      },
      "message": "[SCSI] mpt2sas: Bump driver version 01.100.06.00\n\nBump version to 01.100.06.00\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nReviewed-by:: Eric Moore \u003cEric.moore@lsi.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5b768581ea722172f059ad5a5eebea9008961af0",
      "tree": "1bd620747bcbcf6abae9e8f8e46ce0beb6029bfc",
      "parents": [
        "ed79f1280d1bc54f168abcffc8c3e0bf8ffb1873"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Thu Aug 20 13:24:31 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:36:30 2009 -0500"
      },
      "message": "[SCSI] mpt2sas: cleanup interrupt routine and config_request optimization\n\nCleaned up base_interrupt routine to be more effiecent.\n\nDeleted about a third of the config page API by moving redundant code from all\nthe calling functions to _config_request.\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nReviewed-by: Eric Moore \u003cEric.moore@lsi.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ed79f1280d1bc54f168abcffc8c3e0bf8ffb1873",
      "tree": "61974bec8071cd483cd562bd465ed8a2adb09896",
      "parents": [
        "34a03bef2202d0c9983a8da0a8abaee37d285847"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Thu Aug 20 13:23:49 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:36:13 2009 -0500"
      },
      "message": "[SCSI] mpt2sas: Raid 10 Volume is showing as Raid 1E in dmesg\n\nThis patch modifies the slave_configure callback so the messages that get sent\nto system log for RAID1E volumes contain the string \"RAID10\" instead of\n\"RAID1E\". These messages contain information regarding what kind of scsi device\nis being added. Certain OEMS can enable displaying the RAID10 string instead of\nRAID1E via manufacturing page 10.   The driver will read this config page at\ndriver load time, then determine from the GenericFlags0 bits whether display\nthe RAID10 or RAID1E string, also even drive count is taken into consideration.\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nReviewed-by: Eric Moore \u003cEric.moore@lsi.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "34a03bef2202d0c9983a8da0a8abaee37d285847",
      "tree": "50d1c2ed4aa4a10eaeb50923a473a51b5356246a",
      "parents": [
        "cc0f5207664f85da8d0b2ebdacec5daaee0ce95f"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Thu Aug 20 13:23:19 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:35:48 2009 -0500"
      },
      "message": "[SCSI] mpt2sas: setting SDEV into RUNNING state from Interrupt context\n\nChanging SDEV Running state from interrupt context. Previously It was\nhandle in work queue thread. With this change It will not wait for work\nqueue thread to execute scsih_ublock_io_device to put SDEV into Running\nstate. This will reduce delay for Device becoming RUNNING.\n\nModified this patch considering James comment \"Not to change SDEV state\nusing  scsi_device_set_state API, instead use scsi_internal_device_unblock\nscsi_internal_device_block API\"\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nReviewed-by: Eric Moore \u003cEric.moore@lsi.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "cc0f5207664f85da8d0b2ebdacec5daaee0ce95f",
      "tree": "226eefb4c32e7bae31ae7fb7a4a43d2a0c74acad",
      "parents": [
        "155dd4c763694222c125e65438d823f58ea653bc"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Thu Aug 20 13:22:39 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:35:07 2009 -0500"
      },
      "message": "[SCSI] mpt2sas: Removed wrapper funtions _scsih_link_change.\n\nDeleted the wrapper function called _scsih_link_change. This function was\nimplemented for compatibility reasons only, between different kernel versions.\nCurrently this function is no longer needed.  The calling function are\nconverted to calling mpt2sas_transport_update_phy_link_change directly in the\ntransport layer.\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nReviewed-by: Eric Moore \u003cEric.moore@lsi.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "155dd4c763694222c125e65438d823f58ea653bc",
      "tree": "0db7b5b8d41c165222357ac8dee45482f1425faa",
      "parents": [
        "cd4e12e8ad246ec5bc23ab04d0da0e6985025620"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Thu Aug 20 13:22:00 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:34:49 2009 -0500"
      },
      "message": "[SCSI] mpt2sas: Prevent sending command to FW while Host Reset\n\nThis patch renames the flag for indicating host reset from\nioc_reset_in_progress to shost_recovery. It also removes the spin locks\nsurrounding the setting of this flag, which are unnecessary.   Sanity checks on\nthe shost_recovery flag were added thru out the code so as to prevent sending\nfirmware commands during host reset.  Also, the setting of the shost state to\nSHOST_RECOVERY was removed to prevent deadlocks, this is actually better\nhandled by the shost_recovery flag.\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nReviewed-by: Eric Moore \u003cEric.moore@lsi.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "cd4e12e8ad246ec5bc23ab04d0da0e6985025620",
      "tree": "d70dec04648c16b4c04d20935207d38a6eceb6e4",
      "parents": [
        "69cb48750b02034350bc78d8053647d7464cdde0"
      ],
      "author": {
        "name": "Kashyap, Desai",
        "email": "kashyap.desai@lsi.com",
        "time": "Thu Aug 20 13:20:54 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:34:21 2009 -0500"
      },
      "message": "[SCSI] mpt2sas : Rescan topology from Interrupt context instead of work thread\n\nFollowing host reset its possible that the controller firmware could\nassign new handles for devices, as well as adding or deleting devices. There is\ncode in the driver that will rescan the topology folowing host reset; updating\ndevice handles, and remove devices that are no longer responding. This patch\nwill improve the responsivness by moving this rescaning from the delayed hotplug\nworker thread to immediately following the host reset.\n\nSigned-off-by: Kashyap Desai \u003ckashyap.desai@lsi.com\u003e\nReviewed-by: Eric Moore \u003cEric.moore@lsi.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "69cb48750b02034350bc78d8053647d7464cdde0",
      "tree": "3dbcf5114ed1d65b1110f5e86c268ce5f2509b9d",
      "parents": [
        "41e05a12c7aae16f0381103af3e5ca791e87ce59"
      ],
      "author": {
        "name": "Ed Lin",
        "email": "ed.lin@promise.com",
        "time": "Tue Aug 18 12:15:14 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 08:50:41 2009 -0500"
      },
      "message": "[SCSI] stex: Add reset code for st_yel (v2)\n\nAdd reset related code for st_yel.\n1. Set the SS_H2I_INT_RESET bit.\n2. Wait for the SS_MU_OPERATIONAL flag. This is also part of\n   normal handshake process so move it to handshake routine.\n3. Continue handshake with the firmware.\n\nSigned-off-by: Ed Lin \u003ced.lin@promise.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "41e05a12c7aae16f0381103af3e5ca791e87ce59",
      "tree": "3db57f11d9f2183215a52796fea113ce96b5abd8",
      "parents": [
        "b592e89ac9af521be164490e45c53c93e89c776f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Aug 18 15:43:32 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 08:49:49 2009 -0500"
      },
      "message": "[SCSI] zfcp: optimize zfcp_qdio_account\n\nRemove expensive ktime_get()/ktime_us_delta() functions from the hot\npath and use get_clock_monotonic() instead. This elimates seven\nfunction calls and avoids a lot of unnecessary calculations.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b592e89ac9af521be164490e45c53c93e89c776f",
      "tree": "d344abae4fc3a829389df72adcd91f5f3a7603b8",
      "parents": [
        "0fac3f477b6b520ae7d972ceb6e958e6807c8e1a"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Aug 18 15:43:31 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 08:49:48 2009 -0500"
      },
      "message": "[SCSI] zfcp: Remove duplicated code for debug timestamps\n\nThe timestamp calculation used for s390dbf output is the same in a\nprivate zfcp function and in debug.c. Replace both with a common\ninline function.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "0fac3f477b6b520ae7d972ceb6e958e6807c8e1a",
      "tree": "bef6ee15c92486613dd918de6a8ff00311fc379d",
      "parents": [
        "f4395b652636398eb4712e6f3caf79c9a6c02e21"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Aug 18 15:43:30 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 08:49:46 2009 -0500"
      },
      "message": "[SCSI] zfcp: Handle failures during device allocation correctly\n\ndev_set_name tries to allocate memory, so check the return value for\nallocation failures. After dev_set_name succeeds, call device_register\nas next step to be able to use put_device during error handling.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f4395b652636398eb4712e6f3caf79c9a6c02e21",
      "tree": "178529e316a42de451f5620275b1e505c1a24145",
      "parents": [
        "24680defdb55e073c5e43d14318a164b842d8ce7"
      ],
      "author": {
        "name": "Sebastian Ott",
        "email": "sebott@linux.vnet.ibm.com",
        "time": "Tue Aug 18 15:43:29 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 08:49:44 2009 -0500"
      },
      "message": "[SCSI] zfcp: proper use of device register\n\nDon\u0027t use kfree directly after device registration started.\n\nSigned-off-by: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "24680defdb55e073c5e43d14318a164b842d8ce7",
      "tree": "d1d054c831d85b175e560c562694a265f00a9191",
      "parents": [
        "143bb6bfe36d20618d8bf667915fe14d14b8ae2f"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Aug 18 15:43:28 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 08:49:42 2009 -0500"
      },
      "message": "[SCSI] zfcp: Replace config semaphore with mutex\n\nThe config semaphore is only used as a mutex, so replace it with a\nsimple mutex.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    }
  ],
  "next": "143bb6bfe36d20618d8bf667915fe14d14b8ae2f"
}
