)]}'
{
  "log": [
    {
      "commit": "083c8c1e60e5c27a277e87dbeb6b89b47937559f",
      "tree": "2db64254a4a112be805fa3b5576862fd3465bbaa",
      "parents": [
        "6de61f9d2491970a204da9111e2d25e0d9f284d6"
      ],
      "author": {
        "name": "Peter Korsgaard",
        "email": "jacmet@sunsite.dk",
        "time": "Tue Aug 10 18:01:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:01 2010 -0700"
      },
      "message": "scsi: use __uX types for headers exported to user space\n\nCommit 9e4f5e29 (\"FC Pass Thru support\") exported a number of header files\nin include/scsi to user space, but didn\u0027t change the uX types to the\nuserspace-compatible __uX types.  Without that you\u0027ll get compile errors\nwhen including them - E.G.:\n\ninclude/scsi/scsi.h:145: error: expected specifier-qualifier-list before `u8\u0027\n\nSigned-off-by: Peter Korsgaard \u003cjacmet@sunsite.dk\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: James Smart \u003cjames.smart@emulex.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc4f24014de58f045f169742701a6598884d93db",
      "tree": "4e68ae6fa5fff179ce69b2d890b01a5fcc9c55d5",
      "parents": [
        "db5bd1e0b505c54ff492172ce4abc245cf6cd639"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Jun 17 10:41:42 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:07:50 2010 -0500"
      },
      "message": "[SCSI] implement runtime Power Management\n\nThis patch (as1398b) adds runtime PM support to the SCSI layer.  Only\nthe machanism is provided; use of it is up to the various high-level\ndrivers, and the patch doesn\u0027t change any of them.  Except for sg --\nthe patch expicitly prevents a device from being runtime-suspended\nwhile its sg device file is open.\n\nThe implementation is simplistic.  In general, hosts and targets are\nautomatically suspended when all their children are asleep, but for\nthem the runtime-suspend code doesn\u0027t actually do anything.  (A host\u0027s\nruntime PM status is propagated up the device tree, though, so a\nruntime-PM-aware lower-level driver could power down the host adapter\nhardware at the appropriate times.)  There are comments indicating\nwhere a transport class might be notified or some other hooks added.\n\nLUNs are runtime-suspended by calling the drivers\u0027 existing suspend\nhandlers (and likewise for runtime-resume).  Somewhat arbitrarily, the\nimplementation delays for 100 ms before suspending an eligible LUN.\nThis is because there typically are occasions during bootup when the\nsame device file is opened and closed several times in quick\nsuccession.\n\nThe way this all works is that the SCSI core increments a device\u0027s\nPM-usage count when it is registered.  If a high-level driver does\nnothing then the device will not be eligible for runtime-suspend\nbecause of the elevated usage count.  If a high-level driver wants to\nuse runtime PM then it can call scsi_autopm_put_device() in its probe\nroutine to decrement the usage count and scsi_autopm_get_device() in\nits remove routine to restore the original count.\n\nHosts, targets, and LUNs are not suspended while they are being probed\nor removed, or while the error handler is running.  In fact, a fairly\nlarge part of the patch consists of code to make sure that things\naren\u0027t suspended at such times.\n\n[jejb: fix up compile issues in PM config variations]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "df64d3caab8db6ae17dacd229a03d7689a10c432",
      "tree": "247fe4f9f39b22186e42e7f4687dd62c2690e47b",
      "parents": [
        "653c42d552d0fd0b05485442aed45dd2d62269c0"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Jul 27 15:51:13 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:07:49 2010 -0500"
      },
      "message": "[SCSI] Unify SAM_ and SAM_STAT_ macros\n\nWe have two separate definitions for identical constants with nearly the\nsame name.  One comes from the generic headers in scsi.h; the other is\nan enum in libsas.h ... it\u0027s causing confusion about which one is\ncorrect (fortunately they both are).\n\nFix this by eliminating the libsas.h duplicate\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c01be6dcb2b5cce4feaf48035be6395e5cd7d47c",
      "tree": "b3080a6410e46a6c84bb6315bd56cc9fe085d874",
      "parents": [
        "fe4f0bdeea788a8ac049c097895cb2e4044f18b1"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Jul 22 16:59:49 2010 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:06:06 2010 -0500"
      },
      "message": "[SCSI] iscsi_transport: wait on session in error handler path\n\nwait for session to come online in eh_device_reset_handler\nand eh_target_reset_handler\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nSigned-off-by: Ravi Anand \u003cravi.anand@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "922611569572d3c1aa0ed6491d21583fb3fcca22",
      "tree": "f7cb42bf5519d1c42853808f2f784188afe1bc2e",
      "parents": [
        "239e81048b7dcd27448db40c845f88ac7c68424e"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:21:12 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:06:02 2010 -0500"
      },
      "message": "[SCSI] libfc: don\u0027t require a local exchange for incoming requests\n\nIncoming requests shouldn\u0027t require a local exchange if we\u0027re\njust going to reply with one or two frames and don\u0027t expect\nanything further.  Don\u0027t allocate exchanges for such requests\nuntil requested by the upper-layer protocol.\n\nThe sequence is always NULL for new requests, so remove\nthat as an argument to request handlers.\n\nAlso change the first argument to lport-\u003ett.seq_els_rsp_send\nfrom the sequence pointer to the received frame pointer, to\nsupply the exchange IDs and destination ID info.\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": "239e81048b7dcd27448db40c845f88ac7c68424e",
      "tree": "c6d316b365e593a274511fca9562c87db2252a7e",
      "parents": [
        "24f089e2f2c800f88039e9d536d558ec6e349fad"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:21:07 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:06:01 2010 -0500"
      },
      "message": "[SCSI] libfc: add interface to allocate a sequence for incoming requests\n\nFor incoming ELS and FCP requests, we often don\u0027t require an\nexchange and sequence, however, sometimes we do.  For those cases,\n(primarily FCP requests for targets) add a function to set up\nthe exchange and sequence.\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": "24f089e2f2c800f88039e9d536d558ec6e349fad",
      "tree": "59cf263f112e176015a3a37c3928cc3d2a4dfcb5",
      "parents": [
        "251748a99e631a2c46edcf9e519cfc60fae8153d"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:21:01 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:06:00 2010 -0500"
      },
      "message": "[SCSI] libfc: add fc_fill_reply_hdr() and fc_fill_hdr()\n\nAdd functions to fill in an FC header given a request header.\nThese reduces code lines in fc_lport and fc_rport and works\nwithout an exchange/sequence assigned.\n\nfc_fill_reply_hdr() fills a header for a final reply frame.\n\nfc_fill_hdr() which is similar but allows specifying the\nf_ctl parameter.\n\nAdd defines for F_CTL values FC_FCTL_REQ and FC_FCTL_RESP.\nThese can be used for most request and response sequences.\n\nv2 of patch adds a line to copy the frame encapsulation\ninfo from the received frame.\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": "251748a99e631a2c46edcf9e519cfc60fae8153d",
      "tree": "6255e513473fffde4691f761c53e82440d763d18",
      "parents": [
        "079ecd8cfe95dfd28b74f3a00d66fdbcdfc8c611"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:20:56 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:59 2010 -0500"
      },
      "message": "[SCSI] libfc: add fc_frame_sid() and fc_frame_did() functions\n\nTo pave the way for eliminating exchanges from incoming requests,\nadd simple inline fc_frame_sid() and fc_frame_did() functions\nwhich get the FC_IDs from the frame header.  This can be almost\nas efficient as getting them from the sequence/exchange.\n\nMove ntohll, htonll, ntoh24 and hton24 to \u003cscsi/fc_frame.h\u003e\nsince we need them there and that\u0027s included by \u003cscsi/libfc.h\u003e\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": "079ecd8cfe95dfd28b74f3a00d66fdbcdfc8c611",
      "tree": "474d1f3851f6e33f04843f91f6ed1d7a3ca41765",
      "parents": [
        "1dd454d9e5205f9a61d51fb97159afeffa0a506c"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:20:51 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:58 2010 -0500"
      },
      "message": "[SCSI] libfc: eliminate rport LOGO state\n\nThe LOGO state hasn\u0027t been used in a while, except in a brief\ntransition to DELETE state while holding the rport mutex.\nAll port LOGO responses have been ignored as well as any timeout\nif we don\u0027t get a response.\n\nSo this patch just removes LOGO state and simplifies the response handler.\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": "e10f8c667b874a57512c936089092a3d1ef7ab8a",
      "tree": "8094610399133fd6e0ad26d23c46ec0a6cc91398",
      "parents": [
        "9b651da900ccfe5581befb46eb06ef781a1d7e74"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:20:30 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:56 2010 -0500"
      },
      "message": "[SCSI] libfcoe: fcoe: fnic: add FIP VN2VN point-to-multipoint support\n\nThe FC-BB-6 committee is proposing a new FIP usage model called\nVN_port to VN_port mode.  It allows VN_ports to discover each other\nover a loss-free L2 Ethernet without any FCF or Fibre-channel fabric\nservices.  This is point-to-multipoint.  There is also a variant\nof this called point-to-point which provides for making sure there\nis just one pair of ports operating over the Ethernet fabric.\n\nWe add these new states:  VNMP_START, _PROBE1, _PROBE2, _CLAIM, and _UP.\nThese usually go quickly in that sequence.  After waiting a random\namount of time up to 100 ms in START, we select a pseudo-random\nproposed locally-unique port ID and send out probes in states PROBE1\nand PROBE2, 100 ms apart.  If no probe responses are heard, we\nproceed to CLAIM state 400 ms later and send a claim notification.\nWe wait another 400 ms to receive claim responses, which give us\na list of the other nodes on the network, including their FC-4\ncapabilities.  After another 400 ms we go to VNMP_UP state and\nshould start interoperating with any of the nodes for whic we\nreceivec claim responses.  More details are in the spec.j\n\nAdd the new mode as FIP_MODE_VN2VN.  The driver must specify\nexplicitly that it wants to operate in this mode.  There is\nno automatic detection between point-to-multipoint and fabric\nmode, and the local port initialization is affected, so it isn\u0027t\nanticipated that there will ever be any such automatic switchover.\n\nIt may eventually be possible to have both fabric and VN2VN\nmodes on the same L2 network, which may be done by two separate\nlocal VN_ports (lports).\n\nWhen in VN2VN mode, FIP replaces libfc\u0027s fabric-oriented discovery\nmodule with its own simple code that adds remote ports as they\nare discovered from incoming claim notifications and responses.\nThese hooks are placed by fcoe_disc_init().\n\nA linear list of discovered vn_ports is maintained under the\nfcoe_ctlr struct.  It is expected to be short for now, and\naccessed infrequently.  It is kept under RCU for lock-ordering\nreasons.  The lport and/or rport mutexes may be held when we\nneed to lookup a fcoe_vnport during an ELS send.\n\nChange fcoe_ctlr_encaps() to lookup the destination vn_port in\nthe list of peers for the destination MAC address of the\nFIP-encapsulated frame.\n\nAdd a new function fcoe_disc_init() to initialize just the\ndiscovery portion of libfcoe for VN2VN mode.\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": "edcbb4395ecd2f2731fbf38ecbff5be0316513cb",
      "tree": "89312860a0911816af0330692f8d976a7b2feb38",
      "parents": [
        "f60e12e9c778c8256a646f80603d1b88ba5ce891"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:20:19 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:55 2010 -0500"
      },
      "message": "[SCSI] libfcoe: add protocol description of FIP VN2VN mode\n\nThe FC-BB-6 committee is proposing a new FIP usage model called\nVN_port to VN_port mode.  It allows VN_ports to discover each other\nover a loss-free L2 Ethernet without any FCF or Fibre-channel fabric\nservices.  This is point-to-multipoint.  There is also a variant\nof this called point-to-point which provides for making sure there\nis just one pair of ports operating over the Ethernet fabric.\n\nThis patch defines the new message type and subtypes as well as\none new descriptor type used by VN2VN mode.\n\nThese are all still at the proposed stage and subject to 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": "f60e12e9c778c8256a646f80603d1b88ba5ce891",
      "tree": "732e918fc85cc441cd539be5e389e0dfd29a2199",
      "parents": [
        "a7b12a279faaad26837276065104a1f9cf60e962"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:20:14 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:54 2010 -0500"
      },
      "message": "[SCSI] libfc: track FIP exchanges\n\nWhen an exchange is received with a FIP encapsulation, we need\nto know that the response must be sent via FIP and what the original\nELS opcode was.  This becomes important for VN2VN mode, where we may\nreceive FLOGI or LOGO from several peer VN_ports, and the LS_ACC or\nLS_RJT must be sent FIP-encapsulated with the correct sub-type.\n\nAdd a field to the struct fc_frame, fr_encaps, to indicate the\nencapsulation values.  That term is chosen to be neutral and\nLLD-agnostic in case non-FCoE/FIP LLDs might find it useful.\n\nThe frame fr_encaps is transferred from the ingress frame to the\nexchange by fc_exch_recv_req(), and back to the outgoing frame\nby fc_seq_send().\n\nThis is taking the last byte in the skb-\u003ecb array.  If needed,\nwe could combine the info in sof, eof, flags, and encaps\ntogether into one field, but it\u0027d be better to do that if\nand when its needed.\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": "a7b12a279faaad26837276065104a1f9cf60e962",
      "tree": "3537d1a5b984f4c9f89b7c549df2afcafce8c940",
      "parents": [
        "3726f3584e113697b68d3d4ff1ecf1042a06f800"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:20:08 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:53 2010 -0500"
      },
      "message": "[SCSI] libfc: add FLOGI state to rport for VN2VN\n\nThe FIP proposal for VN_port to VN_port point-to-multipoint\noperation requires a FLOGI be sent to each remote port.\nThe FLOGI is sent with the assigned S_ID and D_IDs of the\nlocal and remote ports.  This and the response get\nFIP-encapsulated for Ethernet.\n\nAdd FLOGI state to the remote port state machine.\nThis will be skipped if not in point-to-multipoint mode.\n\nTo reduce a little duplication between PLOGI and FLOGI\nresponse handling, added fc_rport_login_complete(), which\nhandles the parameters for the rdata struct.\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": "3726f3584e113697b68d3d4ff1ecf1042a06f800",
      "tree": "2e452d689739c4c2516f50d018f8587bf7d58e41",
      "parents": [
        "3d902ac09a2812b359edf633425d1327a18399e9"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:20:03 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:53 2010 -0500"
      },
      "message": "[SCSI] libfc: Add local port point-to-multipoint flag\n\nFor VN_port to VN_port mode, the transport sets the port_id and\nthere\u0027s no lport FLOGI.  This is similar to FC loop mode.\n\nAdd a point_to_multipoint flag that indicates the local port is in\npoint-to-multipoint mode.  This skips FLOGI and discovery.\nIt also skips resetting the port_id on resets other than link down.\n\nAdd function fc_lport_set_local_id() that sets the local port_id.\nThis is called by libfcoe on behalf of the low-level driver\nto set the port_id when the link comes up.\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": "3d902ac09a2812b359edf633425d1327a18399e9",
      "tree": "188605c45a1502862610b03e8429a67ed3d3a7b7",
      "parents": [
        "0685230c59b5482e04ab50e7afc51119ceaba651"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:19:58 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:52 2010 -0500"
      },
      "message": "[SCSI] libfcoe: fcoe: fnic: change fcoe_ctlr_init interface to specify mode\n\nThere are three modes that libfcoe currently supports, and a new one\nis coming.  Change the fcoe_ctlr_init() interface to add the mode\ndesired.  This should not change any functionality.\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": "0685230c59b5482e04ab50e7afc51119ceaba651",
      "tree": "64fbf16efb314efc5cba7e313342f0d57ce81e95",
      "parents": [
        "fdb068c6cd6e30d43664f856d3530715a5742713"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:19:53 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:52 2010 -0500"
      },
      "message": "[SCSI] libfc: add discovery-private pointer for LLD\n\nFor VN_port to VN_port mode, FIP will do discovery and needs a\nway to find its state from the local port or discovery structure.\nIt seems that any other LLD that implements its own discovery\nwould also need something like this.\n\nReplace disc-\u003elport with disc-\u003epriv, and use container_of to\nfind the lport.  We could use disc-\u003epriv for that, but\ncontainer_of is smaller and faster.\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": "fdb068c6cd6e30d43664f856d3530715a5742713",
      "tree": "a500212cc66aee42c7a3659ff0cfecbfb9be6b18",
      "parents": [
        "f90377abcab2e305450ee76a0f9042907560c5d8"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:19:47 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:51 2010 -0500"
      },
      "message": "[SCSI] libfcoe: convert FIP to lock with mutex instead of spin lock\n\nIt turns out most of the FIP work is now done from worker threads\nor process context now, so there\u0027s no need to use a spin lock.\n\nChange to use mutex instead of spin lock and delayed_work instead\nof a timer.\n\nThis will make it nicer for the VN_port to VN_port feature that\nwill interact more with the libfc layers requiring that\nspinlocks not be held.\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": "f90377abcab2e305450ee76a0f9042907560c5d8",
      "tree": "6ed2f707f8c15162bcca4a7f44a3a97ba09172ad",
      "parents": [
        "42e9041467cf5fd33501b91b27e26807c259c896"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:19:42 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:49 2010 -0500"
      },
      "message": "[SCSI] libfc: provide space for LLD after remote port structure\n\nAdd pre-zeroed space after the allocation for fc_rport_priv\nfor use by the lower-level driver.\n\nThis is primarily for VN2VN FIP mode, but could be used in\nother ways someday.\n\nThe space required is specified in lport-\u003erport_priv_size.\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": "42e9041467cf5fd33501b91b27e26807c259c896",
      "tree": "41a335a931e151f3fa00f384b5d1fb024421b7d2",
      "parents": [
        "519e5135e2537c9dbc1cbcc0891b0a936ff5dcd2"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:19:37 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:48 2010 -0500"
      },
      "message": "[SCSI] libfc: convert rport lookup to be RCU safe\n\nTo allow LLD to do lookups on rports without grabbing a mutex,\nmake them RCU-safe.  The caller of lport-\u003ett.rport_lookup will\nhave the choice of holding disc_mutex or the rcu_read_lock().\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": "519e5135e2537c9dbc1cbcc0891b0a936ff5dcd2",
      "tree": "f4b139d0e9288d65a33a43b54e74ef2a6e959d82",
      "parents": [
        "9d4cbc05f32fc0a1024de2a9d5635bc9d180e4ae"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Jul 20 15:19:32 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:47 2010 -0500"
      },
      "message": "[SCSI] fcoe: adds src and dest mac address checking for fcoe frames\n\nThis is  per FC-BB-5 Annex-D recommendation and per that\nif address checking fails then drop the frame.\n\nFIP code paths are already doing this so only needed for fcoe\nframes.\n\nThe src address checking is limited to only fip mode since\nthis might break non-fip mode used in p2p due to used OUI\nbased addressing in some p2p code paths, going forward FIP\nwill be the only mode, therefore limited this to only FIP\nmode so that it won\u0027t break non-fip p2p mode for now.\n\n-v2\nRemoves FCOE packet type checking since fcoe_rcv is\nregistered to receive only FCoE type packets from netdev\nand it is already checked by netdev.\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": "d058fd31c7f44960b00566bda39c85377f461a7b",
      "tree": "faac866391ff5111538f41303139759b7c3f4ee1",
      "parents": [
        "ba402804ac2447ad41f4919603bf3e6f6db63110"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Tue Jul 20 15:19:15 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:44 2010 -0500"
      },
      "message": "[SCSI] fcoe: make it possible to verify fcoe with sparse\n\nAnalyzing fcoe with sparse currently fails. This is because struct\nfcoe_rcv_info contains two enum members that have been declared with\n__attribute__((packed)). Apparently gcc honors this attribute while sparse\nignores it. The result is that sizeof(struct fcoe_rcv_info)\n\u003d\u003d sizeof(struct sk_buff::cb) \u003d\u003d 48 on a 64-bit system according to gcc, but\nnot according to sparse. The patch below modifies the definition of\nstruct fcoe_rcv_info such that gcc and sparse interpret this structure\ndefinition in the same way. The current sparse output is as follows:\n\n$ cd linux-2.6.34\n$ make C\u003d2 M\u003ddrivers/scsi/fcoe modules\n CHECK   drivers/scsi/fcoe/fcoe.c\n\ninclude/scsi/fc_frame.h:81:9: error: invalid bitfield width, -1.\n CC [M]  drivers/scsi/fcoe/fcoe.o\n CHECK   drivers/scsi/fcoe/libfcoe.c\n\ninclude/scsi/fc_frame.h:81:9: error: invalid bitfield width, -1.\ndrivers/scsi/fcoe/libfcoe.c:56:37: error: invalid initializer\n\nSigned-off-by: Bart Van Assche \u003cbart.vanassche@gmail.com\u003e\nCc: jeykholt@cisco.com\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3b2bef1fc85f127a99ad6b90a94b033fdc57341c",
      "tree": "7de1d09faba5c4ec40459c31a25ba7d0db3b9f3d",
      "parents": [
        "bb6f7d5b71356be560ea84dd5a721f083d3a9e8e"
      ],
      "author": {
        "name": "Vikas Chaudhary",
        "email": "vikas.chaudhary@qlogic.com",
        "time": "Sat Jul 10 14:51:30 2010 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:25 2010 -0500"
      },
      "message": "[SCSI] iscsi_transport: added new iscsi_param to display target alias in sysfs\n\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nSigned-off-by: Ravi Anand \u003cravi.anand@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f034260db330bb3ffc815fcb682b1c84aca09591",
      "tree": "4570860e30b7dfcaedceff905eeb1ab244b1a504",
      "parents": [
        "4b2164d4d212e437c9f080023a67f8f9356d2c4c"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Jun 11 16:44:57 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Jul 27 12:01:53 2010 -0500"
      },
      "message": "[SCSI] libfc: fix indefinite rport restart\n\nRemote ports were restarting indefinitely after getting\nrejects in PRLI.\n\nFix by adding a counter of restarts and limiting that with\nthe port login retry limit as well.\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": "4b2164d4d212e437c9f080023a67f8f9356d2c4c",
      "tree": "aaa86c0e2b1532b87780f568b35921e56342557d",
      "parents": [
        "0db6f4353d68c0108b5fe0bad8259de0197589c6"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Jun 11 16:44:51 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Jul 27 12:01:52 2010 -0500"
      },
      "message": "[SCSI] libfc: Fix remote port restart problem\n\nThis patch somewhat combines two fixes to remote port handing in libfc.\n\nThe first problem was that rport work could be queued on a deleted\nand freed rport.  This is handled by not resetting rdata-\u003eevent\nton NONE if the rdata is about to be deleted.\n\nHowever, that fix led to the second problem, described by\nBhanu Gollapudi, as follows:\n\u003e Here is the sequence of events. T1 is first LOGO receive thread, T2 is\n\u003e fc_rport_work() scheduled by T1 and T3 is second LOGO receive thread and\n\u003e T4 is fc_rport_work scheduled by T3.\n\u003e\n\u003e 1. (T1)Received 1st LOGO in state Ready\n\u003e 2. (T1)Delete port \u0026 enter to RESTART state.\n\u003e 3. (T1)schdule event_work, since event is RPORT_EV_NONE.\n\u003e 4. (T1)set event \u003d RPORT_EV_LOGO\n\u003e 5. (T1)Enter RESTART state as disc_id is set.\n\u003e 6. (T2)remember to PLOGI, and set event \u003d RPORT_EV_NONE\n\u003e 6. (T3)Received 2nd LOGO\n\u003e 7. (T3)Delete Port \u0026 enter to RESTART state.\n\u003e 8. (T3)schedule event_work, since event is RPORT_EV_NONE.\n\u003e 9. (T3)Enter RESTART state as disc_id is set.\n\u003e 9. (T3)set event \u003d RPORT_EV_LOGO\n\u003e 10.(T2)work restart, enter PLOGI state and issues PLOGI\n\u003e 11.(T4)Since state is not RESTART anymore, restart is not set, and the\n\u003e event is not reset to RPORT_EV_NONE. (current event is RPORT_EV_LOGO).\n\u003e 12. Now, PLOGI succeeds and fc_rport_enter_ready() will not schedule\n\u003e event_work, and hence the rport will never be created, eventually losing\n\u003e the target after dev_loss_tmo.\n\nSo, the problem here is that we were tracking the desire for\nthe rport be restarted by state RESTART, which was otherwise\nequivalent to DELETE.  A contributing factor is that we dropped\nthe lock between steps 6 and 10 in thread T2, which allows the\nstate to change, and we didn\u0027t completely re-evaluate then.\n\nThis is hopefully corrected by the following minor redesign:\n\nSimplify the rport restart logic by making the decision to\nrestart after deleting the transport rport.  That decision\nis based on a new STARTED flag that indicates fc_rport_login()\nhas been called and fc_rport_logoff() has not been called\nsince then.  This replaces the need for the RESTART state.\n\nOnly restart if the rdata is still in DELETED state\nand only if it still has the STARTED flag set.\n\nAlso now, since we clear the event code much later in the\nwork thread, allow for the possibility that the rport may\nhave become READY again via incoming PLOGI, and if so,\nqueue another event to handle that.\n\nIn the problem scenario, the second LOGO received will\ncause the LOGO event to occur again.\n\nReported-by: Bhanu Gollapudi \u003cbprakash@broadcom.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": "f8fc6c2c99b8085368119d6cf39b997255052826",
      "tree": "d1ba9ea7fc49fd8c96143cdcf81a8a9892716ee5",
      "parents": [
        "5d4a2e29fba5b2bef95b96a46b338ec4d76fa4fd"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Jun 11 16:44:04 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Jul 27 12:01:46 2010 -0500"
      },
      "message": "[SCSI] libfc: Handle unsolicited PRLO request\n\nResubmitting after incorporating Joe\u0027s review comment.\n\nUnsolicited PRLO request is now handled by sending LS_ACC,\nand then relogin to the remote port if an N-port login\nsession exists for that remote port.\n\nNote that this patch should be applied on top of Joe Eykholt\u0027s\n\"Fix remote port restart problem\" patch.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5d4a2e29fba5b2bef95b96a46b338ec4d76fa4fd",
      "tree": "6258349552738e7ff5d1b20eaa20802d41dce9d5",
      "parents": [
        "618461c02b00a658ec8aa07d409cd496a7e254e2"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Jun 11 16:43:59 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Jul 27 12:01:46 2010 -0500"
      },
      "message": "[SCSI] fcoe: clean up TBD comments in FCoE prototype header\n\nSome old comments in fc_fcoe.h say TBD long after the\nstandard has been passed by T11.  Clean them up.\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": "72ec24bd7725545bc149d80cbd21a7578d9aa206",
      "tree": "a67f8fdda3b0dd69bb45ca19508b68431f1b69d8",
      "parents": [
        "ed4e2f801cf1484a68c4b41878353f26e6554c6a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat May 15 20:09:32 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Jun 02 13:50:04 2010 -0400"
      },
      "message": "SCSI: implement sd_unlock_native_capacity()\n\nImplement sd_unlock_native_capacity() method which calls into\nhostt-\u003eunlock_native_capacity() if implemented.  This will be invoked\nby block layer if partitions extend beyond the end of the device and\ncan be used to implement, for example, on-demand ATA host protected\narea unlocking.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "7b2787ec15b9d1c2f716da61b0eec21a3f5e6520",
      "tree": "39b098d4253fa266ea75bf1f7feb75458e78b77d",
      "parents": [
        "5e4f8fe7b58f4da5043b7f219fe9193cddd9262e"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri May 07 15:18:41 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 16 22:22:34 2010 -0400"
      },
      "message": "[SCSI] libfc: Move the port_id into lport\n\nThis patch creates a port_id member in struct fc_lport.\nThis allows libfc to just deal with fc_lport instances\ninstead of calling into the fc_host to get the port_id.\n\nThis change helps in only using symbols necessary for\noperation from the libfc structures. libfc still needs\nto change the fc_host_port_id() if the port_id changes\nso the presentation layer (scsi_transport_fc) can provide\nthe user with the correct value, but libfc shouldn\u0027t\nrely on the presentation layer for operational values.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "1b80e0f91c41db4633c0a61f727de169a9e9b275",
      "tree": "eda3295e4b1f609727bbb661410dd17093f62e96",
      "parents": [
        "721cafafb66f57b461226aa197997f3e5b296f91"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri May 07 15:18:24 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 16 22:22:29 2010 -0400"
      },
      "message": "[SCSI] libfc: Remove unused fc_get_host_port_type\n\nRemove this unused routine.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "7407e5bba2cc821950344fd1391d9ad1b7e0b397",
      "tree": "ebcf898bd0d57283a15541d2647a5f0984dd775b",
      "parents": [
        "2471b894068ec59ab3012e788401b345ef459e49"
      ],
      "author": {
        "name": "Tom Rini",
        "email": "tom_rini@mentor.com",
        "time": "Tue Apr 27 14:11:47 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 02 11:45:12 2010 -0400"
      },
      "message": "[SCSI] Unexport scsi/scsi.h from headers_install\n\nThe scsi/scsi.h header is normally provided by the libc (and was not\nexported by the kernel since 2.6.24) and has been until it was\nre-exported with 2.6.31.  The kernel version is not userspace clean and\ndoes not appear to provide anything useable in userland over the\n(e)glibc version.\n\nSigned-off-by: Tom Rini \u003ctom_rini@mentor.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "59c31b69d278b760fb84266f99c1dcb0f73ec51d",
      "tree": "881a17202734acba7e3cba4a612eeac1f39ab2a2",
      "parents": [
        "e308b3d19d1cf6af39024121269bb384b95d3da3"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Mar 23 01:13:28 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Apr 30 12:46:17 2010 -0500"
      },
      "message": "[SCSI] Add missing scsi command definitions\n\nAdd definitions for VERIFY(12) and VERIFY(32).\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "da87bfab8a7e6cfd0e1e5c5874d7fd4f7d11e64e",
      "tree": "82dbf057ac960b017bc2a477f941de7f9d75c373",
      "parents": [
        "8ba00a4bbbbcb39d077e837555dfa9ff0de4202e"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Apr 09 14:22:59 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 14:02:39 2010 -0500"
      },
      "message": "[SCSI] fcoe, fnic, libfc: increased CDB size to 16 bytes for fcoe.\n\nNo reason to restrict CDB size to 12 bytes in fcoe, so\nincreased to 16 so that 16 bytes SCSI CDB doesn\u0027t fail.\n\nUses common define to set max_cmd_len for fcoe and fnic,\nfnic is already setting max_cmd_len to 16.\n\nsg_readcap -l fails without this fix.\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": "0b2f74a47f2b10bd4c70324820a93c070b3960a5",
      "tree": "406dc45508b5b23fd0212e7891f577e42e8d159e",
      "parents": [
        "3b719d01617288f4c11307fcb933997d7ca895c3"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Apr 09 14:22:39 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 14:02:34 2010 -0500"
      },
      "message": "[SCSI] libfc: fix hton24 macro to take expressions as args\n\nhton24(p + 3, value) would fail to compile because\np + 3[0] is not a valid expression.\n\nWent ahead and converted hton24 and ntoh24 to inline\nfunctions, which is better because the parameters\nare evalutated only once.\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": "2f2eb58762b4dcddfe25c90800323765c1257eca",
      "tree": "f69788ac1afc0b7924a033cb82f33dbc55b6af1c",
      "parents": [
        "7794a5af67c672d44cfdbc7172a608b7542a66e3"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Mar 24 16:50:30 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:49:33 2010 -0500"
      },
      "message": "[SCSI]  Allow FC LLD to fast-fail scsi eh by introducing new eh return\n\nIf the scsi eh is running and then a FC LLD calls\nfc_remote_port_delete, the SCSI commands sent from the eh will fail.\nTo prevent this, a FC LLD can call fc_block_scsi_eh from the eh\ncallback, blocking the eh thread until the dev_loss_tmo fires or the\nremote port is available again.\n\nIf (e.g. for a multipathing setup) the dev_loss_tmo is set to a very\nlarge value, thus preventing the scsi device removal , the scsi eh can\nblock for a long time. For multipathing, the fast_io_fail_tmo is then\nset to a low value to detect path problems sooner.\n\nThis patch introduces a new return code FAST_IO_FAIL. The function\nfc_block_scsi_eh now returns FAST_IO_FAIL when the fast_io_fail_tmo\nfires. This indicates that the LLD terminated all pending I/O requests\nand there are no more pending SCSI commands for the scsi eh to wait\nfor. This return code can be passed back to the scsi eh to stop the\nescalation and finish the recovery process for this device.\n\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f018b73af6db4f330ad5da9ac53997a699c30c42",
      "tree": "4f4e9405d923c0021771549dbdec34569c0e27a7",
      "parents": [
        "b3ef990c1514859bffae221b9e82e46a38f1e7bf"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:08:55 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:44 2010 -0500"
      },
      "message": "[SCSI] libfc, libfcoe, fcoe: use smp_processor_id() only when preempt disabled\n\nWhen the kernel is configured for preemption, using smp_processor_id()\nwhen preemption is enabled causes a warning backtrace and is wrong\nsince we could move off of that CPU as soon as we get the ID,\nand we would be referencing the wrong CPU, and possibly an invalid one\nif it could be hotswapped out.\n\nRemove the fc_lport_get_stats() function and explicitly use per_cpu_ptr()\nto get the statistics.  Where preemption has been disabled by holding\na _bh lock continue to use smp_processor_id(), but otherwise use\nget_cpu()/put_cpu().\n\nIn fcoe_recv_frame() also changed the cases where we return in the\nmiddle to do a goto to the code which bumps ErrorFrames and does\na put_cpu().  Two of these cases didn\u0027t bump ErrorFrames before, but\ndoing so is harmless because they \"can\u0027t happen\", due to prior length\nchecks.\n\nAlso rearranged code in fcoe_recv_frame() to have only one call to\nfc_exch_recv().  It\u0027s just as efficient and saves a call to put_cpu().\n\nIn fc_fcp.c, adjusted a FIXME comment for code which doesn\u0027t need fixing.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4291365784c9622c9d643cf23421f9c7b9662d71",
      "tree": "46b938bd7ea401da7d61ad7e63b80d0bcd8b0f71",
      "parents": [
        "50036bbae0ed4d4e610bd59e0ce285ed20c1bee6"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:08:23 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:38 2010 -0500"
      },
      "message": "[SCSI] libfcoe: eliminate unused link and last_link fields\n\nThe link and last_link fields in the fcoe_ctlr struct are no\nlonger useful, since they are always set to the same value,\nand FIP always calls libfc to pass link information to the lport.\n\nEliminate those fields and rename link_work to timer_work, since\nit no longer has any link change work to do.\n\nThanks to Brian Uchino for discovering this issue.\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": "4dc7ccf7e9d9bca1989b840be9e8e84911387cf2",
      "tree": "d5fea173fbbf22fb7c5dae62918a5c475ea63067",
      "parents": [
        "a2f6a024e1a7ce37f424a567733501d98b8555d7"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:07:41 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:34 2010 -0500"
      },
      "message": "[SCSI] libfc: add definition for task attribute mask\n\nThe FCP command header definition should define a mask for\nthe task attribute field.  This adds that #define.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "961cde93dee2658000ead32abffb8ddf0727abe0",
      "tree": "2419e204132abe2ec2bb7f08bd20042573cc9bd6",
      "parents": [
        "f82c37e7bb4c4d9b6a476c642d5c2d2efbd6f240",
        "0d9dc7c8b9b7fa0f53647423b41056ee1beed735"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:54:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:54:31 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (69 commits)\n  [SCSI] scsi_transport_fc: Fix synchronization issue while deleting vport\n  [SCSI] bfa: Update the driver version to 2.1.2.1.\n  [SCSI] bfa: Remove unused header files and did some cleanup.\n  [SCSI] bfa: Handle SCSI IO underrun case.\n  [SCSI] bfa: FCS and include file changes.\n  [SCSI] bfa: Modified the portstats get/clear logic\n  [SCSI] bfa: Replace bfa_get_attr() with specific APIs\n  [SCSI] bfa: New portlog entries for events (FIP/FLOGI/FDISC/LOGO).\n  [SCSI] bfa: Rename pport to fcport in BFA FCS.\n  [SCSI] bfa: IOC fixes, check for IOC down condition.\n  [SCSI] bfa: In MSIX mode, ignore spurious RME interrupts when FCoE ports are in FW mismatch state.\n  [SCSI] bfa: Fix Command Queue (CPE) full condition check and ack CPE interrupt.\n  [SCSI] bfa: IOC recovery fix in fcmode.\n  [SCSI] bfa: AEN and byte alignment fixes.\n  [SCSI] bfa: Introduce a link notification state machine.\n  [SCSI] bfa: Added firmware save clear feature for BFA driver.\n  [SCSI] bfa: FCS authentication related changes.\n  [SCSI] bfa: PCI VPD, FIP and include file changes.\n  [SCSI] bfa: Fix to copy fpma MAC when requested by user space application.\n  [SCSI] bfa: RPORT state machine: direct attach mode fix.\n  ...\n"
    },
    {
      "commit": "15485a4682d1d3bfee2aa78b4b1a5d36f5746b64",
      "tree": "538857520760de1cf3575c8b5e4f73bab70557ff",
      "parents": [
        "5ed109103d73b0bafc92e860cead56725231384d"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 10 15:24:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:53:10 2010 -0800"
      },
      "message": "sysctl extern cleanup: sg\n\nExtern declarations in sysctl.c should be moved to their own header file,\nand then include them in relavant .c files.\n\nMove sg_big_buff extern declaration to scsi/sg.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Doug Gilbert \u003cdgilbert@interlog.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "309ce156aa27f29338438011d292a8d6496623d3",
      "tree": "7d0554a3a6c7c15b612b8eeb00991c0e54cdaf1e",
      "parents": [
        "d7b4627f5f3390a2f350f16c047b3fc3eccce6d8"
      ],
      "author": {
        "name": "Jayamohan Kallickal",
        "email": "jayamohank@serverengines.com",
        "time": "Sat Feb 20 08:02:10 2010 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 03 17:39:04 2010 +0530"
      },
      "message": "[SCSI] libiscsi: Make iscsi_eh_target_reset start with session reset\n\nThe iscsi_eh_target_reset has been modified to attempt\ntarget reset only. If it fails, then iscsi_eh_session_reset\nwill be called.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Jayamohan Kallickal \u003cjayamohank@serverengines.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "0f88009d5cfae890bd3466126d1622ad4f16b798",
      "tree": "78373dea3f4682db03567acf3dfdc914e4cd6c25",
      "parents": [
        "8605c46c171f02859fb3a32655fa226ce446c6ec"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Jan 18 10:14:51 2010 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 08 17:15:19 2010 -0600"
      },
      "message": "[SCSI] scsi_transport_sas: add support for transport layer retries (TLR)\n\nThe mpt2sas driver wants to use transport layer retries (TLR) so the\nsimplest thing to do seems to be to add the enabling flags and checks\nto the SAS transport class, since they\u0027re a SAS specific protocol\nfeature.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e3deec090558d5cb5ffdc574e5560f3ed9723394",
      "tree": "c76a5e26a3e08598ada0a2de34adcdf714aa7168",
      "parents": [
        "534ef056db8a8fb6b9d50188d88ed5d1fbc66673"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Nov 03 12:33:07 2009 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Jan 18 10:48:05 2010 -0600"
      },
      "message": "[SCSI] eliminate potential kmalloc failure in scsi_get_vpd_page()\n\nThe best way to fix this is to eliminate the intenal kmalloc() and\nmake the caller allocate the required amount of storage.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "eda05a28ec52be40086400a1b606d211276f0e41",
      "tree": "8a5ff4c4bb93d66a414ed292455b58013e1a9d10",
      "parents": [
        "368bbe077739fa1ef6fc0195b2810ed50ef87df6"
      ],
      "author": {
        "name": "Harish Zunjarrao",
        "email": "harish.zunjarrao@qlogic.com",
        "time": "Tue Jan 12 12:59:50 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 17 12:36:33 2010 -0600"
      },
      "message": "[SCSI] fc-transport: Use packed modifier for fc_bsg_request structure.\n\nThe 32bit kernel does not add padding bytes in the fc_bsg_request structure\nwhereas the 64bit kernel adds padding bytes in the fc_bsg_request structure.\nDue to this, structure elements gets mismatched with 32bit application and\n64bit kernel.To resolve this, used packed modifier to avoid adding padding bytes.\nSigned-off-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "75c85a0bc13367aabb36e8208d4e373b022b43b3",
      "tree": "8842d50b949e4884b3b1cd9fe5f3558080230a53",
      "parents": [
        "6b7b284958d47b77d06745b36bc7f36dab769d9b"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Dec 30 13:21:06 2009 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 30 12:23:27 2009 -0800"
      },
      "message": "libsrp: fix compile failure\n\ncommit 45465487897a1c6d508b14b904dc5777f7ec7e04 (\"kfifo: move struct\nkfifo in place\") caused a compile failure in ibmvscsitgt.c because it\nchanged a pointer to kfifo in the libsrp.h structure to a direct\ninclusion without including \u003clinux/kfifo.h\u003e.\n\nThe fix is simple, just add the include, but how did this happen? This\nchange, introduced at -rc2, hardly looks like a bug fix, and it clearly\ndidn\u0027t go through linux-next, which would have picked up this compile\nfailure (it only occurs on ppc because of the ibm virtual scsi target).\n\n[ Apparently all of -mm wasn\u0027t in linux-next.. ]\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45465487897a1c6d508b14b904dc5777f7ec7e04",
      "tree": "935c8dae68dc793ff2f795d57cf027531475cd53",
      "parents": [
        "2ec91eec47f713e3d158ba5b28a24a85a2cf3650"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Mon Dec 21 14:37:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:17:55 2009 -0800"
      },
      "message": "kfifo: move struct kfifo in place\n\nThis is a new generic kernel FIFO implementation.\n\nThe current kernel fifo API is not very widely used, because it has to\nmany constrains.  Only 17 files in the current 2.6.31-rc5 used it.\nFIFO\u0027s are like list\u0027s a very basic thing and a kfifo API which handles\nthe most use case would save a lot of development time and memory\nresources.\n\nI think this are the reasons why kfifo is not in use:\n\n - The API is to simple, important functions are missing\n - A fifo can be only allocated dynamically\n - There is a requirement of a spinlock whether you need it or not\n - There is no support for data records inside a fifo\n\nSo I decided to extend the kfifo in a more generic way without blowing up\nthe API to much.  The new API has the following benefits:\n\n - Generic usage: For kernel internal use and/or device driver.\n - Provide an API for the most use case.\n - Slim API: The whole API provides 25 functions.\n - Linux style habit.\n - DECLARE_KFIFO, DEFINE_KFIFO and INIT_KFIFO Macros\n - Direct copy_to_user from the fifo and copy_from_user into the fifo.\n - The kfifo itself is an in place member of the using data structure, this save an\n   indirection access and does not waste the kernel allocator.\n - Lockless access: if only one reader and one writer is active on the fifo,\n   which is the common use case, no additional locking is necessary.\n - Remove spinlock - give the user the freedom of choice what kind of locking to use if\n   one is required.\n - Ability to handle records. Three type of records are supported:\n   - Variable length records between 0-255 bytes, with a record size\n     field of 1 bytes.\n   - Variable length records between 0-65535 bytes, with a record size\n     field of 2 bytes.\n   - Fixed size records, which no record size field.\n - Preserve memory resource.\n - Performance!\n - Easy to use!\n\nThis patch:\n\nSince most users want to have the kfifo as part of another object,\nreorganize the code to allow including struct kfifo in another data\nstructure.  This requires changing the kfifo_alloc and kfifo_init\nprototypes so that we pass an existing kfifo pointer into them.  This\npatch changes the implementation and all existing users.\n\n[akpm@linux-foundation.org: fix warning]\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d0961fd1f25e117f907f3af3aaa870637049252",
      "tree": "1eb877e773c511b3da68cab9da4ae0d0e0ee7369",
      "parents": [
        "aeab3fd7b865bc4086a80a83cfdd67dded3b41a0"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Dec 01 17:36:21 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Dec 10 08:54:17 2009 -0600"
      },
      "message": "[SCSI] libosd: Fix blk_put_request locking again\n\nSo libosd has decided to sacrifice some code simplicity for the sake of\na clean API. One of these things is the possibility for users to call\nosd_end_request, in any condition at any state. This opens up some\nproblems with calling blk_put_request when out-side of the completion\ncallback but calling __blk_put_request when detecting a from-completion\nstate.\n\nThe current hack was working just fine until exofs decided to operate on\nall devices in parallel and wait for the sum of the requests, before\ndeallocating all osd-requests at once. There are two new possible cases\n1. All request in a group are deallocated as part of the last request\u0027s\n   async-done, request_queue is locked.\n2. All request in a group where executed asynchronously, but\n   de-allocation was delayed to after the async-done, in the context of\n   another thread. Async execution but request_queue is not locked.\n\nThe solution I chose was to separate the deallocation of the osd_request\nwhich has the information users need, from the deallocation of the\ninternal(2) requests which impose the locking problem. The internal\nblock-requests are freed unconditionally inside the async-done-callback,\nwhen we know the queue is always locked. If at osd_end_request time we\nstill have a bock-request, then we know it did not come from within an\nasync-done-callback and we can call the regular blk_put_request.\n\nThe internal requests were used for carrying error information after\nexecution. This information is now copied to osd_request members for\nlater analysis by user code.\n\nThe external API and behaviour was unchanged, except now it really\nsupports what was previously advertised.\n\nReported-by: Vineet Agarwal \u003ccheckout.vineet@gmail.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "382f51fe2f2276344d8a21447656778cdf6583b6",
      "tree": "c2836a2cca4126c9c026ce5aa2fdf9f1c8ccded6",
      "parents": [
        "701791cc3c8fc6dd83f6ec8af7e2541b4a316606",
        "54987386ee3790f3900de4df2ed4deb0e18dfc9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:42:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:42:25 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (222 commits)\n  [SCSI] zfcp: Remove flag ZFCP_STATUS_FSFREQ_TMFUNCNOTSUPP\n  [SCSI] zfcp: Activate fc4s attributes for zfcp in FC transport class\n  [SCSI] zfcp: Block scsi_eh thread for rport state BLOCKED\n  [SCSI] zfcp: Update FSF error reporting\n  [SCSI] zfcp: Improve ELS ADISC handling\n  [SCSI] zfcp: Simplify handling of ct and els requests\n  [SCSI] zfcp: Remove ZFCP_DID_MASK\n  [SCSI] zfcp: Move WKA port to zfcp FC code\n  [SCSI] zfcp: Use common code definitions for FC CT structs\n  [SCSI] zfcp: Use common code definitions for FC ELS structs\n  [SCSI] zfcp: Update FCP protocol related code\n  [SCSI] zfcp: Dont fail SCSI commands when transitioning to blocked fc_rport\n  [SCSI] zfcp: Assign scheduled work to driver queue\n  [SCSI] zfcp: Remove STATUS_COMMON_REMOVE flag as it is not required anymore\n  [SCSI] zfcp: Implement module unloading\n  [SCSI] zfcp: Merge trace code for fsf requests in one function\n  [SCSI] zfcp: Access ports and units with container_of in sysfs code\n  [SCSI] zfcp: Remove suspend callback\n  [SCSI] zfcp: Remove global config_mutex\n  [SCSI] zfcp: Replace local reference counting with common kref\n  ...\n"
    },
    {
      "commit": "0a55256d158c18e4821c248a295b7f8f4423660f",
      "tree": "c1edd634a07cbe980bbf5dbf1f657d386a6a049d",
      "parents": [
        "63e27fb80c2010678681cef7b528ab8af3624fe9"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:53:57 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:00 2009 -0600"
      },
      "message": "[SCSI] libfc: Add target reset flag to FCP header file\n\nWhile the target reset task management function has been deprecated in\nnewer specs, it is still in use by SCSI FC drivers and there is no\nreal replacement. Add the target reset flag to the FCP header file to\nallow usage of this definition in SCSI FC drivers.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b84056bf68404a5fe06b452ea9790b9927e793a6",
      "tree": "67e9129cd1cf94465f6845ee8f378c856b27bd04",
      "parents": [
        "b21a0c397eea722ff84bbeaf5e6e732a06b69896"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Nov 20 14:55:19 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:58 2009 -0600"
      },
      "message": "[SCSI] fcoe, libfc: add get_lesb() to allow LLD to fill the link error status block (LESB)\n\nAdd a member function pointer as get_lesb to libfc_function_template so LLD\ncan fill the LESB based on its own statistics. For fcoe, it fills the LESB\nas a fcoe_fc_els_lesb struct according to FC-BB-5.\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": "b21a0c397eea722ff84bbeaf5e6e732a06b69896",
      "tree": "736c84675049a6194b044e3ecdecbffb34ba6a50",
      "parents": [
        "f3da80e76142d63a6849556461906fbe118d1442"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Nov 20 14:55:14 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:57 2009 -0600"
      },
      "message": "[SCSI] libfc: add fcoe_fc_els_lesb to fc_fcoe.h for FC-BB-5 LESB definitions\n\nAdd struct fcoe_fc_els_lesb as described in FC-BB-5 LESB for FCoE. It has\nthe same size as LESB defined in FC-FS-3 (struct fc_els_lesb) but members\nhave different meanings according to FC-BB-5.\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": "8cdffdccd948ea4872b7b65280bc04f2fa93fc96",
      "tree": "7713d23f0a066e15b0f9c148bda62fd8db4fec53",
      "parents": [
        "6580bbd0afe6ba1be5d53b331e92a7690046c923"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Nov 20 14:54:57 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:55 2009 -0600"
      },
      "message": "[SCSI] libfcoe: add checking disable flag in FIP_FKA_ADV\n\nWhen the D bit is set if the FKA_ADV_Period of the FIP Discovery\nAdvertisement, the ENode should not transmit period ENode FIP Keep Alive and\nVN_Port FIP Keep Alive (FC-BB-5 Rev2, 7.8.3.13).\n\nNote that fcf-\u003eflags is taken directly from the fip_header, I am claiming one\nbit for the purpose of the FIP_FKA_Period D bit as FIP_FL_FK_ADV_B, and use\nFIP_HEADER_FLAGS as bitmask for bits used in fip_header.\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": "6580bbd0afe6ba1be5d53b331e92a7690046c923",
      "tree": "a628a6ce7c52634cced5957d57a979338ce102f3",
      "parents": [
        "859b7b649ab58ee5cbfb761491317d5b315c1b0f"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Nov 20 14:54:52 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:55 2009 -0600"
      },
      "message": "[SCSI] libfc: add FC-BB-5 LESB counters to fcoe_dev_stats\n\nFC-BB-5 Rev2.0, Clause 7.10 extends the FC-LS-3 LESB for FC-BB_E. We are\nalready tracking Link Failure Count so add the rest in this patch.\n\nFor VLinkFailureCount and MissDiscAdvCount, they are part of the per-cpu\nfcoe_dev_stats. For SymbolErrorCount, ErroredBlockCount, and FCSErrorCount,\nthey are defined in IEEE 802.3-2008 and are per LLD. They are expected to\ncome from LLD.\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": "0899638688f223fd9e9fee60d662665e11693d12",
      "tree": "36c992ae555edcbcc9891956883e81527815dbaf",
      "parents": [
        "aa9fffbe2c4db4557248c5c626a85bf3c7867044"
      ],
      "author": {
        "name": "Martin Michlmayr",
        "email": "tbm@cyrius.com",
        "time": "Mon Nov 16 20:49:25 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:48 2009 -0600"
      },
      "message": "[SCSI] osd_protocol.h: Add missing #include\n\ninclude/scsi/osd_protocol.h uses ALIGN() without an #include\n\u003clinux/kernel.h\u003e, leading to:\n| include/scsi/osd_protocol.h:362: error: implicit declaration of function \u0027ALIGN\u0027\n\nSigned-off-by: Martin Michlmayr \u003ctbm@cyrius.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "aa9fffbe2c4db4557248c5c626a85bf3c7867044",
      "tree": "e719a15e185a35f09e489a5a9f2a72d73c598dd1",
      "parents": [
        "eff21490c91f981126f0ead3c081dde4f425d387"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Nov 16 20:48:38 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:47 2009 -0600"
      },
      "message": "[SCSI] libosd: Error handling revamped\n\nAdminister some love to the osd_req_decode_sense function\n\n* Fix a bad bug with osd_req_decode_sense(). If there was no scsi\n  residual, .i.e the request never reached the target, then all the\n  osd_sense_info members where garbage.\n\n* Add grossly missing in/out_resid to osd_sense_info and fill them in\n  properly.\n\n* Define an osd_err_priority enum which divides the possible errors into\n  7 categories in ascending severity. Each category is also assigned a\n  Linux return code translation.\n\n  Analyze the different osd/scsi/block returned errors and set the\n  proper osd_err_priority and Linux return code accordingly.\n\n* extra check a few situations so not to get stuck with inconsistent\n  error view. Example an empty residual with an error code, and other\n  places ...\n\nLots of libosd\u0027s osd_req_decode_sense clients had this logic in some\nform or another. Consolidate all these into one place that should\nactually know about osd returns. Thous translating it to a more\nabstract error.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "2cdd6410e5a1665823f2a048fc7f8f6a8384be1d",
      "tree": "327ae154abd84aea9c18eb24eb87c9d6f8029d26",
      "parents": [
        "d6ae4333e648492721a098bdc329bbd82d25eb67"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Nov 29 16:26:45 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:46 2009 -0600"
      },
      "message": "[SCSI] libosd: osd_dev_info: Unique Identification of an OSD device\n\nDefine an osd_dev_info structure that Uniquely identifies an OSD\ndevice lun on the network. The identification is built from unique\ntarget attributes and is the same for all network/SAN machines.\n\nosduld_info_lookup() - NEW\n    New API that will lookup an osd_dev by its osd_dev_info.\n    This is used by pNFS-objects for cross network global device\n    identification. And by exofs multy-device support, the device\n    info is specified in the on-disk exofs device table.\n\nosduld_device_info() - NEW\n    Given an osd_dev handle returns its associated osd_dev_info.\n    The ULD fetches this information at startup and hangs it on\n    each OSD device. (This is a fast operation that can be called\n    at any condition)\n\nosduld_device_same() - NEW\n    With a given osd_dev at one hand and an osd_dev_info\n    at another, we would like to know if they are the same\n    device.\n    Two osd_dev handles can be checked by:\n        osduld_device_same(od1, osduld_device_info(od2));\n\nosd_auto_detect_ver() - REVISED\n    Now returns an osd_dev_info structure. Is only called once\n    by ULD as before. See added comments for how to use.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d6ae4333e648492721a098bdc329bbd82d25eb67",
      "tree": "88a78be7ebd13ac3d1cfb386dd1a9bb68ba9aa1f",
      "parents": [
        "89f5e1f2f13b1079b8d7ff7d3ade345b7ad7c009"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Nov 29 16:25:26 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:45 2009 -0600"
      },
      "message": "[SCSI] osduld: Use device-\u003erelease instead of internal kref\n\nThe true logic of this patch will be clear in the next patch where we\nuse the class_find_device() API. When doing so the use of an internal\nkref leaves us a narrow window where a find is started while the actual\nobject can go away. Using the device\u0027s kobj reference solves this\nproblem because now the same kref is used for both operations. (Remove\nand find)\n\nCore changes\n* Embed a struct device in uld_ structure and use device_register\n  instead of devie_create. Set __remove to be the device release\n  function.\n* __uld_get/put is just get_/put_device. Now every thing is accounted\n  for on the device object. Internal kref is removed.\n* At __remove() we can safely de-allocate the uld_ structure. (The\n  function has moved to avoid forward declaration)\n\nSome cleanups\n* Use class register/unregister is cleaner for this driver now.\n* cdev ref-counting games are no longer necessary\n\nI have incremented the device version string in case of new bugs.\n\nNote: Previous bugfix of taking the reference around fput() still\n      applies.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c7d2dc2a204fa37bdf607d4d062dfd14e392aaf1",
      "tree": "3a42de38526caf8111987829d7b38983d5faf046",
      "parents": [
        "d531b37929f412de09e9ad711fdd5b04fa39aca1"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Nov 16 20:41:03 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:44 2009 -0600"
      },
      "message": "[SCSI] libosd: osd_sense: OSD_CFO_PERMISSIONS\n\nAdd one more important cdb_field_offset that can be returned with\nscsi_invalid_field_in_cdb. It is the offset of the permissions_bit_mask\nfield in the capabilities structure.\n\nInterestingly, the offset is the same for V1/V2\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d531b37929f412de09e9ad711fdd5b04fa39aca1",
      "tree": "058897292c2647e33b1959a88b847e7004f72810",
      "parents": [
        "0d48fcca1ff5d106b0ac6770a31b13e3630b244a"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Nov 16 20:39:25 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:44 2009 -0600"
      },
      "message": "[SCSI] libosd: osd_dev_is_ver1 - Minor API cleanup\n\ndefine a new osd_dev_is_ver1 that operates on devices\nand the old osd_req_is_ver1 uses that new API.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3fe5ae8b4c4d3a82c755074878da7ddb9dde381e",
      "tree": "2565bc75ba1ab288cff50d4290eca8312f87bb04",
      "parents": [
        "5d12c05e29fc8715e3e32f57a8cced9290d87c55"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed Nov 11 16:34:33 2009 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:36 2009 -0600"
      },
      "message": "[SCSI] libiscsi: add warm target reset tmf support\n\nThis implements warm target reset tmf support for\nthe scsi-ml target reset callback. Previously we would\njust drop the session in that callback. This patch will\nnow try a target reset and if that fails drop the session.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5d12c05e29fc8715e3e32f57a8cced9290d87c55",
      "tree": "e73691cdb5a2a52a9b56ad9f06183f49bb4e3d49",
      "parents": [
        "4f704dc03297406ea5d53b85c4666c60f69000bf"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed Nov 11 16:34:32 2009 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:36 2009 -0600"
      },
      "message": "[SCSI] libiscsi: Check TMF state before sending PDU\n\nPatch and mail from both MikeC and HannesR:\n\nBefore we\u0027re trying to send a PDU we have to check whether a TMF\nis active. If so and if the PDU will be affected by the TMF\nwe should allow only Data-out PDUs to be sent.\n\nIf fast_abort is set, no Data-out PDUs will be sent while\na LUN reset is being processed for a affected LUN.\n\nfast_abort is now ingored during a ABORT TASK tmf. We will not\nsend any Data-outs for a task if the task is being aborted.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d139b9bd0e52dda14fd13412e7096e68b56d0076",
      "tree": "518daa6384ff606ec77dd8fe4714ea2f177d92c4",
      "parents": [
        "5917290ce9b376866b165d02a5ed88d5ecdb32d0"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Nov 05 13:33:12 2009 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:30 2009 -0600"
      },
      "message": "[SCSI] scsi_lib_dma: fix bug with dma maps on nested scsi objects\n\nSome of our virtual SCSI hosts don\u0027t have a proper bus parent at the\ntop, which can be a problem for doing DMA on them\n\nThis patch makes the host device cache a pointer to the physical bus\ndevice and provides an extra API for setting it (the normal API picks\nit up from the parent).  This patch also modifies the qla2xxx and lpfc\nvport logic to use the new DMA host setting API.\n\nAcked-By: James Smart  \u003cjames.smart@emulex.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\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": "386309ce927a308d7742a6fb24a536d3383fbd49",
      "tree": "4e8ddbb895e5bd837020896a1c2505ea8bc3159b",
      "parents": [
        "e6d8a1b0b53a156979120dd0593c1867b8ea89d3"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:49:16 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:18 2009 -0600"
      },
      "message": "[SCSI] libfcoe: fcoe: simplify receive FLOGI response\n\nThere was a locking problem where the fip-\u003elock was held during\nthe call to update_mac().  The rtnl_lock() must be taken before\nthe fip-\u003elock, not the other way around.  This fixes that.\n\nNow that fcoe_ctlr_recv_flog() is called only from the response handler\nto a FLOGI request, some checking can be eliminated.  Instead of calling\nupdate_mac(), just fill in the granted_mac address for the passed-in\nframe (skb).\n\nEliminate the passed-in source MAC address since it is also in the skb.\n\nAlso, in fcoe, call fcoe_set_src_mac() directly instead of going thru\nthe fip function pointer.  This will generate less code.\nThen, since fip isn\u0027t needed for LOGO response, use lport as the arg.\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": "5f9a056db9c7973c46337ec8d034323aa72bf206",
      "tree": "2b61b80ddfcd82fc415856306b791b870e3544d2",
      "parents": [
        "6049d95a8a223e2dc3a476dea9f0fbc9b580f38f"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:48:55 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:16 2009 -0600"
      },
      "message": "[SCSI] libfc: fix symbolic name registrations smashing skb data\n\nThe strncpy for RSPN_ID and RSNN_NN requests was padding\npast the allocated frame size.\n\nGet the string length before filling in the ct header.\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": "6049d95a8a223e2dc3a476dea9f0fbc9b580f38f",
      "tree": "10781493611d633cba23b2a0d929726ee3434865",
      "parents": [
        "59d925168457805572f40fb12bd399e89775b3ff"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:48:50 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:15 2009 -0600"
      },
      "message": "[SCSI] libfc: fix RNN_ID smashing skb payload\n\nThe code that filled in the name server RNN_ID (register node name)\nrequest had somehow gotten a line in it from the RFT_ID code\nwhich copies 32 bytes of data over the relatively short payload.\nThis caused some corruption and hangs.\n\nSimply deleted the extraneous line.\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": "dd42dac4ecd1799077c132aab35d3c36b26d4d8c",
      "tree": "d3ca67f50eccef31071bfe26e09bf97c686bc088",
      "parents": [
        "1f4aed818d26eb9ed54520fbeb85d5ee691baa94"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:48:27 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:13 2009 -0600"
      },
      "message": "[SCSI] libfcoe: FIP should report link to libfc whether selected or not\n\nThe fnic driver with FIP is reporting link up, even though it\u0027s down.\n\nWhen the interface is shut down by the switch, we receive a clear\nvirtual link, and set the state reported to libfc as down, although\nwe still report it up.  Clearly wrong.  That causes the subsequent\nlink down event not to be reported, and /sys shows the host \"Online\".\n\nCurrently, in FIP mode, if an FCF times out, then link to libfc\nis reported as down, to stop FLOGIs.  That interferes with the LLD\nlink down being reported.\n\nUsers really need to know the physical link information, to diagnose\ncabling issues, so physical link status should be reported to libfc.\n\nIf the selected FCF needs to be reported, that should be done\nseparately, in a later patch.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "22bcd225bfe2107725228758137d2109befa942a",
      "tree": "48ae2ad5151e55f066fa8006605f06615f00a74d",
      "parents": [
        "84c3e1ad08d4be018a95e7a9964bf3dbc8cf8857"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:48:11 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:11 2009 -0600"
      },
      "message": "[SCSI] libfcoe: Allow FIP to be disabled by the driver\n\nAllow FIP to be disabled by the driver for devices\nthat want to use libfcoe in non-FIP mode.\n\nThe driver merely sets the fcoe_ctlr mode to the state which\nshould be entered when the link comes up.  The default is auto.\nNo change is needed for fcoe.c which uses auto mode.\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": "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": "70b51aabf3b03fbf8d61c14847ccce4c69fb0cdd",
      "tree": "fbb86fc791fccbfdcd931ec37409d8da2c88c81c",
      "parents": [
        "3a3b42bf89a9b90ae9ed2c57fdc378e5473a0ef9"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 03 11:47:45 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:07 2009 -0600"
      },
      "message": "[SCSI] libfcoe: formatting and comment cleanups\n\nEnsures that there are kernel-doc style comments for all\nroutines and structures.\n\nThere were also a few instances of fc_lport\u0027s named \u0027lp\u0027\nwhich were switched to \u0027lport\u0027 as per the libfc/libfcoe/fcoe\nnaming convention.\n\nAlso, emacs \u0027indent-region\u0027 and \u0027tabify\u0027 were ran on libfcoe.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": "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": "07aac328342d6ca1725d901e1c5da8a1aa88f557",
      "tree": "1ea10e3eafc38e61398b6f02a3e0f0ac319097c7",
      "parents": [
        "dc8596d303bb306da9ab5326fa6209710de86b8b"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 03 11:47:23 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:05 2009 -0600"
      },
      "message": "[SCSI] libfc: Export FC headers\n\nExport fc_els.h, fc_fs.h, fc_gs.h and fc_ns.h so that they\nmay be used by applications.\n\nThis will be needed for FC Passthrough applications like fcping,\nbut could be used by other applications.\n\nFix to include \u003clinux/types.h\u003e to exported files provided by\nChris Leech \u003cchristopher.leech@intel.com\u003e.\n\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": "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": "65d430fa99cbd0e88d09a3343f697c51fc8a7009",
      "tree": "d0e7f7353bb227ff7585ff77cc682611acd1680b",
      "parents": [
        "03b147083a2f9a2a3fbbd2505fa88ffa3c6ab194"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Oct 30 17:59:29 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:52 2009 -0600"
      },
      "message": "[SCSI] scsi_transport_fc: Introduce helper function for blocking scsi_eh\n\nMove the duplicated code from FC LLDs to SCSI FC transport class.\n\nAcked-by: James Smart \u003cjames.smart@emulex.com\u003e\nAcked-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.com\u003e\nAcked-by: Abhijeet Joglekar \u003cabjoglek@cisco.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3ae31f6a7b6e442fc6a92f29330fbad230dc3992",
      "tree": "9ca152ac3412de2917c0486b64898e6a75f853d9",
      "parents": [
        "42e62a74377bcbb526565a31aa18da8f712b93ee"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Wed Oct 21 09:22:46 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:46 2009 -0600"
      },
      "message": "[SCSI] scsi_dh: Change the scsidh_activate interface to be asynchronous\n\nMake scsi_dh_activate() function asynchronous, by taking in two additional\nparameters, one is the callback function and the other is the data to call\nthe callback function with.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4a84067dbfce436b81779e585bf712b02ceee552",
      "tree": "f787d413a11c6564ad4440d0a245f56d0e6b73bf",
      "parents": [
        "14caf44c69184ed72d46a2f883311daf27a4192f"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Thu Oct 22 15:46:33 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:44 2009 -0600"
      },
      "message": "[SCSI] add queue_depth ramp up code\n\nCurrent FC HBA queue_depth ramp up code depends on last queue\nfull time. The sdev already  has last_queue_full_time field to\ntrack last queue full time but stored value is truncated by\nlast four bits.\n\nSo this patch updates last_queue_full_time without truncating\nlast 4 bits to store full value and then updates its only\ncurrent usages in scsi_track_queue_full to ignore last four bits\nto keep current usages same while also use this field\nin added ramp up code.\n\nAdds scsi_handle_queue_ramp_up to ramp up queue_depth on\nsuccessful completion of IO. The scsi_handle_queue_ramp_up will\ndo ramp up on all luns of a target, just same as ramp down done\non all luns on a target.\n\nThe ramp up is skipped in case the change_queue_depth is not\nsupported by LLD or already reached to added max_queue_depth.\n\nUpdates added max_queue_depth on every new update to default\nqueue_depth value.\n\nThe ramp up is also skipped if lapsed time since either last\nqueue ramp up or down is less than LLD specified\nqueue_ramp_up_period.\n\nAdds queue_ramp_up_period to sysfs but only if change_queue_depth\nis supported since ramp up and queue_ramp_up_period is needed only\nin case change_queue_depth is supported first.\n\nInitializes queue_ramp_up_period to 120HZ jiffies as initial\ndefault value, it is same as used in existing lpfc and qla2xxx.\n\n-v2\n Combined all ramp code into this single patch.\n\n-v3\n Moves max_queue_depth initialization after slave_configure is\ncalled from after slave_alloc calling done. Also adjusted\nmax_queue_depth check to skip ramp up if current queue_depth\nis \u003e\u003d max_queue_depth.\n\n-v4\n Changes sdev-\u003equeue_ramp_up_period unit to ms when using sysfs i/f\nto store or show its value.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nTested-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nTested-by: Giridhar Malavali \u003cgiridhar.malavali@qlogic.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": "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": "f57e4502cea471c69782d4790c71d8414ab49a9d",
      "tree": "e902df0da6197c8f51aa65229920d3241a7b23df",
      "parents": [
        "54a3b30e758ec90c5cf860637e28b2d1142af18e"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Oct 15 14:43:23 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:15 2009 -0600"
      },
      "message": "[SCSI] scsi: Add missing command definitions\n\nAdd definitions for UNMAP, WRITE SAME{16,32} and GET LBA STATUS\ncommands.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "860dc73608a091e0b325218acc2701709d5f221a",
      "tree": "2527b226e1991c459ac02de4a6ba5c98a4639add",
      "parents": [
        "3bf3583b6a49c318f7ed350862d7a217b500e71c"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Nov 19 17:48:29 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Nov 26 09:43:39 2009 -0600"
      },
      "message": "[SCSI] fix async scan add/remove race resulting in an oops\n\nAsync scanning introduced a very wide window where the SCSI device is\nup and running but has not yet been added to sysfs.  We delay the\nadding until all scans have completed to retain the same ordering as\nsync scanning.\n\nThis delay in visibility causes an oops if a device is removed before\nwe make it visible because the SCSI removal routines have an inbuilt\nassumption that if a device is in SDEV_RUNNING state, it must be\nvisible (which is not necessarily true in the async scanning case).\n\nFix this by introducing an additional is_visible flag which we can use\nto condition the tear down so we do the right thing for running but\nnot yet made visible.\n\nReported-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b2b465e9280b739a528435d2916c0a5c1b4eb100",
      "tree": "003751e8ad8f85a7a68e317aa8820de91ee5429a",
      "parents": [
        "88197966e1eeee6547764fa49bfce7e57549acd2"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Oct 29 22:32:26 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Nov 06 11:50:52 2009 -0600"
      },
      "message": "[SCSI] Fix incorrect reporting of host protection capabilities\n\nThe advent of DIF Type 2 devices exposed some missing break statements\nin the protection mask switch constructs.  However, rewriting the code\nto use an index into a small static array seemed like a more elegant\nsolution.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b8b9e1b8128d8854cf55740f9ceba3010143520d",
      "tree": "b4043ea1ac0d8bd8602628fcb48ffac7ffe8bdbf",
      "parents": [
        "6733b39a1301b0b020bbcbf3295852e93e624cb1"
      ],
      "author": {
        "name": "Jayamohan Kallickal",
        "email": "jayamohank@serverengines.com",
        "time": "Tue Sep 22 08:21:22 2009 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Oct 02 14:01:39 2009 -0500"
      },
      "message": "[SCSI] libiscsi: iscsi_session_setup to allow for private space\n\nThis patch contains changes that allow iscsi_session_setup\nto allocate private space for LLD\u0027s\n\nSigned-off-by: Jayamohan Kallickal \u003cjayamohank@serverengines.com\u003e\nAcked-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4e7392ec582cf06753b0969ca9ab959923e38493",
      "tree": "b630b857bd004612c14d4abe622c082b975e22fe",
      "parents": [
        "b4c2554d40ceac130a8d062eaa8838ed22158c45"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sun Sep 20 16:49:38 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Oct 02 09:47:04 2009 -0500"
      },
      "message": "[SCSI] sd: Support disks formatted with DIF Type 2\n\nDisks formatted with DIF Type 2 reject READ/WRITE 6/10/12/16 commands\nwhen protection is enabled.  Only the 32-byte variants are supported.\n\nImplement support for issusing 32-byte READ/WRITE and enable Type 2\ndrives in the protection type detection logic.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "35e1a5d90b66487d754ef2f2dcbf1007f806d921",
      "tree": "964511498993ed8fe0c1604ab74ac7a3db9361ba",
      "parents": [
        "c6af404215bab0d333accbb497f835d10cb0050c"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 18 17:33:00 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Oct 02 09:46:39 2009 -0500"
      },
      "message": "[SCSI] sd: Detach DIF from block integrity infrastructure\n\nSo far we have only issued DIF commands if CONFIG_BLK_DEV_INTEGRITY is\nenabled.  However, communication between initiator and target should be\nindependent of protection information DMA.  There are DIF-only host\nadapters coming out that will be able to take advantage of this.\n\nMove the relevant DIF bits to sd.c.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c6af404215bab0d333accbb497f835d10cb0050c",
      "tree": "fc58c360c3d678405b4bd38fd7894af9c8b91edd",
      "parents": [
        "6e883b0e42739aa560133cfaf41be1138c51a500"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 18 17:32:59 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Oct 02 09:46:25 2009 -0500"
      },
      "message": "[SCSI] Deprecate SCSI_PROT_*_CONVERT operations\n\nThe checksum format is orthogonal to whether the protection information\nis being passed on beyond the HBA or not.  It is perfectly valid to use\na non-T10 CRC with WRITE_STRIP and READ_INSERT.\n\nConsequently it no longer makes sense to explicitly refer to the\nconversion in the protection operation.  Update sd_dif and lpfc\naccordingly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nAcked-by: Ihab Hamadi \u003cIhab.Hamadi@Emulex.Com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    }
  ],
  "next": "a419aef8b858a2bdb98df60336063d28df4b272f"
}
