)]}'
{
  "log": [
    {
      "commit": "7b2787ec15b9d1c2f716da61b0eec21a3f5e6520",
      "tree": "39b098d4253fa266ea75bf1f7feb75458e78b77d",
      "parents": [
        "5e4f8fe7b58f4da5043b7f219fe9193cddd9262e"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri May 07 15:18:41 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 16 22:22:34 2010 -0400"
      },
      "message": "[SCSI] libfc: Move the port_id into lport\n\nThis patch creates a port_id member in struct fc_lport.\nThis allows libfc to just deal with fc_lport instances\ninstead of calling into the fc_host to get the port_id.\n\nThis change helps in only using symbols necessary for\noperation from the libfc structures. libfc still needs\nto change the fc_host_port_id() if the port_id changes\nso the presentation layer (scsi_transport_fc) can provide\nthe user with the correct value, but libfc shouldn\u0027t\nrely on the presentation layer for operational 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": "1b80e0f91c41db4633c0a61f727de169a9e9b275",
      "tree": "eda3295e4b1f609727bbb661410dd17093f62e96",
      "parents": [
        "721cafafb66f57b461226aa197997f3e5b296f91"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri May 07 15:18:24 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 16 22:22:29 2010 -0400"
      },
      "message": "[SCSI] libfc: Remove unused fc_get_host_port_type\n\nRemove this unused routine.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b3667f9177359b0594e4f2cd5cc01115f8c7e2af",
      "tree": "07fe41c0fd9ffb0e9a6763b469fc0783beda14d5",
      "parents": [
        "f1af6208c8cef81e313ec2e64b44e783c3a11c13"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri May 07 15:18:13 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 16 22:22:25 2010 -0400"
      },
      "message": "[SCSI] libfc: set seq_id for incoming sequence\n\nAfter the recent patch \"fixes unnecessary seq id jump\"\nthe SCST module fcst stopped working because multi-sequence\nwrite data wasn\u0027t finding the sequence after the first frame.\n\nAdd back the setting of the seq_id when the first frame arrives.\nAlso fix indentation on two lines.\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": "9f8f3aa640ae5da220eea95215317f19ace91481",
      "tree": "ef2d97aee5de5f83e53fe2645a7a30aa8a3980c7",
      "parents": [
        "ce8b5df04292e93a117d9f863af206245bf61271"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Fri Apr 09 14:23:16 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 14:02:42 2010 -0500"
      },
      "message": "[SCSI] libfc, fcoe: normalize format specifies for world wide names\n\nPrint all world wide node names (node, port and fabric) with the same\nformat specifier of \"%16.16llx\".  That makes sure they all print as a\n16 character hex string, with lower case letters, no 0x prefix, and\nwithout stripping off any leading 0s.\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": "ce8b5df04292e93a117d9f863af206245bf61271",
      "tree": "fb10dd4b931756765b3352402d83033a326b9c30",
      "parents": [
        "63ac4bbffb40f2cb3bc7e8b11bac47598813ea13"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Fri Apr 09 14:23:10 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 14:02:41 2010 -0500"
      },
      "message": "[SCSI] libfc: set both precision and field with when printing FC IDs\n\nMost of the prints of fabric IDs were specified as %6x, which will not\nprint any leading 0s.  It\u0027s nice to see leading 0s for identifiers\nlike this, which are a fixed length.  This patch sets the precision\nmodifier as well, making the specifier %6.6x, which forces the\nprinting of leading 0s.\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": "63ac4bbffb40f2cb3bc7e8b11bac47598813ea13",
      "tree": "1b0abf1576e58549f3a89e218e3ab67e55f205e1",
      "parents": [
        "da87bfab8a7e6cfd0e1e5c5874d7fd4f7d11e64e"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Apr 09 14:23:05 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 14:02:40 2010 -0500"
      },
      "message": "[SCSI] libfc: bug in erroring out upon FCP_RSP_LEN_VAL in fc_fcp_resp\n\nfc_fcp_resp is assuming when FCP_SNS_LEN_VAL is set, the FCP_RSP_LEN_VAL\nis not, which is not true. This leads to not copying the sense data and\nerror out a valid FCP_RSP.\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": "3b719d01617288f4c11307fcb933997d7ca895c3",
      "tree": "ef32a4a92838107a17b539f50963f1347af1f9c6",
      "parents": [
        "03d29bc1d58dcfc2fa30aed7af199f24444c2052"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Apr 09 14:22:33 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 14:02:33 2010 -0500"
      },
      "message": "[SCSI] libfc: remove unneeded variables in fc_exch_recv_req()\n\nfc_exch_recv_req has variables eof, sof, and f_ctl,\nwhich are set but never used.  Delete 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": "f018b73af6db4f330ad5da9ac53997a699c30c42",
      "tree": "4f4e9405d923c0021771549dbdec34569c0e27a7",
      "parents": [
        "b3ef990c1514859bffae221b9e82e46a38f1e7bf"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:08:55 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:44 2010 -0500"
      },
      "message": "[SCSI] libfc, libfcoe, fcoe: use smp_processor_id() only when preempt disabled\n\nWhen the kernel is configured for preemption, using smp_processor_id()\nwhen preemption is enabled causes a warning backtrace and is wrong\nsince we could move off of that CPU as soon as we get the ID,\nand we would be referencing the wrong CPU, and possibly an invalid one\nif it could be hotswapped out.\n\nRemove the fc_lport_get_stats() function and explicitly use per_cpu_ptr()\nto get the statistics.  Where preemption has been disabled by holding\na _bh lock continue to use smp_processor_id(), but otherwise use\nget_cpu()/put_cpu().\n\nIn fcoe_recv_frame() also changed the cases where we return in the\nmiddle to do a goto to the code which bumps ErrorFrames and does\na put_cpu().  Two of these cases didn\u0027t bump ErrorFrames before, but\ndoing so is harmless because they \"can\u0027t happen\", due to prior length\nchecks.\n\nAlso rearranged code in fcoe_recv_frame() to have only one call to\nfc_exch_recv().  It\u0027s just as efficient and saves a call to put_cpu().\n\nIn fc_fcp.c, adjusted a FIXME comment for code which doesn\u0027t need fixing.\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": "b3ef990c1514859bffae221b9e82e46a38f1e7bf",
      "tree": "0c1c7887fa668883d49856303c8ed51b2e09afd5",
      "parents": [
        "5c12c418e905aac2826bb70f947648944c079ed9"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Mar 12 16:08:50 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:44 2010 -0500"
      },
      "message": "[SCSI] libfc: Add debug statements when fc_fcp returns DID_ERROR to scsi-ml\n\nDID_ERROR cases can be ambigouos. Debugging FCP error cases\nwill be much easier if we have debug statements when we hit\nthese error conditions.\n\nThis patch simply adds debug messages using the FC_FCP_DBG\nmacro when we return DID_ERROR to SCSI. This way if a DID_ERROR\nis reproducible turning on debug_logging will give a clue\nto developers as to what the problem might be.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5c12c418e905aac2826bb70f947648944c079ed9",
      "tree": "802e2e53f57361a6d3899bee226354813c94597f",
      "parents": [
        "3e22760d4db6fd89e0be46c3d132390a251da9c6"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Mar 12 16:08:44 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:42 2010 -0500"
      },
      "message": "[SCSI] libfc: fix fcp pkt recovery in fc_fcp_recv_data\n\nCurrently fc_fcp_recv_data calls fc_fcp_retry_cmd to\nretry failed IO but in this case tgt is still sending\ndata frames, therefore exchange needs to be aborted\nfirst before initiating retry. So this patch fixes\nthis by aborting exchange first then have retry.\n\nRenames fc_timeout_error to fc_fcp_recovery since\nfc_timeout_error is already called from several other\nplaces beside from fcp timeout handler and then\nused fc_fcp_recovery for abort \u0026 retry from\nfc_fcp_recv_data, this rename also required renaming\nFC_CMD_TIME_OUT status to FC_CMD_RECOVERY to be\nconsistent with new fc_fcp_recovery.\n\nData frames are not expected for an DDPed exchange and\npotentially it could be tampered data frame, so does\nrecovery in this case by calling fc_fcp_recovery.\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": "3e22760d4db6fd89e0be46c3d132390a251da9c6",
      "tree": "d5a80fbf99483362473956913f8a136dbb2c3c66",
      "parents": [
        "a104c844576c6bdc44c6f1336e30a5fcd90fef1c"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Mar 12 16:08:39 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:41 2010 -0500"
      },
      "message": "[SCSI] libfc: use offload EM instance again instead jumping to next EM\n\nSince use of offloads is more efficient than switching\nto non-offload EM. However kept logic same to call em_match\nif it is provided in the list of EMs.\n\nConverted fc_exch_alloc to inline being now tiny a function\nand already not an exported libfc API any more.\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": "a104c844576c6bdc44c6f1336e30a5fcd90fef1c",
      "tree": "663dcc3412254f0f004d014b93f2f96b402e14a1",
      "parents": [
        "cc3593d3882ffa7dfaa739a8302b256955be7d99"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Mar 12 16:08:34 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:41 2010 -0500"
      },
      "message": "[SCSI] libfc: fixes unnecessary seq id jump\n\nIn some cases seq is incremented twice causing unnecessary\nseq jump, for instance fc_exch_recv_seq_resp increments\nseq id when fc_sof_is_init is true and that is true for\neach incoming xfer ready but then fc_fcp_send_data does\nanother seq increment to send data for xfer ready.\n\nThis patch removes all such seq id jumps, at least it\neliminates few calls to fc_seq_start_next using ex_lock.\n\nAlso removes seq id update with incoming frame\u0027s seq id\nas this is not needed since each end (I or T) just need\nto send incremented their own seq id on each TSI from\nother end \u0026 before sending new sequence within a\nexchange.\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": "cc3593d3882ffa7dfaa739a8302b256955be7d99",
      "tree": "37e31656c73be8a19a1a6cea48597d14315db163",
      "parents": [
        "4291365784c9622c9d643cf23421f9c7b9662d71"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:08:29 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:40 2010 -0500"
      },
      "message": "[SCSI] libfc: fix sequence-initiative WARN in fc_seq_start_next\n\nWhen starting a new response sequence in a multi-sequence\nexchange, a warning was issued that sequence initiative\nwasn\u0027t held.\n\nThe bug was that sequence initiative was cleared by the previous\nsequence due to the END_SEQ flag being on.  The intent may have\nbeen to check LAST_SEQ.  Change just to check SEQ_INIT.\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": "ccfc3098029229d5298d4fc07f1b2c967526e56b",
      "tree": "b3f2e03df96a0968aa4ff0c434cdfca6134a8eb2",
      "parents": [
        "f4568b8b9766d083c0e61346173bb22274128208"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:08:12 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:37 2010 -0500"
      },
      "message": "[SCSI] libfc: send point-to-poin FLOGI LS_ACC to assigned D_DID\n\nThe method we\u0027ve been using for point-to-point mode requires\nthat the LS_ACC for the FLOGI uses the D_ID and S_ID assigned\nto the remote port and local port, not those in the exchange.\n\nThis is not the correct method, but for now, it\u0027s what works\nwith the old target, as well as with new targets based on libfc.\n\nThis patch changes the addresses used accordingly.\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": "f4568b8b9766d083c0e61346173bb22274128208",
      "tree": "ef55e06fd86a64127a19eb9100f7cbd114e8564b",
      "parents": [
        "7d65b0df6c5951271cd368170bca8601aa2e65c7"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:08:07 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:37 2010 -0500"
      },
      "message": "[SCSI] libfc: recognize incoming FLOGI for point-to-point mode\n\nWhen receiving a FLOGI request from a point-to-point peer,\nthe D_ID of 0xfffffe was not recognized as belonging to one\nof the lports, so it was dropped.\n\nChange fc_vport_id_lookup() to treat d_id 0xfffffe as a match.\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": "2f2ac4a0df8c4beee6e4057a69fa973b6040a573",
      "tree": "2ff71d9b1f13ff9cc0ed120725f68f003d7b9ae7",
      "parents": [
        "4dc7ccf7e9d9bca1989b840be9e8e84911387cf2"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:07:46 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:34 2010 -0500"
      },
      "message": "[SCSI] libfc: fix oops in point-to-point mode\n\nIn point-to-point mode, if the PLOGI to the remote port times\nout, it can get deleted by the remote port module.  Since there\u0027s\nno reference by the local port, lport-\u003eptp_data points to a freed\nrport, and when the local port is reset and tries to logout again,\nan oops occurs in mutex_lock_nested().\n\nHold a reference count on the point-to-point rdata.\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": "a2f6a024e1a7ce37f424a567733501d98b8555d7",
      "tree": "df6fd29c5b7b8459077c09be3dac6829b22ae58a",
      "parents": [
        "fc193172e63af2c749e198816a1ee694dd6395e6"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:07:36 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:33 2010 -0500"
      },
      "message": "[SCSI] libfc: recode incoming PRLI handling\n\nReduce indentation in fc_rport_recv_prli_req() using gotos.\nAlso add payload length checks.\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": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "b248df30fca3aeee1d650b570e8cbc4e8cc45710",
      "tree": "fefe362a9c9513aa3a0e59a643827952d5ad383e",
      "parents": [
        "3b709150b73205710d05128b925090aac048ed23"
      ],
      "author": {
        "name": "Hugh Daschbach",
        "email": "hdasch@broadcom.com",
        "time": "Thu Jan 21 10:15:55 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 09:57:01 2010 -0600"
      },
      "message": "[SCSI] libfc: Don\u0027t assume response request present.\n\nFix NULL pointer dereference crash occurs in fc_lport_bsg_request()\nfor bsg requests that do not contain a response request.\nSpecifically, FC_BSG_HST_ADD_RPORT and FC_BSG_HST_DEL_RPORT bsg\nrequests are not guaranteed to include a response request.\n\nSigned-off-by: Hugh Daschbach \u003chdasch@broadcom.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3b709150b73205710d05128b925090aac048ed23",
      "tree": "f49d1974c3fd1a04cdacb0fa999ab874fc61e58d",
      "parents": [
        "10897ae71dd6e205969726e0f817f3327ef32f83"
      ],
      "author": {
        "name": "Hugh Daschbach",
        "email": "hdasch@broadcom.com",
        "time": "Thu Jan 21 10:15:49 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 09:56:59 2010 -0600"
      },
      "message": "[SCSI] libfc: Fix e_d_tov ns -\u003e ms scaling factor in PLOGI response.\n\nBoth PLOGI and RTV response processing conditionally scale e_d_tov,\nbut use different scaling factors.  The scaling factor is correct in\nRTV response processing.  Bring PLOGI e_d_tov scaling in line with RTV\ncommon service parameter inspection.\n\nSigned-off-by: Hugh Daschbach \u003chdasch@broadcom.com\u003e\nAcked-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "10897ae71dd6e205969726e0f817f3327ef32f83",
      "tree": "1521dd75fa922bd42e8a91dc2d82ec6b06a7c696",
      "parents": [
        "fee099b278894a1c7383a08cb3c62a5b62a134e8"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Thu Jan 21 10:15:44 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 09:56:57 2010 -0600"
      },
      "message": "[SCSI] libfc: call ddp setup for only FCP reads to avoid accessing junk fsp pointer\n\nAdds check to call fc_fcp_ddp_setup for only FCP read cmds to avoid\naccessing junk fsp pointer at least in ESX since non FCP frame had\njunk fsp value, though fsp is implicitly initialized to null\nby __alloc_skb but with this patch no more relying on fsp\ninitialized to null value and hitting junk fsp ptr access.\n\nRemoves fsp pointer checking in fc_fcp_ddp_setup as this is not\nneeded any more since its only caller for FCP read will always\nhave a valid fsp.\n\nReported by: Frank Zhang \u003cfrank_1.zhang@intel.com\u003e\nReported by: Rob Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3ad2f3fbb961429d2aa627465ae4829758bc7e07",
      "tree": "f365c513e8f5b477a61336a600ff54f32b7ad6e1",
      "parents": [
        "1537a3638cbf741d3826c1002026cce487a6bee0"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Feb 03 08:01:28 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 09 11:13:56 2010 +0100"
      },
      "message": "tree-wide: Assorted spelling fixes\n\nIn particular, several occurances of funny versions of \u0027success\u0027,\n\u0027unknown\u0027, \u0027therefore\u0027, \u0027acknowledge\u0027, \u0027argument\u0027, \u0027achieve\u0027, \u0027address\u0027,\n\u0027beginning\u0027, \u0027desirable\u0027, \u0027separate\u0027 and \u0027necessary\u0027 are fixed.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "9ddc5b6f18fbac07d2746566b73b89e89fdd4e6a",
      "tree": "aaf691482ac8e36ccccb413b9b698063e6d0b489",
      "parents": [
        "659431fcafd820cc426afedadcc4548933224985"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Jan 20 17:02:24 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 05 12:22:40 2010 +0100"
      },
      "message": "tree-wide: fix typos \"ammount\" -\u003e \"amount\"\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "55a66d3c1e57f7e3e554d6ec8011e840f3802f20",
      "tree": "b13e6446ce4d397e5c7d774bf942a2563e1248e5",
      "parents": [
        "c1ecb90a66c5afc7cc5c9349f9c3714eef4a5cfb"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Thu Dec 10 09:59:31 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Dec 12 16:30:34 2009 -0600"
      },
      "message": "[SCSI] fcoe, libfc: adds enable/disable for fcoe interface\n\nThis is to allow fcoemon util to enable or disable a fcoe interface\naccording to DCB link state change.\n\nAdds sysfs module param enable and disable for this and also\nupdates existing other module param description to be consistent\nand more accurate since older description had double \"fcoe\" word\nwith less meaningful netdev reference to user space.\n\nAdds code to ignore redundant fc_lport_enter_reset handling for a\nalready disabled fcoe interface by checking LPORT_ST_DISABLED\nor LPORT_ST_LOGO states, this also prevents lport state transition\non link flap on a disabled interface.\n\nAbove changes required lport state transition to get out of\ndisabled or logo state on call to fc_fabric_login.\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": "c1ecb90a66c5afc7cc5c9349f9c3714eef4a5cfb",
      "tree": "9240283c872e0c110c0fef2e424180fc62bed487",
      "parents": [
        "5543c72e2bbb30e5ba5938b18ec26617b8b3fb04"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Thu Dec 10 09:59:26 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Dec 12 16:30:33 2009 -0600"
      },
      "message": "[SCSI] libfc: reduce hold time on SCSI host lock\n\nIntroduce a new lock to protect the list of fc_fcp_pkt structs in libfc\ninstead of using the host lock.  This reduces the contention of this heavily\nused lock, and I see up to a 25% performance gain in CPU bound small I/O\ntests when scaling out across multiple quad-core CPUs.\n\nThe big win is in removing the host lock from the completion path\ncompletely, as it does not need to be held around the call to scsi_done.\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": "5543c72e2bbb30e5ba5938b18ec26617b8b3fb04",
      "tree": "eca32103b2d2b70f8aa8499144a8db2c40b00645",
      "parents": [
        "83e7332941e3e2621502aadb0e5c8a3b11fd1197"
      ],
      "author": {
        "name": "Abhijeet Joglekar",
        "email": "abjoglek@cisco.com",
        "time": "Thu Dec 10 09:59:20 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Dec 12 16:29:47 2009 -0600"
      },
      "message": "[SCSI] libfc: remote port gets stuck in restart state without really restarting\n\nWe ran into a scenario where a remote port goes into RESTART state, but\nnever gets added to scsi transport. The running vmcore showed the following:\na) Port was in RESTART state\nb) rdata-\u003eevent was STOP\nc) no work gets scheduled for the remote work to fc_rport_work\n\nAfter this point, shut/no-shut of the remote port did not cause the port\nto get re-discovered. The port would move betwen DELETE and RESTART states,\nbut the event would always be STOP, no work would get scheduled to\nfc_rport_work and the port would not get added to scsi_transport.\n\nThe problem is that rdata-\u003eevent is not set to NONE after a port is\nrestarted. After this point, no more work gets scheduled for the remote port\nsince new work is scheduled only if rdata-\u003eevent is non-NONE. So, the event\nand state keep changing, but fc_rport_work does not get scheduled to actually\nhandle the event.\n\nHere\u0027s a transition of states that explains the above observation:\n\n) Port is first in READY State, event is NONE\n\n2) RSCN on shut, port goes to DELETED, event is stop\n\n3) Before fc_rport_work runs, RSCN on no-shut, port goes to RESTART, event is\nstill STOP\n\n4) fc_rport_work gets scheduled, removes the port from transport, sees state\nas RESTART, begins the PLOGI state machine, event remains as STOP (event NOT\nchanged to NONE, this is the bug)\n\n5) Plogi state machine completes, port state goes to READY, event goes to\nREADY, but no work is scheduled since event was STOP (non-NONE) before.\nFc_rport_work is not scheduled, port remains in READY state, but is not added\nto transport.\n\nThings are broken at this point. Libfc rport is ready, but no transport rport\ncreated.\n\n6) now a shut causes port state to change to DELETE, event to change to STOP,\nno work gets scheduled\n\n7) no-shut causes port state to change to RESTART, event remains at STOP,\nno work gets scheduled\n\n(6) and (7) now get repeated everytime we do shut/no-shut. No way to get out\nof this state. Fcc reset does not help too.\n\nOnly way to get out is to load/unload module.\n\nFix is to set rdata-\u003eevent to NONE while processing the STOP/LOGO/FAILED\nevents, inside the discovery and rport locks.\n\nSigned-off-by: Abhijeet Joglekar \u003cabjoglek@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": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "63e27fb80c2010678681cef7b528ab8af3624fe9",
      "tree": "2ce41c886c976ead202044eb32d3e9aacc97e023",
      "parents": [
        "b84056bf68404a5fe06b452ea9790b9927e793a6"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Nov 20 14:55:24 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:59 2009 -0600"
      },
      "message": "[SCSI] libfc: add support of receiving ELS_RLS\n\nUpon receiving ELS_RLS, send the Link Error Status Block (LESB) back.\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": "70d919fbd9ab78f3eca5ea7bd060fefd7b508641",
      "tree": "569a8f9d127e962fbdc6df0b7ac9156534e36baf",
      "parents": [
        "2a7045212cef90337588f72f5dabf497f5f93a90"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Nov 20 14:54:41 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:54 2009 -0600"
      },
      "message": "[SCSI] libfc: fix payload size passed to fc_frame_alloc() in fc_lport_els_request\n\nFrame header room is already incluced, just pass the length of payload.\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": "b94f8951bf256674eca3f2a490df17521442afef",
      "tree": "ae6b246eb65f7ef73167a2b582ce7e670158a958",
      "parents": [
        "be276cbe1bd680ab1f6c297017dd658e5a6b10d2"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:50:21 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:27 2009 -0600"
      },
      "message": "[SCSI] libfc fcoe: increase ELS and CT timeouts\n\nThe FC-LS spec. says ELS timeouts should be 2 x R_A_TOV.\nThe FC-GS spec. says CT timeouts should be 3 x R_A_TOV.\n\nWe\u0027ve been using E_D_TOV for both of those.\n\nChange for all ELS and CT requests except FLOGI, which we\nleave at 2 seconds (using E_D_TOV).  One could argue that\nR_A_TOV is locally determined until after FLOGI succeeds.\n\nThis does change FLOGI for vports which becomes FDISC.\nThis does not change the REC/SRR timeout which is 2 seconds.\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": "4ae1e19f251335a24ce6cd13f08b4af560ed8765",
      "tree": "2a22a5722e3e6740f9dfad1d59f92cac7229c988",
      "parents": [
        "18fa11efc279c20af5eefff2bbe814ca067e51ae"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Nov 03 11:50:10 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:26 2009 -0600"
      },
      "message": "[SCSI] libfc: fix an issue of pending exch/es after i/f destroyed or rmmod fcoe\n\nAll exches must be freed before its EM mempool destroyed in this\ncase but currently some exches could be still pending in their\nscheduled delayed work after EM mempool is destroyed causing\nthis issue discussed and reported in this latest email thread:-\n\n http://www.open-fcoe.org/pipermail/devel/2009-October/004788.html\n\nThis patch fixes this issue by adding dedicated work queue thread\nfc_exch_workqueue for exch delayed work and then flush this work\nqueue before destroying EM mempool.\n\nThe cancel_delayed_work_sync cannot be called during final\nfc_exch_reset due to lport and exch locking ordering, so removes\nrelated comment block not relevant any more with this patch.\n\nReported-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "18fa11efc279c20af5eefff2bbe814ca067e51ae",
      "tree": "fc8b911554aa04c1ed7f6a5ebe31ef6aa2ea0379",
      "parents": [
        "cc0136c2e9c10e889cb36e39710c0eb10707b396"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:50:05 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:25 2009 -0600"
      },
      "message": "[SCSI] libfc, fcoe: fixes for highmem skb linearize panics\n\nThere are cases outside of our control that may result in a transmit\nskb being linearized in dev_queue_xmit.  There are a couple of bugs\nin libfc/fcoe that can result in a panic at that point.  This patch\ncontains two fixes to prevent those panics.\n\n1) use fast cloning instead of shared skbs with dev_queue_xmit\n\ndev_queue_xmit doen\u0027t want shared skbuffs being passed in, and\n__skb_linearize will BUG if the skb is shared.  FCoE is holding an extra\nreference around the call to dev_queue_xmit, so that when it returns an\nerror code indicating the frame has been dropped it can maintain it\u0027s\nown backlog and retransmit.  Switch to using fast skb cloning for this\ninstead.\n\n2) don\u0027t append compound pages as \u003e PAGE_SIZE skb fragments\n\nfc_fcp_send_data will append pages from a scatterlist to the nr_frags[]\nif the netdev supports it.  But, it\u0027s using \u003e PAGE_SIZE compound pages\nas a single skb_frag.  In the highmem linearize case that page will be\npassed to kmap_atomic to get a mapping to copy out of, but\nkmap_atomic will only allow access to the first PAGE_SIZE part.\nThe memcpy will keep going and cause a page fault once is crosses the\nfirst boundary.\n\nIf fc_fcp_send_data uses linear buffers from the start, it calls\nkmap_atomic one PAGE_SIZE at a time.  That same logic needs to be\napplied when setting up skb_frags.\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": "349e11faa84ebdd6e484572cfe66f2cf4cb483a1",
      "tree": "59e01119bb65e8d5b221b1af08c089c29c12534d",
      "parents": [
        "75ea89ef63d9ca37f190aebb7da061070005ac6e"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Tue Nov 03 11:49:54 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:24 2009 -0600"
      },
      "message": "[SCSI] libfc: do not use DID_NO_CONNECT for pkt alloc failures.\n\nDID_NO_CONNECT is not a nice value to use for pkt alloc failures,\nbecause you can probably retry and IO will become available again.\nFor the device reset callout, we do not want to set the scsi command\nresult for the above reason, and because we do not need to set\nthe scsi_cmd-\u003eresult in this path. We and other drivers do not set it\nfor success for example, and we do not set it for other failure.\nAnd scsi-ml does not send every command through this path, and it is\nnot expecting us to use the scsi_cmnd struct like a cmd coming thruogh\nqueuecommand. I think it is more for storage in case we need a cmd\nstruct for a tmf and to give us certain params like the LUN.\n\nPatch was made over scsi-misc today.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ab593b187391bdd03ccad2968972a2e118a88cd4",
      "tree": "f1fb209ae42b19c6e9065ae8db37776c1bb39558",
      "parents": [
        "78112e5558064cb4d2e355aed87b2036fcdfe3dd"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:49:27 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:20 2009 -0600"
      },
      "message": "[SCSI] libfc: register FC4 features with the FC switch\n\nCustomers and certification tests have pointed out that we don\u0027t\nshow up on the switch management software as an initiator.\n\nOn some MDS switches \u0027show fcns database\u0027 command shows libfc\ninitiators as \u0027fcp\u0027 not \u0027fcp:init\u0027 like other initiators.\n\nOn others switches, I think the switch gets the features by doing a PRLI,\nbut it may be only certain models or under certain configurations.\n\nFix this by registering our FC4 features with the RFF_ID CT request\nafter local port login and after the RFT_ID.\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": "e6d8a1b0b53a156979120dd0593c1867b8ea89d3",
      "tree": "35aa45e6fe69f7d2c4658681c759fdc21e988700",
      "parents": [
        "093bb6a2d378ee83fc6ab886c772b6be86abb5a8"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:49:11 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:18 2009 -0600"
      },
      "message": "[SCSI] libfc: add host number to lport link up/down messages.\n\nThe libfc link up/down messages don\u0027t indicate which port is changing.\nThe Port ID will often be 0.\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": "093bb6a2d378ee83fc6ab886c772b6be86abb5a8",
      "tree": "30fea295440a3c4d5242902fbf3a7b3543d9aa9d",
      "parents": [
        "52a6690d3f0cb7414c34b1e26c569b32d4987662"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:49:05 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:17 2009 -0600"
      },
      "message": "[SCSI] libfc: add set_fid function to libfc template\n\nThis is to notify the LLD when an FC_ID is assigned to the local port.\n\nThe fnic driver needs to push the assigned FC_ID to firmware.\nIt currently does this by intercepting the FLOGI responses, and\nin order to make that code more common with FIP and NPIV, it\nmakes more sense to wait until the local port has completely\nhandled the FLOGI or FDISC response.  Also, when we fix\npoint-to-point FC_ID assignment, we\u0027ll need this callback as well.\n\nAdd a call to the libfc template, which is called whenever\nthe local port FC_ID is being assigned.  It defaults to\nfc_lport_set_fid(), supplied by libfc.\n\nAs additional benefit of this function, the LLD may determine\nthe MAC address that caused the change by looking at the received frame.\n\nWe also print the assigned port ID as long as it isn\u0027t 0.\nSetting port ID to 0 happens often in reset while retrying FLOGI,\nand would be uninteresting.  This replaces the previous message\nwhich didn\u0027t identify the host adapter instance.\n\npatch v2 note: changed one word in a comment.  \"intercepted\" -\u003e \"provided\".\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": "52a6690d3f0cb7414c34b1e26c569b32d4987662",
      "tree": "cbb8ff950e319b9d3f7125ce882cf9eeea22ef3b",
      "parents": [
        "5f9a056db9c7973c46337ec8d034323aa72bf206"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:49:00 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:17 2009 -0600"
      },
      "message": "[SCSI] libfc: fix fc_els_resp_type to correct display of CT responses\n\nLocal port debug messages were using fc_els_resp_type() which showed\nall CT responses as rejects.\n\nHandle CT responses correctly based by inspecting fh_type.\n\nI decided not to rename the function to keep the patch smaller.\nWe could call it just fc_resp_type() or fc_elsct_resp_type().\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": "84c3e1ad08d4be018a95e7a9964bf3dbc8cf8857",
      "tree": "1dcd106bcf8e64afce588f7914a082a21f45e941",
      "parents": [
        "c46be11a683acc1ccf86883ea906f171b90ff29a"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Nov 03 11:48:06 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:10 2009 -0600"
      },
      "message": "[SCSI] libfc: adds can_queue ramp up\n\nAdds last_can_queue_ramp_down_time and updates this on every\nramp down. If last_can_queue_ramp_down_time is not zero then\ndo ramp up on any IO completion in added fc_fcp_can_queue_ramp_up.\n\nReset last_can_queue_ramp_down_time to zero once can_queue\nis ramped up to added max_can_queue limit, this is to avoid any\nmore ramp up attempts on subsequent IO completion.\n\nThe ramp down and up are skipped for FC_CAN_QUEUE_PERIOD\nto avoid infrequent changes to can_queue, this required\nkeeping track of ramp up time also in last_can_queue_ramp_up_time.\n\nAdds code to ramp down can_queue if lp-\u003eqfull is set, with added\nnew ramp up code the can_queue will be increased after\nFC_CAN_QUEUE_PERIOD, therefore it is safe to do ramp down\nwithout fsp in this case and will avoid thrash. This required\nfc_fcp_can_queue_ramp_down locking change so that it can be\ncalled with Scsi_Host lock held.\n\nRemoves si-\u003ethrottled and fsp state FC_SRB_NOMEM, not needed with\nadded ramp up code.\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": "c46be11a683acc1ccf86883ea906f171b90ff29a",
      "tree": "5c9766a2e6f1403acd3b8ceec281ef6803df418c",
      "parents": [
        "a7bbc7f40aa01eefef3d367349e1e6e87881a305"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Nov 03 11:48:00 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:09 2009 -0600"
      },
      "message": "[SCSI] libfc: reduce can_queue for all FCP frame allocation failures\n\nCurrently can_queue is reduced only if frame alloc fails\nduring fc_fcp_send_data but frame alloc can fail at several\nother places in FCP data path and can_queue needs to be\nreduced for any FCP frame alloc failure.\n\nThis patch adds fc_fcp_frame_alloc for all FCP frame allocations\nand if fc_frame_alloc fails in fc_fcp_frame_alloc then reduce\ncan_queue in fc_fcp_frame_alloc, this will reduce can_queue for\nall FCP frame alloc failures.\n\nThis required moving fc_fcp_reduce_can_queue up, to build without\nadding its prototype. Also renamed fc_fcp_reduce_can_queue to\nfc_fcp_can_queue_ramp_down.\n\nRemoves fc_fcp_reduce_can_queue calling from fc_fcp_recv since\nnot needed with added fc_fcp_frame_alloc reducing can_queue.\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": "a7bbc7f40aa01eefef3d367349e1e6e87881a305",
      "tree": "fa03ef233949f2d1ccd37515e3bbb890451d3666",
      "parents": [
        "1875f27e291d05711f15a8a3d486abfeaf385931"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Nov 03 11:47:55 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:09 2009 -0600"
      },
      "message": "[SCSI] fcoe, libfc: use single frame allocation API\n\nCleans up frame allocation APIs to have just single fc_frame_alloc API.\n\nRemoves _fc_frame_alloc, renames __fc_frame_alloc to _fc_frame_alloc.\n\nModifies fc_fcp_send_data for removed _fc_frame_alloc, fc_fcp_send_data\nwas the only user of removed _fc_frame_alloc.\n\nAlso Adds check in fc_frame_alloc to do mod by 4 for only non-zero\nlen value.\n\nThis patch is prep work to fix can_queue reducing in next patch.\nSingle fc_frame_alloc API helps in fixing can_queue reducing in\nnext patch.\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": "3a3b42bf89a9b90ae9ed2c57fdc378e5473a0ef9",
      "tree": "6d41d669a3c7b4a3bb5219ded856251c148e7ab6",
      "parents": [
        "a51ab39606042e76a483547620699530caa12c40"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 03 11:47:39 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:07 2009 -0600"
      },
      "message": "[SCSI] libfc: Formatting cleanups across libfc\n\nThis patch makes a variety of cleanup changes to all libfc files.\n\nThis patch adds kernel-doc headers to all functions lacking them\nand attempts to better format existing headers. It also add kernel-doc\nheaders to structures.\n\nThis patch ensures that the current naming conventions for local ports,\nremote ports and remote port private data is upheld in the following\nmanner.\n\nstruct               instance (i.e. variable name)\n--------------------------------------------------\nfc_lport                      lport\nfc_rport                      rport\nfc_rport_libfc_priv           rpriv\nfc_rport_priv                 rdata\n\nI also renamed dns_rp and ptp_rp to dns_rdata and ptp_rdata\nrespectively.\n\nI used emacs \u0027indent-region\u0027 and \u0027tabify\u0027 on all libfc files\nto correct spacing alignments.\n\nI feel sorry for anyone attempting to review this patch.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "a51ab39606042e76a483547620699530caa12c40",
      "tree": "d67261f7a13b7c9ad1d9d69d4aeefe899eef0066",
      "parents": [
        "5868287460b0fc243e828a0b856cd53d8bf45739"
      ],
      "author": {
        "name": "Steve Ma",
        "email": "steve.ma@intel.com",
        "time": "Tue Nov 03 11:47:34 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:06 2009 -0600"
      },
      "message": "[SCSI] libfc, fcoe: Add FC passthrough support\n\nThis is the Open-FCoE implementation of the FC\npassthrough support via bsg interface.\n\nPassthrough support is added to both N_Ports and\nVN_Ports.\n\nSigned-off-by: Steve Ma \u003csteve.ma@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": "5868287460b0fc243e828a0b856cd53d8bf45739",
      "tree": "81b18b5e3a104b3202b8e2583d9bd3ffc5546895",
      "parents": [
        "07aac328342d6ca1725d901e1c5da8a1aa88f557"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 03 11:47:28 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:05 2009 -0600"
      },
      "message": "[SCSI] libfc: Add routine to copy data from a buffer to a SG list\n\nWhen handling the multi-frame responses of fc pass-thru requests,\na code segment similar to fc_fcp_recv_data (routine to receive\ninbound SCSI data) is used in the response handler. This patch\nis to add a routine, called fc_copy_buffer_to_sglist(), to handle\nthe common function of copying data from a buffer to a scatter-\ngather list in order to avoid code duplication.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "dc8596d303bb306da9ab5326fa6209710de86b8b",
      "tree": "c9f747013ecf23b966e057daf0b7cb87e6495f99",
      "parents": [
        "c914f7d16df6420cfd4c09399957425ba9c21f47"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:47:18 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:04 2009 -0600"
      },
      "message": "[SCSI] fcoe: vport symbolic name support\n\nAllow a vport specific string to be appended to the port symbolic\nname.  The new symbolic name is sent to the name server after it\nis set.\n\nThis currently messes with libhbalinux, which is looking for\nthe fcoe \"fcoe \u003cver\u003e over \u003cethX\u003e\" string and expects whatever\ncomes after the \"over\" to be a network interface name only.\n\nAdds an EXPORT_SYMBOL to libfc for fc_frame_alloc_fill, which is\nneeded to allow fcoe to allocate a frame of variable length for\nthe RSPN request.\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": "c914f7d16df6420cfd4c09399957425ba9c21f47",
      "tree": "1b0abcc574a1ee55fefd8905f22b9c9449ee9272",
      "parents": [
        "7cccc157119be9b3f57e03a5ae197ba0a6a8a89f"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:47:12 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:04 2009 -0600"
      },
      "message": "[SCSI] libfc: combine name server registration request functions\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "7cccc157119be9b3f57e03a5ae197ba0a6a8a89f",
      "tree": "d2d558b744661bfc13871cb29ad871992a61b0d7",
      "parents": [
        "c9866a548024c33e30f35a14bbcb71ba78266383"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:47:07 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:03 2009 -0600"
      },
      "message": "[SCSI] libfc: combine name server registration response handlers\n\nThey all do the same thing, so combine them into a single function.\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": "c9866a548024c33e30f35a14bbcb71ba78266383",
      "tree": "99c68b4f8292ccffd39645424cdd0965a867e161",
      "parents": [
        "5baa17c3e66fc2e414f501b2dd59b962dfc64919"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:47:01 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:02 2009 -0600"
      },
      "message": "[SCSI] libfc: Register Symbolic Port Name (RSPN_ID)\n\nRegister the fc_host symbolic name as the symbolic port name\nwith the fabric name server.\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": "5baa17c3e66fc2e414f501b2dd59b962dfc64919",
      "tree": "8194fcceb647f6740bdf6350da2a2d9dc393ae3e",
      "parents": [
        "c9c7bd7a5e7321aa96289c9b48fdbcc828c105e6"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:46:56 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:02 2009 -0600"
      },
      "message": "[SCSI] libfc: Register Symbolic Node Name (RSNN_NN)\n\nRegister the fc_host symbolic name as the symbolic node name\nwith the fabric name server.\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": "c9c7bd7a5e7321aa96289c9b48fdbcc828c105e6",
      "tree": "e20db89880f4579abf8bd6da66ce2a2a80d0ea94",
      "parents": [
        "28cc0e31d874af05244da421e05565f2ba72fd5c"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:46:51 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:01 2009 -0600"
      },
      "message": "[SCSI] libfc: RNN_ID may be required before RSNN_NN with some switches\n\nOne could interpret FC-GS-5 to say that an explicit RNN_ID is required\nbefore RSNN_NN is allowed to succeed, which is why RNN_ID was not obsoleted\nalong with RPN_ID acording to this document:\nftp://ftp.t11.org/t11/member/fc/gs-5/05-546v2.pdf\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": "28cc0e31d874af05244da421e05565f2ba72fd5c",
      "tree": "1424db279a37c7b640ff8a3a703172d796eb7538",
      "parents": [
        "9a05753b23c171b6a45e393ec2b9bc034d31bec8"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:46:46 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:00 2009 -0600"
      },
      "message": "[SCSI] libfc: RPN_ID is obsolete and unnecessary\n\nRPN_ID has been obsolete per FC-GS-5 for several years.  The port name is\nregistered implicitly as part of FLOGI, and it is undesirable for ports to\nchange a registered port name using RPN_ID while logged into the fabric.\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": "11b561886643d4e23d0fd58c205d830a448dd0a2",
      "tree": "3d28650e6727589dd672ea3985d2aa2643a99549",
      "parents": [
        "db36c06cc6802d03bcba08982377f7c03a3cda7f"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:46:29 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:58 2009 -0600"
      },
      "message": "[SCSI] libfcoe, fcoe: libfcoe NPIV support\n\nThe FIP code in libfcoe needed several changes to support NPIV\n\n1) dst_src_addr needs to be managed per-n_port-ID for FPMA fabrics with NPIV\n   enabled.  Managing the MAC address is now handled in fcoe, with some slight\n   changes to update_mac() and a new get_src_addr() function pointer.\n\n2) The libfc elsct_send() hook is used to setup FCoE specific response\n   handlers for FIP encapsulated ELS exchanges.  This lets the FCoE specific\n   handling know which VN_Port the exchange is for, and doesn\u0027t require\n   tracking OX_IDs.  It might be possible to roll back to the full FIP frame\n   in these, but for now I\u0027ve just stashed the contents of the MAC address\n   descriptor in the skb context block for later use.  Also, because\n   fcoe_elsct_send() just passes control on to fc_elsct_send(), all transmits\n   still come through the normal frame_send() path.\n\n3) The NPIV changes added a mutex hold in the keep alive sending, the lport\n   mutex is protecting the vport list.  We can\u0027t take a mutex from a timer,\n   so move the FIP keep alive logic to the link work struct.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "db36c06cc6802d03bcba08982377f7c03a3cda7f",
      "tree": "9a9ad60bd0de059f1839b8bab2cfc555d0ca56d1",
      "parents": [
        "8faecddb212d502b1b77936498b9a82b13c4ff44"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:46:24 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:57 2009 -0600"
      },
      "message": "[SCSI] libfc, libfcoe: FDISC ELS for NPIV\n\nAdd FDISC ELS handling to libfc and libfcoe, treat it the same as FLOGI where\nappropriate.\n\nAdd checking for NPIV support in the FLOGI LS_ACC service parameters.\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": "8faecddb212d502b1b77936498b9a82b13c4ff44",
      "tree": "6809700a72089288aec97187fc7f6455fa6b1d95",
      "parents": [
        "174e1ebffd30a7599b889900089f7acef944cc6b"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:46:19 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:57 2009 -0600"
      },
      "message": "[SCSI] libfc: vport link handling and fc_vport state managment\n\nNPIV vports are managed in libfc by changing their virtual link state\nwhen the parent N_Ports internal state changes.  The vport link is only\nonline when the N_Port is in a ready state (logged into the fabric).\n\nvport_state is updated as needed in this patch as well, currently the states\nLINKDOWN, INITIALIZING, ACTIVE, DSIABLED, and NO_FABRIC_SUPP are used.\n\nThis also changes the fc_host port_state handling to differentiate between\nLINKDOWN and OFFLINE.\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": "174e1ebffd30a7599b889900089f7acef944cc6b",
      "tree": "69b5d4e22f1b997128789eddcd1ec61a33d5903e",
      "parents": [
        "86221969e20a2f60ce104160dc836a964974673b"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:46:14 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:56 2009 -0600"
      },
      "message": "[SCSI] libfc: add some generic NPIV support routines to libfc\n\nAdds a function to create a new VN_Port instances, which share the EM\nlist with the N_Port, VN_Port lookup by fabric ID when responding to a new\nrequest (otherwise the exchange lookup from the N_Ports EM list is trusted to\nreturn an exchange with a cached lport value for the correct VN_Port),\na pointer to a fc_vport structure for VN_Ports, and flags to indicate if an\nN_Port supports NPIV and if the switch/fabric allows it.\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": "86221969e20a2f60ce104160dc836a964974673b",
      "tree": "83f40bc6490feddd18fe9650cbc3b61f0fb7b2e2",
      "parents": [
        "93e6d5ab9969a9200752658677eafd96772302f0"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:46:08 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:56 2009 -0600"
      },
      "message": "[SCSI] libfc: changes to libfc_host_alloc to consolidate initialization with allocation\n\nI\u0027d like to keep basic initialization together with allocation, which means\nthis can\u0027t just be a tail-call to scsi_host_alloc.\n\nThis is needed to create a generic libfc host allocation routine for NPIV\nVN_Ports, which will share the exchange ID space (through sharing exchange\nmanager structures) with the parent lport.  In order to clone the exchange\nmanager list when the lport is allocated, the list head must be initialized\nearlier.\n\nAlso, update fnic to use the libfc_host_alloc so that later changes do not break\nit. (contribution by Joe Eykholt)\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\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": "93e6d5ab9969a9200752658677eafd96772302f0",
      "tree": "80858e13b9ddeee57e1743438bbaedbf2e7740f0",
      "parents": [
        "8866a5d9075b7129194576f5f810e85a693c40ba"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 03 11:46:03 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:55 2009 -0600"
      },
      "message": "[SCSI] libfc: Move libfc_init and libfc_exit to fc_libfc.c\n\nThese routines are for the libfc kernel module and should be in\nthe libfc .c file.\n\nMoving the libfc __init routine into fc_libfc.c caused the creation\nof the fc_setup_fcp() and fc_destroy_fcp() routines so that\nscsi_pkt_cachep was not exposed outside of fc_fcp.c.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8866a5d9075b7129194576f5f810e85a693c40ba",
      "tree": "8976fd0009ab5870457ca0ecd7a246852744f00c",
      "parents": [
        "255f6386b816b2bc0c251af0ee4985ad5a8461b7"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 03 11:45:58 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:55 2009 -0600"
      },
      "message": "[SCSI] libfc: Add libfc/fc_libfc.[ch] for libfc internal routines\n\ninclude/scsi/libfc.h is currently loaded with common code\nshared between libfc\u0027s sub-modules as well as shared between\nlibfc and fcoe. Previous patches attempted to move out\nnon-common code. This patch creates two files for common\nlibfc routines that will not be shared with fcoe, fnic or\nany other LLDs.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "255f6386b816b2bc0c251af0ee4985ad5a8461b7",
      "tree": "7c2d4605502633715f23d49948ef0f68f9561592",
      "parents": [
        "1a7b75ae719754c77ccd4d18b0d258ae5db38a25"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 03 11:45:52 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:54 2009 -0600"
      },
      "message": "[SCSI] libfc: Remove fc_fcp_complete\n\nThis function is never used, let\u0027s remove it.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "1a7b75ae719754c77ccd4d18b0d258ae5db38a25",
      "tree": "4bcc283dda206e2358678e1e340b0bf539b782ac",
      "parents": [
        "2171c225f641c5402e4c47180d791a612278040e"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 03 11:45:47 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:53 2009 -0600"
      },
      "message": "[SCSI] libfc: Move non-common routines and prototypes out of libfc.h\n\nThis patch moves all non-common routines and function prototypes\nout of libfc.h and into the appropriate .c files. It makes these\nroutines \u0027static\u0027 when necessary and removes any unnecessary EXPORT_SYMBOL\nstatements.\n\nA result of moving the fc_exch_seq_send, fc_seq_els_rsp_send, fc_exch_alloc\nand fc_seq_start_next prototypes out of libfc.h is that they were no longer\nbeing imported into fc_exch.c when libfc.h was included. This caused errors\nwhere routines in fc_exch.c were looking for undefined symbols. To fix this\nthis patch reorganizes fc_seq_alloc, fc_seq_start_next and\nfc_seq_start_next_locked. This move also made it so that\nfc_seq_start_next_locked did not need to be prototyped at the top of\nfc_exch.c.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "229b8d72f3eccf97e8a9e22436e8fc303b3483cd",
      "tree": "f80ce8ad2655494f3faf41f01462c53926f282dd",
      "parents": [
        "4a84067dbfce436b81779e585bf712b02ceee552"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Thu Oct 15 17:47:06 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:44 2009 -0600"
      },
      "message": "[SCSI] libfc: add queue_depth ramp up\n\nAdjust queue_depth on fc_change_queue_depth call back\nwith reason SCSI_QDEPTH_RAMP_UP, no additional resource\nadjustments necessary for libfc.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nAcked-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "14caf44c69184ed72d46a2f883311daf27a4192f",
      "tree": "cdfdf95ea884116de6595cc8d89482b89ba8ccaa",
      "parents": [
        "5c20848a096fb1880ded99816be79d78ca1cd696"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Thu Oct 15 17:46:55 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:43 2009 -0600"
      },
      "message": "[SCSI] fcoe, libfc: fix an libfc issue with queue ramp down in libfc\n\nThe cmd_per_lun value is used by scsi-ml as fall back lowest\nqueue_depth value but in case of libfc cmd_per_lun is set to\nsame value as max queue_depth \u003d 32.\n\nSo this patch reduces cmd_per_lun value to 3 and configures\neach lun with default max queue_depth 32 in fc_slave_alloc.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nAcked-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5c20848a096fb1880ded99816be79d78ca1cd696",
      "tree": "cbe373d4aa097c60a52d81dc652eccd16cf3921f",
      "parents": [
        "42a6a91833f1e0f5ee5b5ef98e9f00167b615f46"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Oct 15 17:46:50 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:42 2009 -0600"
      },
      "message": "[SCSI] libfc: convert to scsi_track_queue_full\n\nThis converts the libfc using scsi_track_queue_full to\ntrack the queue full from the change_queue_depth callback.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nAcked-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e881a172dac4d9ea3b2a1540041d872963c269bd",
      "tree": "9eb1f344b107806c0041c4e0a64192a055117289",
      "parents": [
        "dbf9bfe615717d1145f263c0049fe2328e6ed395"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Oct 15 17:46:39 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:41 2009 -0600"
      },
      "message": "[SCSI] modify change_queue_depth to take in reason why it is being called\n\nThis patch modifies scsi_host_template-\u003echange_queue_depth so that\nit takes an argument indicating why it is being called. This will be\nused so that if a LLD needs to do some extra processing when\nhandling queue fulls or later ramp ups, it can do so.\n\nThis is a simple port of the drivers setting a change_queue_depth\ncallback. In the patch I just have these LLDs adjust the queue depth\nif the user was requesting it.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\n\n[Vasu.Dev: v2\n\tAlso converted pmcraid_change_queue_depth and then verified\nall modules compile  using \"make allmodconfig\" for any new build\nwarnings on X86_64.\n\n\tUpdated original description after combing two original\npatches from Mike to make this patch git bisectable.]\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\n[jejb: fixed up 53c700]\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b4a9c7ede96e90f7b1ec009ce7256059295e76df",
      "tree": "19b6322ba27e296a9350921c2e1511fb7c303694",
      "parents": [
        "4b53662bd594941e5e5e540baaaff6a3e66d062c"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed Oct 21 16:28:30 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:37 2009 -0600"
      },
      "message": "[SCSI] libfc: fix free of fc_rport_priv with timer pending\n\nTimer crashes were caused by freeing a struct fc_rport_priv\nwith a timer pending, causing the timer facility list to be\ncorrupted.  This was during FC uplink flap tests with a lot\nof targets.\n\nAfter discovery, we were doing an PLOGI on an rdata that was\nin DELETE state but not yet removed from the lookup list.\nThis moved the rdata from DELETE state to PLOGI state.\nIf the PLOGI exchange allocation failed and needed to be\nretried, the timer scheduling could race with the free\nbeing done by fc_rport_work().\n\nWhen fc_rport_login() is called on a rport in DELETE state,\nmove it to a new state RESTART.  In fc_rport_work, when\nhandling a LOGO, STOPPED or FAILED event, look for restart\nstate.  In the RESTART case, don\u0027t take the rdata off the\nlist and after the transport remote port is deleted and\nexchanges are reset, re-login to the remote port.\n\nNote that the new RESTART state also corrects a problem we\nhad when re-discovering a port that had moved to DELETE state.\nIn that case, a new rdata was created, but the old rdata\nwould do an exchange manager reset affecting the FC_ID\nfor both the new rdata and old rdata.  With the new state,\nthe new port isn\u0027t logged into until after any old exchanges\nare reset.\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": "8f550f937e9fdafa5c37e348e214aecec851ef3f",
      "tree": "589cc0df120e995aaefb26ea0e353c4ecc789bc4",
      "parents": [
        "b7a727f1af953b00352d3a4b6c458c6e2872f94b"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Wed Oct 21 16:28:09 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:34 2009 -0600"
      },
      "message": "[SCSI] libfc: fix memory corruption caused by double frees and bad error handling\n\nI was running into several different panics under stress, which I traced down\nto a few different possible slab corruption issues in error handling paths.\nI have not yet looked into why these exchange sends fail, but with these\nfixes my test system is much more stable under stress than before.\n\nfc_elsct_send() could fail and either leave the passed in frame intact\n(failure in fc_ct/els_fill) or the frame could have been freed if the\nfailure was is fc_exch_seq_send().  The caller had no way of knowing, and\nthere was a potential double free in the error handling in fc_fcp_rec().\n\nMake fc_elsct_send() always free the frame before returning, and remove the\nfc_frame_free() call in fc_fcp_rec().\n\nWhile fc_exch_seq_send() did always consume the frame, there were double free\nbugs in the error handling of fc_fcp_cmd_send() and fc_fcp_srr() as well.\n\nNumerous calls to error handling routines (fc_disc_error(),\nfc_lport_error(), fc_rport_error_retry() ) were passing in a frame pointer that\nhad already been freed in the case of an error.  I have changed the call\nsites to pass in a NULL pointer, but there may be more appropriate error\ncodes to use.\n\nQuestion:  Why do these error routines take a frame pointer anyway?  I\nunderstand passing in a pointer encoded error to the response handlers, but\nthe error routines take no action on a valid pointer and should never be\ncalled that way.\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": "d37322a43ebac79eef417149f5696390cf8872db",
      "tree": "71538cfff1bc2bd82e744ece265e7e6c45c07c6f",
      "parents": [
        "7221d7e59d1c675828b6de50b757cd8282011a5d"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Wed Oct 21 16:27:58 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:33 2009 -0600"
      },
      "message": "[SCSI] libfc: Fix frags in frame exceeding SKB_MAX_FRAGS in fc_fcp_send_data\n\nIn case of sequence offload, in fc_fcp_send_data(), the skb_fill_page_info()\ncalled may end up adding more frags to the skb_shinfo(fp_skb(fp))-\u003efrags[],\nexceeding SKB_MAX_FRAGS, this eventually corrupts the memory. I am adding the\nFR_FRAME_SG_LEN back, but as SKB_MAX_FRAGS -1, leaving 1 for our fcoe_eof_crc\npage. And send will be broken into multiple large sends if the frame already\ncontains more frags than skb handle.\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": "e95147d8fa4e63bf6d8ff249f074d0047338fc61",
      "tree": "c140b07c5f37586e33089f66f8d21363dd987d8d",
      "parents": [
        "3f127ad97a985d43b3cdf4b644e77a775b6035d4"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Oct 21 16:27:39 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:31 2009 -0600"
      },
      "message": "[SCSI] libfc: removes unused disc_work and ex_list\n\nReported-by: Alex Lyakas \u003calexl@mellanox.co.il\u003e\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3f127ad97a985d43b3cdf4b644e77a775b6035d4",
      "tree": "73e10ad634ad25ea8fa72442fb8fa2397a121e24",
      "parents": [
        "89f19a59de0ec4626c64d90d2f5e255961cab879"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Oct 21 16:27:33 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:30 2009 -0600"
      },
      "message": "[SCSI] libfc: adds missing exch release for accepted RRQ\n\nAdds missing exch release when RRQ is accepted by calling\nfc_seq_ls_acc. Adds common exch release for fc_exch_els_rrq\nby use of out label.\n\nReported-by: Alex Lyakas \u003calexl@mellanox.co.il\u003e\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "89f19a59de0ec4626c64d90d2f5e255961cab879",
      "tree": "5680542ff703c38e2ff03ca983520427a18537be",
      "parents": [
        "22655ac22289d7b7def8ef2d72eafe5024bd57fe"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Oct 21 16:27:28 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:29 2009 -0600"
      },
      "message": "[SCSI] libfc: removes initializing fc_cpu_order and fc_cpu_mask per lport\n\nInitializing these libfc globals per lport could mess up exch\nallocation/free for existing lport.\n\nSo this patch moves their initialization to fc_setup_exch_mgr\nso that these globals gets initialized only once for libfc.\n\nReported-by: Alex Lyakas \u003calexl@mellanox.co.il\u003e\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "22655ac22289d7b7def8ef2d72eafe5024bd57fe",
      "tree": "2d7803d454239dd2be31a3b39d101c2845e31b71",
      "parents": [
        "1b69bc062c2a4c8f3e15ac69f487afec3aa8d774"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed Oct 21 16:27:22 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:29 2009 -0600"
      },
      "message": "[SCSI] libfc: don\u0027t WARN_ON in lport_timeout for RESET state\n\nIt\u0027s possible and harmless to get FLOGI timeouts\nwhile in RESET state.  Don\u0027t do a WARN_ON in that case.\n\nAlso, split out the other WARN_ONs in fc_lport_timeout, so\nwe can tell which one is hit by its line number.\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": "1b69bc062c2a4c8f3e15ac69f487afec3aa8d774",
      "tree": "26a8773af2534a5fe1965d1752dbe784ede53186",
      "parents": [
        "4347fa66878e079766258bc0d077c350cb31a799"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed Oct 21 16:27:17 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:28 2009 -0600"
      },
      "message": "[SCSI] libfc: lport: fix minor documentation errors\n\nFix minor errors.\nA debug message said an RLIR was received instead of ECHO.\n\"Expected\" was misspelled in several places.\nFix a type cast from u32 to __be32.\n\nRob, Some of these may have been also taken care of in your\nother doc cleanup patch.  Feel free to fold them in.\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": "4347fa66878e079766258bc0d077c350cb31a799",
      "tree": "fce5fee754b75169e6983914a077a1732932ad75",
      "parents": [
        "c340111dbb48482cd23f4e441deff9169be9bc6f"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Wed Oct 21 16:27:12 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:27 2009 -0600"
      },
      "message": "[SCSI] libfc: Fix wrong scsi return status under FC_DATA_UNDRUN\n\nThis bug is exposed when there is a link flap in LLD. Particularly, when it\nhappens right after a SCSI write command is sent out, no FCP_DATA is sent,\ncausing fsp-\u003estatus_code to be set as FC_DATA_UNDRUN in fc_fcp_complete_locked\neven no SCSI status is received. Consequently, fc_io_compl treats this as DID_OK.\nThis results in SCSI returning successful to the initial I/O request even\nthere is no DATA actually sent. Particularly, if you run an I/O tool w/ data\nverification on, the read back for verification is gonna fail.\n\nThis is fixed here by checking when FC_DATA_UNDRUN happens, SCSI status is\nreceived w/ FC_SRB_RCV_STATUS set in fsp-\u003estate.\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": "c340111dbb48482cd23f4e441deff9169be9bc6f",
      "tree": "4c56660fdade7dce2c3d19a6cad67c81eb5e2d55",
      "parents": [
        "473e28563fbb038515d4616546297483d3727c02"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Wed Oct 21 16:27:06 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:26 2009 -0600"
      },
      "message": "[SCSI] libfc: Remove unused fc_lport pointer from fc_fcp_pkt_abort\n\nThis argument isn\u0027t used, let\u0027s not pass it into the routine.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "473e28563fbb038515d4616546297483d3727c02",
      "tree": "27b9a689e83cf435066da43632e2a934c121f30e",
      "parents": [
        "b04d023cf5b7f4113cc4a09405c2fe8003bfe37d"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Wed Oct 21 16:27:01 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:24 2009 -0600"
      },
      "message": "[SCSI] libfc, fcoe: Don\u0027t EXPORT_SYMBOLS unnecessarily\n\nThese are a few functions that were not used by other\nmodules. They did not need to be exported so this patch\nremoves the EXPORT_SYMBOLS call for each.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5e472d077f45de4f37365171bd742f18b3ef20de",
      "tree": "2a028b3baa250bfaba8aabdc3649d2ee380715cd",
      "parents": [
        "85b5893ca97c69e409ecbb5ee90a5d99882369c4"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Wed Oct 21 16:26:50 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:23 2009 -0600"
      },
      "message": "[SCSI] libfc: fix ddp in fc_fcp for 0 xid\n\nxid 0 was used as an indication of invalid xid before but now xid 0\ncan be used as a valid exchange i. This patch fixes the ddp completion\nin fcp layer, i.e., in fc_fcp.c:fc_fcp_ddp_done() function, to make sure it\ndoes not use xid 0 for indication of an invalid xid, instead, it now\nuses use FC_XID_UNKNOWN for such indication.\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": "85b5893ca97c69e409ecbb5ee90a5d99882369c4",
      "tree": "a07a6054f476add9d415cc728459066d206128ce",
      "parents": [
        "8da85e451d1e9c37bd2846f032c9d5ffa1234d1f"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed Oct 21 16:26:45 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:22 2009 -0600"
      },
      "message": "[SCSI] libfc: fix typo in retry check on received PRLI\n\nA received Fibre Channel ELS PRLI request contains a bit that\nindicates whether the remote port supports certain retry processing\nsequences.  The test for this bit was somehow coded to use multiply\ninstead of AND!\n\nThis case would apply only for target mode operation, and it is\nunlikely to be noticed as an initiator.\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": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\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"
    }
  ],
  "next": "8025b5db7e10cd90cadec940cc766be3bbda65e8"
}
