)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "8025b5db7e10cd90cadec940cc766be3bbda65e8",
      "tree": "79d509309c67529db93e071aa51a63947d869fe2",
      "parents": [
        "8345592b8388b51e0f52f63e94a5a5d3f07fda9a"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:06 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:47 2009 -0500"
      },
      "message": "[SCSI] libfc: move rport_lookup into fc_rport.c\n\nMove the libfc remote port lookup function into fc_rport.c.\nThis seems like the best place for it.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8345592b8388b51e0f52f63e94a5a5d3f07fda9a",
      "tree": "c1552168982507bc331a3163a62106c649179941",
      "parents": [
        "19f97e3c0acc5eb03486044f5428395b7690a01a"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:01 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:47 2009 -0500"
      },
      "message": "[SCSI] libfc: change to make remote port callback optional\n\nSince the rport list maintenance is now done in the rport module,\nthe callback (and ops) are usually not necessary.\n\nAllow rdata-\u003eops to be left NULL if nothing needs\nto be done in an event callback.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "19f97e3c0acc5eb03486044f5428395b7690a01a",
      "tree": "640a956483f932f778706001a3582c79189aa482",
      "parents": [
        "48f00902ba40d3e4467782a42258b952437a89f9"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:55 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:46 2009 -0500"
      },
      "message": "[SCSI] libfc: have rport_create do a lookup for pre-existing rports first\n\nFor future discovery patches, change rport_create to return a previously\ncreated rport_priv that has the FC_ID as long as it isn\u0027t in deleted state.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "48f00902ba40d3e4467782a42258b952437a89f9",
      "tree": "9559e9a92cadd9988ff32940358c8b6d9dee5140",
      "parents": [
        "b5cbf083736e14911c32fca2a93c540a92e8413d"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:50 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:46 2009 -0500"
      },
      "message": "[SCSI] libfc: make rport module maintain the rport list\n\nThe list of remote ports (struct fc_rport_priv) has been\nmaintained by the discovery module.  In preparation for having\nlport-\u003ett.rport_create() do a lookup first, maintain the\nrports list in the rport module.  It will still be protected\nby the disc_mutex.\n\nThe DNS rport is an exception for until after further patches.\nFor now, do not add it to the list.\n\nThe point-to-point rport will be in the discovery list.\nSo at shutdown, it doesn\u0027t need to be separately logged out.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b5cbf083736e14911c32fca2a93c540a92e8413d",
      "tree": "7495e2e08d2d7ee71abfb674700c9a631a478c54",
      "parents": [
        "cdbe6dfece038e75214735d56cd06319b9a6df46"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:44 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:46 2009 -0500"
      },
      "message": "[SCSI] libfc: simplify fc_lport_rport_callback\n\nThe lport rport callback can only be called for the dNS rport,\nsince its the only rport who\u0027s ops point to that function.\n\nRemove unnecessary checking and debug messages.\nPut the locking outside the switch statement as a simplification.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "cdbe6dfece038e75214735d56cd06319b9a6df46",
      "tree": "e4356d4feee535ad1456a8852a610598710a4877",
      "parents": [
        "b84c7962653e4d04065d2603f0e1424ee0f455ae"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:39 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:45 2009 -0500"
      },
      "message": "[SCSI] libfc: rport debug messages were printing pointer values\n\nDon\u0027t print large negative decimal numbers for frame pointers in\nthe debug messages from fc_rport_error().  Just print 0 if its a\nframe pointer, and print the error numbers as positive.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b84c7962653e4d04065d2603f0e1424ee0f455ae",
      "tree": "7f5086f5a97a36dd081cb18c17a3a1a7b4cd8759",
      "parents": [
        "786681b96fc1a5b94d187160b7bf80bf6b4681ed"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:34 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:45 2009 -0500"
      },
      "message": "[SCSI] libfc: remove unused disc-\u003edelay element\n\nDelete unused disc-\u003edelay element.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "786681b96fc1a5b94d187160b7bf80bf6b4681ed",
      "tree": "f15c89228d48057957d86ef468118a2c76dcce42",
      "parents": [
        "00fea930d404b9a9039291d5a61975e6c2ea974e"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:29 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:44 2009 -0500"
      },
      "message": "[SCSI] libfc: eliminate disc-\u003eevent\n\nThere was no need to have the discovery status stored in struct fc_disc.\n\nChange fc_disc_done() to take the discovery status as an argument\nand just pass it on to the discovery callback.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "00fea930d404b9a9039291d5a61975e6c2ea974e",
      "tree": "c2d2c32117e74eefdd8876d6903c936cbaf51e06",
      "parents": [
        "9e9d0452fe12115b1c1883c0d4d2ee509079791b"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:23 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:44 2009 -0500"
      },
      "message": "[SCSI] libfc: fix rport event race between READY and LOGO\n\nWhen a remote port becomes ready and a LOGO is received before\nthe READY event is in rport_work waiting on the mutex, the\nevent is changed to LOGO and the work queued, so both the\ncalls to rport_work see the LOGO event, and both try to do\nthe list_del(), causing a crash.\n\nDon\u0027t change the event if it is already set.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9e9d0452fe12115b1c1883c0d4d2ee509079791b",
      "tree": "7cf8bb38e28e562274dcd7eeb2adfdf394876d14",
      "parents": [
        "4c0f62b5679321b2e5572cf541ffb9f7b344d47c"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:18 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:43 2009 -0500"
      },
      "message": "[SCSI] libfc: don\u0027t create dummy (rogue) remote ports\n\nDon\u0027t create a \"dummy\" remote port to go with fc_rport_priv.\n\nMake the rport truly optional by allocating fc_rport_priv separately\nand not requiring a dummy rport to be there if we haven\u0027t yet done\nfc_remote_port_add().\n\nThe fc_rport_libfc_priv remains as a structure attached to the\nrport for I/O purposes.\n\nBe sure to hold references on rdata when the lock is dropped in\nfc_rport_work().\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4c0f62b5679321b2e5572cf541ffb9f7b344d47c",
      "tree": "0c4fba12e9098c63cfdc37dac15313f313887b1a",
      "parents": [
        "629f44279d169f29b084d406e9f1c33314f220fa"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:12 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:43 2009 -0500"
      },
      "message": "[SCSI] libfc: rename rport event CREATED to READY\n\nRemote ports will become READY more than once after\nADISC is implemented in a later patch.\n\nThe event callback that has been called \"CREATED\" will mean \"READY\".\nRename it now in preparation for those changes.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "629f44279d169f29b084d406e9f1c33314f220fa",
      "tree": "674698651f1a7be955334de72f186f16f4def97d",
      "parents": [
        "f211fa514a07326c0f9364c0e6ed17e38860172f"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:06 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:42 2009 -0500"
      },
      "message": "[SCSI] libfc: rearrange code in fc_rport_work\n\nThis is a cleanup without semantic changes to use a switch\nstatement instead of a series of if-statements in fc_rport_work(),\nand to move some declarations up to the top.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f211fa514a07326c0f9364c0e6ed17e38860172f",
      "tree": "9c2c54fee556816f36211185b6d6df0812b9acec",
      "parents": [
        "a46f327aa5caf2cce138e98ddd863b6cca0e71e2"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:01 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:42 2009 -0500"
      },
      "message": "[SCSI] libfc: make rport structure optional\n\nAllow a struct fc_rport_priv to have no fc_rport associated with it.\nThis sets up to remove the need for \"rogue\" rports.\n\nAdd a few fields to fc_rport_priv that are needed before the fc_rport\nis created.  These are the ids, maxframe_size, classes, and rport pointer.\n\nRemove the macro PRIV_TO_RPORT().  Just use rdata-\u003erport where appropriate.\n\nTo take the place of the get_device()/put_device ops that were used to\nhold both the rport and rdata, add a reference count to rdata structures\nusing kref.  When kref_get decrements the refcount to zero, a new template\nfunction releasing the rdata should be called.  This will take care of\nfreeing the rdata and releasing the hold on the rport (for now).  After\nsubsequent patches make the rport truly optional, this release function\nwill simply free the rdata.\n\nRemove the simple inline function fc_rport_set_name(), which becomes\nsemanticly ambiguous otherwise.  The caller will set the port_name and\nnode_name in the rdata-\u003eIds, which will later be copied to the rport\nwhen it its created.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "a46f327aa5caf2cce138e98ddd863b6cca0e71e2",
      "tree": "dbb230e8d4e024085e126445e6d819d5088e0406",
      "parents": [
        "9fb9d32831fd687e427ec5b147bb690f468b99a0"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:55 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:41 2009 -0500"
      },
      "message": "[SCSI] libfc: change elsct to use FC_ID instead of rdata\n\ntt.elsct_send is used by both FCP and by the rport state machine.\nAfter further patches, these two modules will use different\nstructures for the remote port.\n\nSo, change elsct_send to use the FC_ID instead of the fc_rport_priv\nas its argument.  It currently only uses the FC_ID anyway.\n\nFor CT requests the destination FC_ID is still implicitly 0xfffffc.\nAfter further patches the did arg on CT requests will be used to\nspecify the FC_ID being inquired about for GPN_ID or other queries.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9fb9d32831fd687e427ec5b147bb690f468b99a0",
      "tree": "c3b6c29cb94040718ea2fe00daac05abf10db714",
      "parents": [
        "922aa210bcad4b34a7bb98ec9d318b7e59e7a5ca"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:50 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:41 2009 -0500"
      },
      "message": "[SCSI] libfc: make fc_rport_priv the primary rport interface.\n\nThe rport and discovery modules deal with remote ports\nbefore fc_remote_port_add() can be done, because the\nfull set of rport identifiers is not known at early stages.\n\nIn preparation for splitting the fc_rport/fc_rport_priv allocation,\nmake fc_rport_priv the primary interface for the remote port and\ndiscovery engines.\n\nThe FCP / SCSI layers still deal with fc_rport and\nfc_rport_libfc_priv, however.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "795d86f55ec3bf6280dda368f208943f1fb7d366",
      "tree": "8d123acf1e7d9d07495d702b88ef2d75dfe696b1",
      "parents": [
        "ab28f1fd3b0d14c1bd693e640decd711d5e6642a"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:39 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:40 2009 -0500"
      },
      "message": "[SCSI] libfc: change interface for rport_create\n\nThe interface for lport-\u003ett.rport_create() takes a fc_disc_port arg,\nwhich is unnatural for most calls.   The only reason for this was\nto avoid passing in the local port as an argument, but otherwise\nadded to complexity.\n\nSimplify by just using lport and fc_rport_identifiers.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ab28f1fd3b0d14c1bd693e640decd711d5e6642a",
      "tree": "3d7b051d7ab8b6d7fb7d936f95e336bf25f26832",
      "parents": [
        "090eb6c41aa74273d3f0721637cff738cfd80669"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:34 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:39 2009 -0500"
      },
      "message": "[SCSI] libfc: prepare to split off struct fc_rport_priv from fc_rport_libfc_priv\n\nWhile the I/O and LLD interfaces use fc_rport_libfc_priv, the\ndisc and rport interfaces will use fc_rport_priv, which will\nbe separately allocated.\n\nChange the disc and rport usage of fc_rport_libfc_priv to fc_rport_priv.\n\nUse #define temporarily to make both names equivalent until a\nsubsequent patch splits them.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b2f0091fbf8b475fa09b5e1712e0ab84cb3e1ca4",
      "tree": "98d3427aaae0b3d20d5fd077023b4ea23f5b575c",
      "parents": [
        "e4bc50bedf0dd6c63f20a7bc0a2b46667664fba1"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Aug 25 13:58:53 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:47:37 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: fully makes use of per cpu exch pool and then removes em_lock\n\n1. Updates fcoe_rcv() to queue incoming frames to the fcoe per\n   cpu thread on which this frame\u0027s exch was originated and simply\n   use current cpu for request exch not originated by initiator.\n   It is redundant to add this code under CONFIG_SMP, so removes\n   CONFIG_SMP uses around this code.\n\n2. Updates fc_exch_em_alloc, fc_exch_delete, fc_exch_find to use\n   per cpu exch pools, here fc_exch_delete is rename of older\n   fc_exch_mgr_delete_ep since ep/exch are now deleted in pools\n   of EM and so brief new name is sufficient and better name.\n\n   Updates these functions to map exch id to their index into exch\n   pool using fc_cpu_mask, fc_cpu_order and EM min_xid.\n   This mapping is as per detailed explanation about this in\n   last patch and basically this is just as lower fc_cpu_mask\n   bits of exch id as cpu number and upper bit sum of EM min_xid\n   and exch index in pool.\n\n   Uses pool next_index to keep track of exch allocation from\n   pool along with pool_max_index as upper bound of exches array\n   in pool.\n\n3. Adds exch pool ptr to fc_exch to free exch to its pool in\n   fc_exch_delete.\n\n4. Updates fc_exch_mgr_reset to reset all exch pools of an EM,\n   this required adding fc_exch_pool_reset func to reset exches\n   in pool and then have fc_exch_mgr_reset call fc_exch_pool_reset\n   for each pool within each EM for a lport.\n\n5. Removes no longer needed exches array, em_lock, next_xid, and\n   total_exches from struct fc_exch_mgr, these are not needed after\n   use of per cpu exch pool, also removes not used max_read,\n   last_read from struct fc_exch_mgr.\n\n6. Updates locking notes for exch pool lock with fc_exch lock and\n   uses pool lock in exch allocation, lookup and reset.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e4bc50bedf0dd6c63f20a7bc0a2b46667664fba1",
      "tree": "43f4e7a1d1fb5c042330c07cd0209f1b0eb92fb5",
      "parents": [
        "a69b06bc5e7b153043db8984564b731f99e014fc"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Aug 25 13:58:47 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:47:36 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: adds per cpu exch pool within exchange manager(EM)\n\nAdds per cpu exch pool for these reasons:-\n\n 1. Currently an EM instance is shared across all cpus to manage\n    all exches for all cpus. This required em_lock across all\n    cpus for an exch alloc, free, lookup and reset each frame\n    and that made em_lock expensive, so instead having per cpu\n    exch pool with their own per cpu pool lock will likely reduce\n    locking contention in fast path for an exch alloc, free and\n    lookup.\n\n 2. Per cpu exch pool will likely improve cache hit ratio since\n    all frames of an exch will be processed on the same cpu on\n    which exch originated.\n\nThis patch is only prep work to help in keeping complexity of next\npatch low, so this patch only sets up per cpu exch pool and related\nhelper funcs to be used by next patch. The next patch fully makes\nuse of per cpu exch pool in all code paths ie. tx, rx and reset.\n\nDivides per EM exch id range equally across all cpus to setup per\ncpu exch pool. This division is such that lower bits of exch id\ncarries cpu number info on which exch originated, later a simple\nbitwise AND operation on exch id of incoming frame with fc_cpu_mask\nretrieves cpu number info to direct all frames to same cpu on which\nexch originated. This required a global fc_cpu_mask and fc_cpu_order\ninitialized to max possible cpus number nr_cpu_ids rounded up to 2\u0027s\npower, this will be used in mapping exch id and exch ptr array\nindex in pool during exch allocation, find or reset code paths.\n\nAdds a check in fc_exch_mgr_alloc() to ensure specified min_xid\nlower bits are zero since these bits are used to carry cpu info.\n\nAdds and initializes struct fc_exch_pool with all required fields\nto manage exches in pool.\n\nAllocates per cpu struct fc_exch_pool with memory for exches array\nfor range of exches per pool. The exches array memory is followed\nby struct fc_exch_pool.\n\nAdds fc_exch_ptr_get/set() helper functions to get/set exch ptr in\npool exches array at specified array index.\n\nIncreases default FCOE_MAX_XID to 0x0FFF from 0x07EF, so that more\nexches are available per cpu after above described exch id range\ndivision across all cpus to each pool.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "cd305ce41be1615dfc72892e0642c6b880f58d95",
      "tree": "00b863c35c20026da3836b8340156169bca0b259",
      "parents": [
        "ee610c6701875525d5c61fa6e56ddbf3e645b8df"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Aug 25 13:58:37 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:47:32 2009 -0500"
      },
      "message": "[SCSI] libfc: Fix misleading debug statement\n\nThe statement reads, \"Exchange timed out, notifying the upper layer\",\nhowever, this statement is printed whenever the timer is armed. This\nis confusing to someone debugging the code because every time an\nexchange is initialized, there is an incorrect statement stating that\nthe timer has already timed out. This patch changes the statement to\nread, \"Exchange timer armed\" which is more accurate.\n\nThis patch also adds a debug statement in the timeout handler to\nproperly indicate that the exchange has timed out.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "53fcfbbef569819706b880a502ff62e2852edfce",
      "tree": "4f59198dbb5b54a280a2f842d10d659bd32a02d1",
      "parents": [
        "537029f8e950776951ca2a3fe30121d5c05643d1"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Wed Jul 29 17:05:40 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:10 2009 -0500"
      },
      "message": "[SCSI] libfc: Remove page flags check for sglist\n\nI don\u0027t believe this check is needed any more in the current kernel, which,\nif I understand correctly, is for compound page where only the first page\nis supposed to get ref-counted.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "537029f8e950776951ca2a3fe30121d5c05643d1",
      "tree": "98a6cbdf513eb5c1d73c2b356dc33f65e7cfd899",
      "parents": [
        "15a521b4243f3d61971f8422f3e514ef009a42b8"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Wed Jul 29 17:05:32 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:10 2009 -0500"
      },
      "message": "[SCSI] libfc: Remove FC_FRAME_SG_LEN in fc_fcp_send_data\n\nFC_FRAME_SG_LEN is 4 which is too small when offload is enabled. Actually, the\nWARN_ON() in fc_fcp_send_data() should be:\n\n\tWARN_ON(skb_shinfo(fp_skb(fp))-\u003enr_frags \u003e MAX_SKB_FRAGS);\n\nBut since we will not get anything more than 64K anyway, so there is no need\nto do this anyway here. Therefore, I am getting rid of FC_FRAME_SG_LEN here\nand the WARN_ON here.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d7179680d04f1e196b7a5f70e7f93bb1850407c6",
      "tree": "e31aaf450afcd7cba0d719178424ece5013964f8",
      "parents": [
        "e8af4d4380babc89d193c16163f070a6418f033b"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Jul 29 17:05:21 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:09 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: adds offload EM per eth device with only single xid range per EM\n\nUpdates fcoe_em_config to allocate a single instance of sharable offload\nEM for supported lp-\u003elro_xid per eth device, and then share this EM\nfor subsequently more lports creation on same eth device (e.g when using\nVLAN).\n\nAdds tiny fcoe_oem_match function for offload EM to return true for read\ntypes IO to have read IO exchanges allocated from offload shared EM.\n\nRemoves fc_em_alloc_xid function completely which was needed to manage\ntwo xid ranges within a EM, this is not needed any more with allocation\nof separate sharable offload EM per eth device. Instead this patch adds\nsimple xid allocation logic to manage single xid range.\n\nAdds fc_exch_em_alloc with mp-\u003enext_xid as cursor to allocate new xid\nfrom single xid range of EM, uses mp-\u003enext_xid instead removed mp-\u003elast_xid\nwhich slightly increase probability of finding empty xid on exch allocation.\n\nRemoves restriction of not allowing use of xid zero along with changing\ntwo xid range change to single xid range.\n\nMakes fc_fcp_ddp_setup calling conditional to only xid allocated from\nshared offload EM.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "52ff878c912215210f53c0a080552dd6ba3055a2",
      "tree": "efaf0c6a6585aedc02af5faa3b47f4f4685fc783",
      "parents": [
        "d459b7ea1b4c7aa3dacfeee174d02b2f7a95850d"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Jul 29 17:05:10 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:08 2009 -0500"
      },
      "message": "[SCSI] fcoe, fnic, libfc: modifies current code paths to use EM anchor list\n\nModifies current code to use EM anchor list in EM allocation, EM free,\nEM reset, exch allocation and exch lookup code paths.\n\n 1. Modifies fc_exch_mgr_alloc to accept EM match function and then\n    have allocated EM added to the lport using fc_exch_mgr_add API\n    while also updating EM kref for newly added EM.\n\n 2. Updates fc_exch_mgr_free API to accept only lport pointer instead\n    EM and then have this API free all EMs of the lport from EM anchor\n    list.\n\n 3. Removes single lport pointer link from the EM, which was used in\n    associating lport pointer in newly allocated exchange. Instead have\n    lport pointer passed along new exchange allocation call path and\n    then store passed lport pointer in newly allocated exchange, this\n    will allow a single EM instance to be used across more than one\n    lport and used in EM reset to reset only lport specific exchanges.\n\n 4. Modifies fc_exch_mgr_reset to reset all EMs from the EM anchor list\n    of the lport, adds additional exch lport pointer (ep-\u003elp) check for\n    shared EM case to reset exchange specific to a lport requested reset.\n\n 5. Updates exch allocation API fc_exch_alloc to use EM anchor list and\n    its anchor match func pointer. The fc_exch_alloc will walk the list\n    of EMs until it finds a match, a match will be either null match\n    func pointer or call to match function returning true value.\n\n 6. Updates fc_exch_recv to accept incoming frame on local port using\n    only lport pointer and frame pointer without specifying EM instance\n    of incoming frame. Instead modified fc_exch_recv to locate EM for the\n    incoming frame by matching xid of incoming frame against a EM xid range.\n    This change was required to use EM list in libfc Rx path and after this\n    change the lport fc_exch_mgr pointer emp is not needed anymore, so\n    removed emp pointer.\n\n 7. Updates fnic for removed lport emp pointer and above modified libfc APIs\n    fc_exch_recv, fc_exch_mgr_alloc and fc_exch_mgr_free.\n\n 8. Removes exch_get and exch_put from libfc_function_template as these\n    are no longer needed with EM anchor list and its match function use.\n    Also removes its default function fc_exch_get.\n\nA defect this patch introduced regarding the libfc initialization order in\nthe fnic driver was fixed by Joe Eykholt \u003cjeykholt@cisco.com\u003e.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d459b7ea1b4c7aa3dacfeee174d02b2f7a95850d",
      "tree": "65fafcc2af6d44713fd5e7f113fa7f180d4f4675",
      "parents": [
        "96316099ac3cb259eac2d6891f3c75b38b29d26e"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Wed Jul 29 17:05:05 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:08 2009 -0500"
      },
      "message": "[SCSI] libfc: Remove the FC_EM_DBG macro\n\nCurrently there is a 1:1 relationship between the lport\nand exchange manager. This macro takes an EM as an argument\nand determines the lport from it. However, later patches\nwill use an EM list per lport, so we will no longer have\nthis 1:1 relationship- this macro must change.\n\nThe FC_EM_DBG macro is rarely used. There are four callers,\ntwo can use FC_LPORT_DBG instead and two can be removed\nsince they\u0027re not necessary. This patch makes those changes\nand removes the macro.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "96316099ac3cb259eac2d6891f3c75b38b29d26e",
      "tree": "f4ec7001462bd00340de19b3045063872652c5a6",
      "parents": [
        "201e5795b7b9582accb6d83316e30f24d7d40fd3"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Jul 29 17:05:00 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:07 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: adds exchange manager(EM) anchor list per lport and related APIs\n\nAdds EM list using a anchor struct fc_exch_mgr_anchor, anchor is used\nto allow same EM instance sharing across more than one lport on a eth\ndevice, this implementation is per discussed design posted at\nhttp://www.open-fcoe.org/pipermail/devel/2009-June/002566.html.\n\nThe shared EM is required for multiple lports on eth device when\nusing multiple VLANs or NPIV.\n\nAdds fc_exch_mgr_add API to add a EM to the lport and fc_exch_mgr_del\nAPI to delete previously added EM.\n\nAlso adds function fc_exch_mgr_destroy() to destroy allocated EM.\nThe kref is added to the EM to keep track of EM usage count, the EM is\ndestroyed when no longer in use upon kref reaching to zero.\n\nThe caller can specify match function to fc_exch_mgr_add, this\nwill be used in determining exchange allocation from its EM or not.\n\nMoved calling of fcoe_em_config below fcoe_libfc_config calling,\nso that list head lp-\u003eema_list is initialized before configuring\nEM.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "201e5795b7b9582accb6d83316e30f24d7d40fd3",
      "tree": "76a3d31b5879db683682eb111f90ce6d16e3956e",
      "parents": [
        "5f7ea3b7f81d5e5180647a071998b73a841bdba9"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed Jul 29 17:04:54 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:07 2009 -0500"
      },
      "message": "[SCSI] libfc: fix: cancel rport retry timer\n\nThe timer for rport retries wasn\u0027t getting canceled, and\nwould occasionally go off after the module was unloaded.\n\nAdd logic to cancel the timer in fc_rport_work().\n\nSince we cancel the timer before deleting the rdata,\nit is no longer necessary to do a get_device() for the pending timer.\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@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    }
  ],
  "next": "5f7ea3b7f81d5e5180647a071998b73a841bdba9"
}
