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