)]}'
{
  "log": [
    {
      "commit": "64fe4f4f181cc2fe97d4176bf6ee6e3725ae33ec",
      "tree": "5bb4a5735dcc3e253f4cd047be4347b74a387422",
      "parents": [
        "5a3b6fc0092c5f8dee7820064ee54d2631d48573"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jan 07 11:45:16 2013 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jan 10 21:00:37 2013 -0800"
      },
      "message": "iscsi-target: Fix CmdSN comparison (use cmd-\u003ecmd_sn instead of cmd-\u003estat_sn)\n\nCommit 64c13330a389 (\"iscsi-target: Fix bug in handling of ExpStatSN\nACK during u32 wrap-around\") introduced a bug where we compare the\nwrong SN against our ExpCmdSN.\n\nReported-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5a3b6fc0092c5f8dee7820064ee54d2631d48573",
      "tree": "acd4e983a76dbcd000a58e239d61ad50ddf90cd7",
      "parents": [
        "72b59d6ee8adaa51f70377db0a1917ed489bead8"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 02 12:47:59 2013 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jan 10 21:00:36 2013 -0800"
      },
      "message": "target: Release se_cmd when LUN lookup fails for TMR\n\nWhen transport_lookup_tmr_lun() fails and we return a task management\nresponse from target_complete_tmr_failure(), we need to call\ntransport_cmd_check_stop_to_fabric() to release the last ref to the\ncmd after calling se_tfo-\u003equeue_tm_rsp(), or else we will never remove\nthe failed TMR from the session command list (and we\u0027ll end up waiting\nforever when trying to tear down the session).\n\n(nab: Fix minor compile breakage)\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "72b59d6ee8adaa51f70377db0a1917ed489bead8",
      "tree": "fcfc00e42478a608a24ae4df9795568abc808f4c",
      "parents": [
        "e627c615553a356f6f70215ebb3933c6e057553e"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 02 12:47:58 2013 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jan 10 21:00:35 2013 -0800"
      },
      "message": "target: Fix use-after-free in LUN RESET handling\n\nIf a backend IO takes a really long then an initiator might abort a\ncommand, and then when it gives up on the abort, send a LUN reset too,\nall before we process any of the original command or the abort.  (The\nabort will wait for the backend IO to complete too)\n\nWhen the backend IO final completes (or fails), the abort handling\nwill proceed and queue up a \"return aborted status\" operation.  Then,\nwhile that\u0027s still pending, the LUN reset might find the original\ncommand still on the LUN\u0027s list of commands and try to return aborted\nstatus again, which leads to a use-after free when the first\nse_tfo-\u003equeue_status call frees the command and then the second\nse_tfo-\u003equeue_status call runs.\n\nFix this by removing a command from the LUN state_list when we first\nare about to queue aborted status; we shouldn\u0027t do anything\nLUN-related after we\u0027ve started returning status, so this seems like\nthe correct thing to do.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e627c615553a356f6f70215ebb3933c6e057553e",
      "tree": "34f476cfe326bdf5f2b3027e7c09035c2ba2bc21",
      "parents": [
        "edec8dfefa1f372b2dd8197da555352e76a10c03"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 02 12:47:57 2013 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jan 10 21:00:07 2013 -0800"
      },
      "message": "target: Fix missing CMD_T_ACTIVE bit regression for pending WRITEs\n\nThis patch fixes a regression bug introduced during v3.6.x code with\nthe following commit to drop transport_add_cmd_to_queue(), which\noriginally re-set CMD_T_ACTIVE during pending WRITE I/O submission:\n\ncommit af8772926f019b7bddd7477b8de5f3b0f12bad21\nAuthor: Christoph Hellwig \u003chch@infradead.org\u003e\nDate:   Sun Jul 8 15:58:49 2012 -0400\n\n    target: replace the processing thread with a TMR work queue\n\nThe following sequence happens for write commands (or any other\ncommands with a data out phase):\n\n - The transport calls target_submit_cmd(), which sets CMD_T_ACTIVE in\n   cmd-\u003etransport_state and sets cmd-\u003et_state to TRANSPORT_NEW_CMD.\n - Things go on transport_generic_new_cmd(), which notices that the\n   command needs to transfer data, so it sets cmd-\u003et_state to\n   TRANSPORT_WRITE_PENDING and calls transport_cmd_check_stop().\n - transport_cmd_check_stop() clears CMD_T_ACTIVE in cmd-\u003etransport_state\n   and returns in the normal case.\n - Then we continue on to call -\u003ese_tfo-\u003ewrite_pending().\n - The data comes back from the initiator, and the transport calls\n   target_execute_cmd(), which sets cmd-\u003et_state to TRANSPORT_PROCESSING\n   and calls into the backend to actually write the data.\n\nAt this point, the backend might take a long time to complete the\ncommand, since it has to do real IO.  If an abort request comes in for\nthis command at this point, it will not wait for the command to finish\nsince CMD_T_ACTIVE is not set.  Then when the command does finally\nfinish, we blow up with use-after-free.\n\nAvoid this by setting CMD_T_ACTIVE in target_execute_cmd() so that\ntransport_wait_for_tasks() waits for the command to finish executing.\nThis matches the behavior from before commit 1389533ef944 (\"target:\nremove transport_generic_handle_data\"), when data was signaled via\ntransport_generic_handle_data(), which set CMD_T_ACTIVE because it\ncalled transport_add_cmd_to_queue().\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReported-by: Martin Svec \u003cmartin.svec@zoner.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "edec8dfefa1f372b2dd8197da555352e76a10c03",
      "tree": "dc14408bf9e8eb77c2f89a301f30fd319051c4a5",
      "parents": [
        "f2eeba214bcd0215b7f558cab6420e5fd153042b"
      ],
      "author": {
        "name": "Mark Rustad",
        "email": "mark.d.rustad@intel.com",
        "time": "Fri Dec 21 10:58:19 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jan 10 20:08:58 2013 -0800"
      },
      "message": "tcm_fc: Do not report target role when target is not defined\n\nClear the target role when no target is provided for\nthe node performing a PRLI.\n\nSigned-off-by: Mark Rustad \u003cmark.d.rustad@intel.com\u003e\nReviewed-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nAcked by Robert Love \u003crobert.w.love@intel.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f2eeba214bcd0215b7f558cab6420e5fd153042b",
      "tree": "a91403d50012e99a8e8972b9bd28d506e0b39253",
      "parents": [
        "a0d50f62c8b7e461f9d53124576d59bc582f3eb3"
      ],
      "author": {
        "name": "Mark Rustad",
        "email": "mark.d.rustad@intel.com",
        "time": "Fri Dec 21 10:58:14 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jan 10 20:07:47 2013 -0800"
      },
      "message": "tcm_fc: Do not indicate retry capability to initiators\n\nWhen generating a PRLI response to an initiator, clear the\nFCP_SPPF_RETRY bit in the response.\n\nSigned-off-by: Mark Rustad \u003cmark.d.rustad@intel.com\u003e\nReviewed-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nAcked by Robert Love \u003crobert.w.love@intel.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a0d50f62c8b7e461f9d53124576d59bc582f3eb3",
      "tree": "27b1880e3fde45c905028f85a67c1d729b4cea22",
      "parents": [
        "ba829137bfd167623363548aa385be769c6b2664"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Mon Dec 17 09:53:34 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jan 10 20:07:10 2013 -0800"
      },
      "message": "target: Use TCM_NO_SENSE for initialisation\n\nThe compiler complained about uninitialized variables, so\nuse TCM_NO_SENSE here.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ba829137bfd167623363548aa385be769c6b2664",
      "tree": "27d8f1896ec608476bd7b94edfdcd5d82a72e46e",
      "parents": [
        "18a9df42d53fabfa43b78be1104838cc8b9762e1"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Mon Dec 17 09:53:33 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jan 10 20:06:08 2013 -0800"
      },
      "message": "target: Introduce TCM_NO_SENSE\n\nIntroduce TCM_NO_SENSE, mapping to sense code\n\u0027Not ready, no additional sense information\u0027.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "18a9df42d53fabfa43b78be1104838cc8b9762e1",
      "tree": "f4da489740a6db3e31423b24145934b5957936cd",
      "parents": [
        "d1c3ed669a2d452cacfb48c2d171a1f364dae2ed"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Mon Dec 17 09:53:32 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Jan 08 15:49:30 2013 -0800"
      },
      "message": "target: use correct sense code for LUN communication failure\n\nThe ASC/ASCQ code for \u0027Logical Unit Communication failure\u0027 is\n0x08/0x00; 0x80/0x00 is vendor specific.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5bd665f28db2b04a8d6fe277342479906fc60b62",
      "tree": "4f9f63120fed3a61b44bbb7ec4ebaaa4dc4fc571",
      "parents": [
        "115b1cc2ef0f43ecb42bdbf55f06e9d2231d5a7e",
        "79e62fc3827bd437c304c1810f36896fc1e717b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 15 14:25:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 15 14:25:10 2012 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull target updates from Nicholas Bellinger:\n \"It has been a very busy development cycle this time around in target\n  land, with the highlights including:\n\n   - Kill struct se_subsystem_dev, in favor of direct se_device usage\n     (hch)\n   - Simplify reservations code by combining SPC-3 + SCSI-2 support for\n     virtual backends only (hch)\n   - Simplify ALUA code for virtual only backends, and remove left over\n     abstractions (hch)\n   - Pass sense_reason_t as return value for I/O submission path (hch)\n   - Refactor MODE_SENSE emulation to allow for easier addition of new\n     mode pages.  (roland)\n   - Add emulation of MODE_SELECT (roland)\n   - Fix bug in handling of ExpStatSN wrap-around (steve)\n   - Fix bug in TMR ABORT_TASK lookup in qla2xxx target (steve)\n   - Add WRITE_SAME w/ UNMAP\u003d0 support for IBLOCK backends (nab)\n   - Convert ib_srpt to use modern target_submit_cmd caller + drop\n     legacy ioctx-\u003ekref usage (nab)\n   - Convert ib_srpt to use modern target_submit_tmr caller (nab)\n   - Add link_magic for fabric allow_link destination target_items for\n     symlinks within target_core_fabric_configfs.c code (nab)\n   - Allocate pointers in instead of full structs for\n     config_group-\u003edefault_groups (sebastian)\n   - Fix 32-bit highmem breakage for FILEIO (sebastian)\n\n  All told, hch was able to shave off another ~1K LOC by killing the\n  se_subsystem_dev abstraction, along with a number of PR + ALUA\n  simplifications.  Also, a nice patch by Roland is the refactoring of\n  MODE_SENSE handling, along with the addition of initial MODE_SELECT\n  emulation support for virtual backends.\n\n  Sebastian found a long-standing issue wrt to allocation of full\n  config_group instead of pointers for config_group-\u003edefault_group[]\n  setup in a number of areas, which ends up saving memory with big\n  configurations.  He also managed to fix another long-standing BUG wrt\n  to broken 32-bit highmem support within the FILEIO backend driver.\n\n  Thank you again to everyone who contributed this round!\"\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (50 commits)\n  target/iscsi_target: Add NodeACL tags for initiator group support\n  target/tcm_fc: fix the lockdep warning due to inconsistent lock state\n  sbp-target: fix error path in sbp_make_tpg()\n  sbp-target: use simple assignment in tgt_agent_rw_agent_state()\n  iscsi-target: use kstrdup() for iscsi_param\n  target/file: merge fd_do_readv() and fd_do_writev()\n  target/file: Fix 32-bit highmem breakage for SGL -\u003e iovec mapping\n  target: Add link_magic for fabric allow_link destination target_items\n  ib_srpt: Convert TMR path to target_submit_tmr\n  ib_srpt: Convert I/O path to target_submit_cmd + drop legacy ioctx-\u003ekref\n  target: Make spc_get_write_same_sectors return sector_t\n  target/configfs: use kmalloc() instead of kzalloc() for default groups\n  target/configfs: allocate only 6 slots for dev_cg-\u003edefault_groups\n  target/configfs: allocate pointers instead of full struct for default_groups\n  target: update error handling for sbc_setup_write_same()\n  iscsit: use GFP_ATOMIC under spin lock\n  iscsi_target: Remove redundant null check before kfree\n  target/iblock: Forward declare bio helpers\n  target: Clean up flow in transport_check_aborted_status()\n  target: Clean up logic in transport_put_cmd()\n  ...\n"
    },
    {
      "commit": "79e62fc3827bd437c304c1810f36896fc1e717b1",
      "tree": "fe58b9e0bb253699f22b32412f1e0d4a42865206",
      "parents": [
        "9f4ad44b264f8bb61ffdd607148215566568430d"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Dec 11 16:30:53 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Dec 13 14:18:09 2012 -0800"
      },
      "message": "target/iscsi_target: Add NodeACL tags for initiator group support\n\nThanks for reviews, looking a lot better.\n\n---- 8\u003c ----\n\nInitiator access config could be easier. The way other storage vendors\nhave addressed this is to support initiator groups: the admin adds\ninitiator WWNs to the group, and then LUN permissions can be granted for\nthe entire group at once.\n\nInstead of changing ktarget\u0027s configfs interface, this patch keeps\nthe configfs interface per-initiator-wwn and just adds a \u0027tag\u0027 field\nfor each. This should be enough for user tools like targetcli to group\ninitiator ACLs and sync their configurations.\n\nacl_tag is not used internally, but needs to be kept in configfs so that\nall user tools can avoid dependencies on each other.\n\nCode tested to work, although userspace pieces still to be implemented.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a2013a13e68354e0c8f3696b69701803e13fb737",
      "tree": "a7e1da6bfad1aa2afd83f401874d606269ce90b4",
      "parents": [
        "dadfab4873256d2145640c0ce468fcbfb48977fe",
        "106f9d9337f65bd428c0c79f650e3489e458d771"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 12:00:02 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 12:00:02 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial branch from Jiri Kosina:\n \"Usual stuff -- comment/printk typo fixes, documentation updates, dead\n  code elimination.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  HOWTO: fix double words typo\n  x86 mtrr: fix comment typo in mtrr_bp_init\n  propagate name change to comments in kernel source\n  doc: Update the name of profiling based on sysfs\n  treewide: Fix typos in various drivers\n  treewide: Fix typos in various Kconfig\n  wireless: mwifiex: Fix typo in wireless/mwifiex driver\n  messages: i2o: Fix typo in messages/i2o\n  scripts/kernel-doc: check that non-void fcts describe their return value\n  Kernel-doc: Convention: Use a \"Return\" section to describe return values\n  radeon: Fix typo and copy/paste error in comments\n  doc: Remove unnecessary declarations from Documentation/accounting/getdelays.c\n  various: Fix spelling of \"asynchronous\" in comments.\n  Fix misspellings of \"whether\" in comments.\n  eisa: Fix spelling of \"asynchronous\".\n  various: Fix spelling of \"registered\" in comments.\n  doc: fix quite a few typos within Documentation\n  target: iscsi: fix comment typos in target/iscsi drivers\n  treewide: fix typo of \"suport\" in various comments and Kconfig\n  treewide: fix typo of \"suppport\" in various comments\n  ...\n"
    },
    {
      "commit": "9f4ad44b264f8bb61ffdd607148215566568430d",
      "tree": "e03e33d31558bf757b61fbfdf04fe7b54e14e307",
      "parents": [
        "e1fe2060d7e8f58a69374135e32e90f0bb79a7fd"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Mon Dec 10 17:04:00 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 12 21:18:01 2012 -0800"
      },
      "message": "target/tcm_fc: fix the lockdep warning due to inconsistent lock state\n\nThe lockdep warning below is in theory correct but it will be in really weird\nrare situation that ends up that deadlock since the tcm fc session is hashed\nbased the rport id. Nonetheless, the complaining below is about rcu callback\nthat does the transport_deregister_session() is happening in softirq, where\ntransport_register_session() that happens earlier is not. This triggers the\nlockdep warning below. So, just fix this to make lockdep happy by disabling\nthe soft irq before calling transport_register_session() in ft_prli.\n\nBTW, this was found in FCoE VN2VN over two VMs, couple of create and destroy\nwould get this triggered.\n\nv1: was enforcing register to be in softirq context which was not righ. See,\nhttp://www.spinics.net/lists/target-devel/msg03614.html\n\nv2: following comments from Roland\u0026Nick (thanks), it seems we don\u0027t have to\ndo transport_deregister_session() in rcu callback, so move it into ft_sess_free()\nbut still do kfree() of the corresponding ft_sess struct in rcu callback to\nmake sure the ft_sess is not freed till the rcu callback.\n\n...\n[ 1328.370592] scsi2 : FCoE Driver\n[ 1328.383429] fcoe: No FDMI support.\n[ 1328.384509] host2: libfc: Link up on port (000000)\n[ 1328.934229] host2: Assigned Port ID 00a292\n[ 1357.232132] host2: rport 00a393: Remove port\n[ 1357.232568] host2: rport 00a393: Port sending LOGO from Ready state\n[ 1357.233692] host2: rport 00a393: Delete port\n[ 1357.234472] host2: rport 00a393: work event 3\n[ 1357.234969] host2: rport 00a393: callback ev 3\n[ 1357.235979] host2: rport 00a393: Received a LOGO response closed\n[ 1357.236706] host2: rport 00a393: work delete\n[ 1357.237481]\n[ 1357.237631] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 1357.238064] [ INFO: inconsistent lock state ]\n[ 1357.238450] 3.7.0-rc7-yikvm+ #3 Tainted: G           O\n[ 1357.238450] ---------------------------------\n[ 1357.238450] inconsistent {SOFTIRQ-ON-W} -\u003e {IN-SOFTIRQ-W} usage.\n[ 1357.238450] ksoftirqd/0/3 [HC0[0]:SC1[1]:HE0:SE0] takes:\n[ 1357.238450]  (\u0026(\u0026se_tpg-\u003esession_lock)-\u003erlock){+.?...}, at: [\u003cffffffffa01eacd4\u003e] transport_deregister_session+0x41/0x148 [target_core_mod]\n[ 1357.238450] {SOFTIRQ-ON-W} state was registered at:\n[ 1357.238450]   [\u003cffffffff810834f5\u003e] mark_held_locks+0x6d/0x95\n[ 1357.238450]   [\u003cffffffff8108364a\u003e] trace_hardirqs_on_caller+0x12d/0x197\n[ 1357.238450]   [\u003cffffffff810836c1\u003e] trace_hardirqs_on+0xd/0xf\n[ 1357.238450]   [\u003cffffffff8149caba\u003e] _raw_spin_unlock_irq+0x2d/0x45\n[ 1357.238450]   [\u003cffffffffa01e8d10\u003e] __transport_register_session+0xb8/0x122 [target_core_mod]\n[ 1357.238450]   [\u003cffffffffa01e8dbe\u003e] transport_register_session+0x44/0x5a [target_core_mod]\n[ 1357.238450]   [\u003cffffffffa018e32c\u003e] ft_prli+0x1e3/0x275 [tcm_fc]\n[ 1357.238450]   [\u003cffffffffa0160e8d\u003e] fc_rport_recv_req+0x95e/0xdc5 [libfc]\n[ 1357.238450]   [\u003cffffffffa015be88\u003e] fc_lport_recv_els_req+0xc4/0xd5 [libfc]\n[ 1357.238450]   [\u003cffffffffa015c778\u003e] fc_lport_recv_req+0x12f/0x18f [libfc]\n[ 1357.238450]   [\u003cffffffffa015a6d7\u003e] fc_exch_recv+0x8ba/0x981 [libfc]\n[ 1357.238450]   [\u003cffffffffa0176d7a\u003e] fcoe_percpu_receive_thread+0x47a/0x4e2 [fcoe]\n[ 1357.238450]   [\u003cffffffff810549f1\u003e] kthread+0xb1/0xb9\n[ 1357.238450]   [\u003cffffffff814a40ec\u003e] ret_from_fork+0x7c/0xb0\n[ 1357.238450] irq event stamp: 275411\n[ 1357.238450] hardirqs last  enabled at (275410): [\u003cffffffff810bb6a0\u003e] rcu_process_callbacks+0x229/0x42a\n[ 1357.238450] hardirqs last disabled at (275411): [\u003cffffffff8149c2f7\u003e] _raw_spin_lock_irqsave+0x22/0x8e\n[ 1357.238450] softirqs last  enabled at (275394): [\u003cffffffff8103d669\u003e] __do_softirq+0x246/0x26f\n[ 1357.238450] softirqs last disabled at (275399): [\u003cffffffff8103d6bb\u003e] run_ksoftirqd+0x29/0x62\n[ 1357.238450]\n[ 1357.238450] other info that might help us debug this:\n[ 1357.238450]  Possible unsafe locking scenario:\n[ 1357.238450]\n[ 1357.238450]        CPU0\n[ 1357.238450]        ----\n[ 1357.238450]   lock(\u0026(\u0026se_tpg-\u003esession_lock)-\u003erlock);\n[ 1357.238450]   \u003cInterrupt\u003e\n[ 1357.238450]     lock(\u0026(\u0026se_tpg-\u003esession_lock)-\u003erlock);\n[ 1357.238450]\n[ 1357.238450]  *** DEADLOCK ***\n[ 1357.238450]\n[ 1357.238450] no locks held by ksoftirqd/0/3.\n[ 1357.238450]\n[ 1357.238450] stack backtrace:\n[ 1357.238450] Pid: 3, comm: ksoftirqd/0 Tainted: G           O 3.7.0-rc7-yikvm+ #3\n[ 1357.238450] Call Trace:\n[ 1357.238450]  [\u003cffffffff8149399a\u003e] print_usage_bug+0x1f5/0x206\n[ 1357.238450]  [\u003cffffffff8100da59\u003e] ? save_stack_trace+0x2c/0x49\n[ 1357.238450]  [\u003cffffffff81082aae\u003e] ? print_irq_inversion_bug.part.14+0x1ae/0x1ae\n[ 1357.238450]  [\u003cffffffff81083336\u003e] mark_lock+0x106/0x258\n[ 1357.238450]  [\u003cffffffff81084e34\u003e] __lock_acquire+0x2e7/0xe53\n[ 1357.238450]  [\u003cffffffff8102903d\u003e] ? pvclock_clocksource_read+0x48/0xb4\n[ 1357.238450]  [\u003cffffffff810ba6a3\u003e] ? rcu_process_gp_end+0xc0/0xc9\n[ 1357.238450]  [\u003cffffffffa01eacd4\u003e] ? transport_deregister_session+0x41/0x148 [target_core_mod]\n[ 1357.238450]  [\u003cffffffff81085ef1\u003e] lock_acquire+0x119/0x143\n[ 1357.238450]  [\u003cffffffffa01eacd4\u003e] ? transport_deregister_session+0x41/0x148 [target_core_mod]\n[ 1357.238450]  [\u003cffffffff8149c329\u003e] _raw_spin_lock_irqsave+0x54/0x8e\n[ 1357.238450]  [\u003cffffffffa01eacd4\u003e] ? transport_deregister_session+0x41/0x148 [target_core_mod]\n[ 1357.238450]  [\u003cffffffffa01eacd4\u003e] transport_deregister_session+0x41/0x148 [target_core_mod]\n[ 1357.238450]  [\u003cffffffff810bb6a0\u003e] ? rcu_process_callbacks+0x229/0x42a\n[ 1357.238450]  [\u003cffffffffa018ddc5\u003e] ft_sess_rcu_free+0x17/0x24 [tcm_fc]\n[ 1357.238450]  [\u003cffffffffa018ddae\u003e] ? ft_sess_free+0x1b/0x1b [tcm_fc]\n[ 1357.238450]  [\u003cffffffff810bb6d7\u003e] rcu_process_callbacks+0x260/0x42a\n[ 1357.238450]  [\u003cffffffff8103d55d\u003e] __do_softirq+0x13a/0x26f\n[ 1357.238450]  [\u003cffffffff8149b34e\u003e] ? __schedule+0x65f/0x68e\n[ 1357.238450]  [\u003cffffffff8103d6bb\u003e] run_ksoftirqd+0x29/0x62\n[ 1357.238450]  [\u003cffffffff8105c83c\u003e] smpboot_thread_fn+0x1a5/0x1aa\n[ 1357.238450]  [\u003cffffffff8105c697\u003e] ? smpboot_unregister_percpu_thread+0x47/0x47\n[ 1357.238450]  [\u003cffffffff810549f1\u003e] kthread+0xb1/0xb9\n[ 1357.238450]  [\u003cffffffff8149b49d\u003e] ? wait_for_common+0xbb/0x10a\n[ 1357.238450]  [\u003cffffffff81054940\u003e] ? __init_kthread_worker+0x59/0x59\n[ 1357.238450]  [\u003cffffffff814a40ec\u003e] ret_from_fork+0x7c/0xb0\n[ 1357.238450]  [\u003cffffffff81054940\u003e] ? __init_kthread_worker+0x59/0x59\n[ 1417.440099]  rport-2:0-0: blocked FC remote port time out: removing rport\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nCc: Open-FCoE \u003cdevel@open-fcoe.org\u003e\nCc: Nicholas A. Bellinger \u003cnab@risingtidesystems.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e1fe2060d7e8f58a69374135e32e90f0bb79a7fd",
      "tree": "496e995322db60717dbf31ca84f9d8753f125479",
      "parents": [
        "37419d674ca99739dbee5ada28b50aacc29c94e1"
      ],
      "author": {
        "name": "Chris Boot",
        "email": "bootc@bootc.net",
        "time": "Tue Dec 11 21:58:48 2012 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 12 21:17:25 2012 -0800"
      },
      "message": "sbp-target: fix error path in sbp_make_tpg()\n\nIf the TPG memory is allocated successfully, but we fail further along\nin the function, a dangling pointer to freed memory is left in the TPort\nstructure. This is mostly harmless, but does prevent re-trying the\noperation without first removing the TPort altogether.\n\nReported-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nSigned-off-by: Chris Boot \u003cbootc@bootc.net\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "37419d674ca99739dbee5ada28b50aacc29c94e1",
      "tree": "727a2b2faf812f9d8d3c36398a88f213f3248ed4",
      "parents": [
        "ed72a4d52add345595f09b360d6ac5f20428d361"
      ],
      "author": {
        "name": "Chris Boot",
        "email": "bootc@bootc.net",
        "time": "Tue Dec 11 21:58:47 2012 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 12 21:16:47 2012 -0800"
      },
      "message": "sbp-target: use simple assignment in tgt_agent_rw_agent_state()\n\nThere is no need to memcpy() a 32-bit integer. The data pointer is\nguaranteed to be quadlet aligned by the FireWire stack so we can replace\nthe memcpy() with an assignment.\n\nThanks to Stefan Richter.\n\nSigned-off-by: Chris Boot \u003cbootc@bootc.net\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nCc: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ed72a4d52add345595f09b360d6ac5f20428d361",
      "tree": "6ad4f0a9313fc390b7ec6799560b2a0d10207e1a",
      "parents": [
        "778229af95977a4aca8656143d457401c2bb8f96"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Thu Nov 29 20:29:01 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Dec 07 17:55:44 2012 -0800"
      },
      "message": "iscsi-target: use kstrdup() for iscsi_param\n\nThe kmalloc() + strlen() + memcpy() block is what kstrdup() does as\nwell.  While here I also removed the \"to NULL assignment\" of pointers\nwhich are fed to kfree or thrown away anyway.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "778229af95977a4aca8656143d457401c2bb8f96",
      "tree": "7b739fabd330d5ac59150d43325a9b719d5630ec",
      "parents": [
        "40ff2c3b3da35dd3a00ac6722056a59b4b3f2caf"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Dec 05 13:09:45 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 05 13:09:45 2012 -0800"
      },
      "message": "target/file: merge fd_do_readv() and fd_do_writev()\n\nThose two functions are almost identical so merge them. Noticed this\nwhile fixing the highmem in both cases.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "40ff2c3b3da35dd3a00ac6722056a59b4b3f2caf",
      "tree": "ba5cb75ed6c6dd01b2191b35c470691e5347d35d",
      "parents": [
        "0ff8754981261a80f4b77db2536dfea92c2d4539"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Dec 05 12:08:29 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 05 13:01:44 2012 -0800"
      },
      "message": "target/file: Fix 32-bit highmem breakage for SGL -\u003e iovec mapping\n\nThis patch changes vectored file I/O to use kmap + kunmap when mapping\nincoming SGL memory -\u003e struct iovec in order to properly support 32-bit\nhighmem configurations.  This is because an extra bounce buffer may be\nrequired when processing scatterlist pages allocated with GFP_KERNEL.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "0ff8754981261a80f4b77db2536dfea92c2d4539",
      "tree": "47f1e6c46a77542fabc39ec3003183a5847045cf",
      "parents": [
        "3e4f574857eebce60bb56d7524f3f9eaa2a126d0"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 04 23:43:57 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 05 00:11:36 2012 -0800"
      },
      "message": "target: Add link_magic for fabric allow_link destination target_items\n\nThis patch adds [dev,lun]_link_magic value assignment + checks within generic\ntarget_fabric_port_link() and target_fabric_mappedlun_link() code to ensure\ndestination config_item *target_item sent from configfs_symlink() -\u003e\nconfig_item_operations-\u003eallow_link() is the underlying se_device-\u003edev_group\nand se_lun-\u003elun_group that we expect to symlink.\n\nReported-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ffe0067544f93c0e71c793d7f17240486d091a3c",
      "tree": "d5008fdf846ed6f6575e65abe4c7bf7a267da2f1",
      "parents": [
        "13f6a91479b06133eb99f1f43be02608eb867313"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 19:07:52 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:49:25 2012 -0800"
      },
      "message": "target: Make spc_get_write_same_sectors return sector_t\n\nWe already expect TFO-\u003eget_blocks() to return sector_t for zero value case\nwhen doing WRITE_SAME to the end of the backend device, so go ahead and return\nsector_t from spc_get_write_same_sectors() to handle this case properly.\n\nAlso, update the single iblock_execute_write_same() caller of this code.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "13f6a91479b06133eb99f1f43be02608eb867313",
      "tree": "721d72ee5d17995c8697e3dbdab5401ba9025069",
      "parents": [
        "a5675c8a8b72efdd09ccd1b0975c4670675775ef"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Nov 27 18:54:21 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:49:24 2012 -0800"
      },
      "message": "target/configfs: use kmalloc() instead of kzalloc() for default groups\n\nAll elements are assigned even the NULL member at the end so there is no\nreason to allocate zeroed memory.\n\n(nab: Fix up minor apply breakage in for-next)\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a5675c8a8b72efdd09ccd1b0975c4670675775ef",
      "tree": "ac086820e4140188a84468d8cd34133b6221c268",
      "parents": [
        "1c98d2f439f3f945c5040fd648d817e86314f2fa"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Nov 27 17:49:44 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:49:23 2012 -0800"
      },
      "message": "target/configfs: allocate only 6 slots for dev_cg-\u003edefault_groups\n\nOnly slots 0-5 are used so 6 slots should be enough. I don\u0027t see anyone\nwritting anything else than NULL into -\u003edefault_groups[5] so a \"late\"\ninitialisation should not happen here.\n\n(nab: Fix up minor apply breakage in for-next)\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1c98d2f439f3f945c5040fd648d817e86314f2fa",
      "tree": "269e544adbc4c422e010354351a5407425a9c948",
      "parents": [
        "6b64e1fe2ba80ac3ce12a21f1200bac594fa1a1c"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Nov 27 18:54:19 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:49:22 2012 -0800"
      },
      "message": "target/configfs: allocate pointers instead of full struct for default_groups\n\ndefault_groups is defined as struct config_group **default_groups so\nwe don\u0027t need to allocate a whole struct but only enough space for a\npointer that points there.\n\n(nab: Fix up minor apply breakage in for-next)\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6b64e1fe2ba80ac3ce12a21f1200bac594fa1a1c",
      "tree": "700d6a4076387f7e2059d70ea005f1a4209d34c7",
      "parents": [
        "3c989d7603872bf878840f7ce3ea49b73bea4c6c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Nov 27 17:27:01 2012 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:49:21 2012 -0800"
      },
      "message": "target: update error handling for sbc_setup_write_same()\n\nWe recently changed this to return positive subsystem error codes so the\nerror handling needs to be updated.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3c989d7603872bf878840f7ce3ea49b73bea4c6c",
      "tree": "fcebcfca5299ca7593a78df17b6f7fb3b15a4bb8",
      "parents": [
        "b07c28aab52edffb592429637fed846c48dca0a8"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Fri Nov 23 12:07:39 2012 +0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:49:21 2012 -0800"
      },
      "message": "iscsit: use GFP_ATOMIC under spin lock\n\nThe function iscsit_build_conn_drop_async_message() is called\nfrom iscsit_close_connection() with spin lock \u0027sess-\u003econn_lock\u0027\nheld, so we should use GFP_ATOMIC instead of GFP_KERNEL.\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b07c28aab52edffb592429637fed846c48dca0a8",
      "tree": "b20cae3629c03407afa416b94056947eeab7cf09",
      "parents": [
        "3a41d85febdd3ab060bd8a074862280c4aea29d5"
      ],
      "author": {
        "name": "Sachin Kamat",
        "email": "sachin.kamat@linaro.org",
        "time": "Wed Nov 21 16:14:40 2012 +0530"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:49:20 2012 -0800"
      },
      "message": "iscsi_target: Remove redundant null check before kfree\n\nkfree on null pointer is a no-op.\n\nSigned-off-by: Sachin Kamat \u003csachin.kamat@linaro.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3a41d85febdd3ab060bd8a074862280c4aea29d5",
      "tree": "77e786c3e6985699fb66ea66a782cdb38e7e9e2f",
      "parents": [
        "c18bc7d8d34103d4bae47db180b508413f98dc36"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Nov 17 14:27:55 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:49:19 2012 -0800"
      },
      "message": "target/iblock: Forward declare bio helpers\n\nGo ahead and forward declare the handful of helper functions required\nfor bio submission code in order to avoid the extra function prototypes.\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c18bc7d8d34103d4bae47db180b508413f98dc36",
      "tree": "f3c8e79c10e502908df0cbc4eb2f607ed5636a0d",
      "parents": [
        "d9ed69473a345d69cf15831e8db22f159b13cdd2"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 16 08:06:19 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:49:18 2012 -0800"
      },
      "message": "target: Clean up flow in transport_check_aborted_status()\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "d9ed69473a345d69cf15831e8db22f159b13cdd2",
      "tree": "57b5dce87052c09a256242b2b56d66d603eca6fe",
      "parents": [
        "06e97b489006f28e23bb028febfa1c01c266d676"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 16 08:06:18 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:49:18 2012 -0800"
      },
      "message": "target: Clean up logic in transport_put_cmd()\n\nNo need to have a goto where a return is clearer.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "fd9a11d7076e1d534a760032d2b8f3b59e10f9b5",
      "tree": "f70d8b7877bbbc6cbd069c4fc4501894cbeca665",
      "parents": [
        "f6970ad31d42fceb38b5595cbad093a4d0bfcc43"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 09 14:51:48 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 27 22:47:02 2012 -0800"
      },
      "message": "target: Update copyright information to 2012\n\nv2: Use correct target_core_stat.c 2006 copyright year\nv3: Drop extra unnessary legal verbage from header (hch)\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "20879696b7660b6c4115a913e39f890d5bbd1f81",
      "tree": "e1afc438b51642227118385c8e45b12cf2ca9fa7",
      "parents": [
        "02582e9bcc36ed503ffede46e104a885dea222fb"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Mon Aug 27 22:46:00 2012 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 19 14:17:31 2012 +0100"
      },
      "message": "target: iscsi: fix comment typos in target/iscsi drivers\n\nCorrect spelling typo in printk and comment within target/iscsi drivers\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "3ea160b3e8f0de8161861995d9901f61192fc0b0",
      "tree": "13d24cf41697af4ca18b85789b80b6488e2b1005",
      "parents": [
        "3d70f8c617a436c7146ecb81df2265b4626dfe89"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 16 08:06:16 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Nov 17 13:35:44 2012 -0800"
      },
      "message": "target: Fix handling of aborted commands\n\n- If we stop processing an already-aborted command in\n  target_execute_cmd(), then we need to complete t_transport_stop_comp\n  to wake up the the TMR handling thread, or else it will end up\n  waiting forever.\n\n- If we\u0027ve a already sent an \"aborted\" status for a command in\n  transport_check_aborted_status() then we should bail out of\n  transport_send_task_abort() to avoid freeing the command twice.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "f6970ad31d42fceb38b5595cbad093a4d0bfcc43",
      "tree": "12ac358feba2529dbd5b0ab488e0fe3b353c458b",
      "parents": [
        "773cbaf7460aa58c67d4dca83c3f8bca10323bbe"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 07 20:08:38 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Nov 15 12:48:45 2012 -0800"
      },
      "message": "target/iblock: Add WRITE_SAME w/ UNMAP\u003d0 emulation support\n\nThis patch adds support for emulation of WRITE_SAME w/ UNMAP\u003d0 within\niblock_execute_write_same() backend code.\n\nThe emulation uses a bio_add_page() call for each sector, and by default\nenforces a limit of max_write_same_len\u003d0xFFFF (65536) sectors following\nwhat scsi_debug reports per default for MAXIMUM WRITE SAME LENGTH.\n\nIt also sets max_write_same_len to the operational default at setup -\u003e\niblock_configure_device() time.\n\n(hch: Move unmap logic into iblock_execute_write_same_unmap + add\n      check for single sector SGLs in iblock_execute_write_same)\n(mkp: Update comment for 0xFFFF magic constant)\n(nab: drop left-over max_write_same_len check in iblock_execute_write_same)\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "773cbaf7460aa58c67d4dca83c3f8bca10323bbe",
      "tree": "91e6015ade8d62c34c64861f1f3810b3c15a6a25",
      "parents": [
        "cd063bef414c51d79b9c6ea7a8ef8f9d319529bc"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Nov 15 11:02:49 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Nov 15 12:27:21 2012 -0800"
      },
      "message": "target: Add/check max_write_same_len device attribute + update block limits VPD\n\nThis patch adds a new max_write_same_len device attribute for use with\nWRITE_SAME w/ UNMAP\u003d0 backend emulation.  This can be useful for\nlowering the default backend value (IBLOCK uses 0xFFFF).\n\nAlso, update block limits VPD emulation code in spc_emulate_evpd_b0() to\nreport MAXIMUM WRITE SAME LENGTH, and enforce max_write_same_len during\nsbc_parse() -\u003e sbc_setup_write_same() CDB sanity checking for all emulated\nWRITE_SAME w/ UNMAP\u003d0 cases.\n\n(Robert: Move max_write_same_len check in sbc_setup_write_same() to\n         check both WRITE_SAME w/ UNMAP\u003d1 and w/ UNMAP\u003d0 cases)\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nCc: Robert Elliott \u003cElliott@hp.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "cd063bef414c51d79b9c6ea7a8ef8f9d319529bc",
      "tree": "7c003f3c6e865cc0eaf4df43683a37802ce4cb5d",
      "parents": [
        "1920ed61fbbbb38919edfb2427b0b1fd4e4ad8d9"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 07 20:01:10 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Nov 15 12:04:52 2012 -0800"
      },
      "message": "target/sbc: Seperate WRITE_SAME based on UNMAP flag in sbc_ops\n\nThis patch adds a new sbc_ops-\u003eexecute_write_same_unmap() caller for use\nwith WRITE_SAME w/ UNMAP\u003d1, and performs the -\u003eexecute_cmd() setup based\nthis bit within sbc_setup_write_same() code.\n\nAlso, makes the changes in sbc_parse_cdb() to handle a sense_reason_t\nreturn from sbc_setup_write_same() on error.\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1920ed61fbbbb38919edfb2427b0b1fd4e4ad8d9",
      "tree": "a9eb198ed8f04e64679236802da719a6261d090d",
      "parents": [
        "314da1aa57c3f2be8a07f3d944a541b595e8cb7d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:59:41 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 07 20:12:10 2012 -0800"
      },
      "message": "target: Change sbc_emulate_noop to return sense_reason_t\n\nAs reported by Fengguang Wu + 0 day build team, the sense_reason_t conversion\nin for-next did not catch the recent sbc_emulate_noop() addition in mainline,\nproducing the following build warning in auto-next:\n\ndrivers/target/target_core_sbc.c: In function ‘sbc_parse_cdb’:\ndrivers/target/target_core_sbc.c:555: warning: assignment from incompatible pointer type\n\nGo ahead and remove duplicate sbc_emulate_verify(), and change VERIFY to\nuse sbc_emulate_noop() as well.\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "314da1aa57c3f2be8a07f3d944a541b595e8cb7d",
      "tree": "47c6760650324796f6321ee84a08cba5805fe267",
      "parents": [
        "1c5c12c666fda27c7c494b34934a0a0631a48130"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Mon Nov 05 15:04:34 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 07 20:12:09 2012 -0800"
      },
      "message": "sbp-target: remove depends on CONFIG_EXPERIMENTAL\n\nThe CONFIG_EXPERIMENTAL config item has not carried much meaning for a\nwhile now and is almost always enabled by default. As agreed during the\nLinux kernel summit, remove it from any \"depends on\" lines in Kconfigs.\n\nCC: Chris Boot \u003cbootc@bootc.net\u003e\nCC: \"Nicholas A. Bellinger\" \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1c5c12c666fda27c7c494b34934a0a0631a48130",
      "tree": "542756ed3af922407814faaa38d49d9f1d6c218e",
      "parents": [
        "64c13330a38935120501b19c97a3e6095747c7a1"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Nov 05 18:02:42 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 07 20:12:08 2012 -0800"
      },
      "message": "iscsi-target: Always send a response before terminating iSCSI connection\n\nThere are some cases, for example when the initiator sends an\nout-of-bounds ErrorRecoveryLevel value, where the iSCSI target\nterminates the connection without sending back any error.  Audit the\nlogin path and add appropriate iscsit_tx_login_rsp() calls to make\nsure this doesn\u0027t happen.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "64c13330a38935120501b19c97a3e6095747c7a1",
      "tree": "830b0a2bee8e3c8ba7318a978d07916e90fad34e",
      "parents": [
        "998866b0740f128fd2c107c167c8385406dadae0"
      ],
      "author": {
        "name": "Steve Hodgson",
        "email": "steve@purestorage.com",
        "time": "Mon Nov 05 18:02:41 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 07 20:12:07 2012 -0800"
      },
      "message": "iscsi-target: Fix bug in handling of ExpStatSN ACK during u32 wrap-around\n\nThis patch fixes a bug in the hanlding of initiator provided ExpStatSN and\nindividual iscsi_cmd-\u003estat_sn comparision during iscsi_conn-\u003estat_sn\nwrap-around within iscsit_ack_from_expstatsn() code.\n\nThis bug would manifest itself as iscsi_cmd descriptors not being Acked\nby a lower ExpStatSn, causing them to be leaked until an iSCSI connection\nor session reinstatement event occurs to release all commands.\n\nAlso fix up two other uses of incorrect CmdSN SNA comparison to use wrapper\nusage from include/scsi/iscsi_proto.h.\n\nSigned-off-by: Steve Hodgson \u003csteve@purestorage.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "998866b0740f128fd2c107c167c8385406dadae0",
      "tree": "d923a10a89785c75d3fb93949bd72b4332930efb",
      "parents": [
        "bb7a8c8eb9678666fb05f3bc542581365399a161"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Nov 05 18:02:40 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 07 20:12:07 2012 -0800"
      },
      "message": "iscsi-target: Fix potential deadlock on lock taken in timer\n\nWe need to disable BHs when taking sess_idr_lock because the\niscsit_handle_time2retain_timeout() timer function takes\nse_tpg-\u003esession_lock, and iscsit_close_session() nests sess_idr_lock\ninside se_tpg-\u003esession_lock.  So if the timer can run inside\nsess_idr_lock, we have a potential AB-BA deadlock.\n\nFix this by disabling BHs when taking sess_idr_lock.  This was found\nbecause of a lockdep warning, but it looks like a real (if highly\ntheoretical) deadlock.  In any case avoiding lockdep spew so that we can\nfind other issues is a worthy cause.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "bb7a8c8eb9678666fb05f3bc542581365399a161",
      "tree": "9b4b406da47b94b363f06039b4a42013ef10c108",
      "parents": [
        "b69c1fcf0a7cb2b7dff12ce4e8506b395431a52c"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 15:46:25 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 07 20:12:06 2012 -0800"
      },
      "message": "target: Fix exception path pr_reg put regression for PR RELEASE\n\nFix a regression bug in core_scsi3_emulate_pro_release() where\nshould still be getting released via core_scsi3_put_pr_reg() during\nNo persistent reservation, with returing GOOD status.\n\nUse goto statement here to follow converted code from hch.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b69c1fcf0a7cb2b7dff12ce4e8506b395431a52c",
      "tree": "9bd450b152ed11dee3d617a5345da78c543f23dc",
      "parents": [
        "a2e85d18146857ffddea4dfe3b245055af8e3db3"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 15:43:53 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 07 20:10:56 2012 -0800"
      },
      "message": "target: Fix possible TFO-\u003ewrite_pending() sense_reason_t silent WRITE corruption\n\nThis patch fixes a possible case in transport_generic_new_cmd() where a\nfailure from TFO-\u003ewrite_pending() from a fabric module return something\nother than -EAGAIN or -ENOMEM would cause a failed WRITE to silently\nsucceed.\n\nGo ahead and return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE for this\nspecial case instead of only just making noise with WARN_ON().\n\n(v2: Fix incorrect exception return for all cases)\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a2e85d18146857ffddea4dfe3b245055af8e3db3",
      "tree": "8a0eb525e504a55305fa39a8dd1cb88982c22a08",
      "parents": [
        "de103c93aff0bed0ae984274e5dc8b95899badab"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 12:36:12 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:46 2012 -0800"
      },
      "message": "target: Fix incorrect inversion of TPGS_EXPLICT_ALUA check\n\nFix a bug introduced with patch \"target: pass sense_reason as a return value\"\nin for-3.8 code where only target port groups with TPGS_EXPLICT_ALUA set\nneed to be allowed to perform explictly ALUA.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "de103c93aff0bed0ae984274e5dc8b95899badab",
      "tree": "7db9bba755fa95772052e8d31285a38ba48f1a84",
      "parents": [
        "fecae40abb1ae9218bdbaa8b8e30bfb5ae43f522"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 06 12:24:09 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:46 2012 -0800"
      },
      "message": "target: pass sense_reason as a return value\n\nPass the sense reason as an explicit return value from the I/O submission\npath instead of storing it in struct se_cmd and using negative return\nvalues.  This cleans up a lot of the code pathes, and with the sparse\nannotations for the new sense_reason_t type allows for much better\nerror checking.\n\n(nab: Convert spc_emulate_modesense + spc_emulate_modeselect to use\n      sense_reason_t with Roland\u0027s MODE SELECT changes)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "fecae40abb1ae9218bdbaa8b8e30bfb5ae43f522",
      "tree": "3f804933534a773ff86664a81352ecf5bd4df868",
      "parents": [
        "3a3c5e4a672c5cd61cbdcedcd027312577f9ab7c"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Nov 01 18:43:03 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:46 2012 -0800"
      },
      "message": "target: Fix incorrect starting offset after MODE_SENSE refactoring\n\nThis patch fixes a new off-by-one bug in the hardcoded starting offset of\nspc_emulate_modesense() code that causes BLOCK DESCRIPTOR to be incorrectly\nwritten within the MEDIUM TYPE buffer area of the mode parameter header.\n\nAccording to spc4r30, Section 7.5.4, BLOCK DESCRIPTOR for MODE_SENSE_10\nstarts at byte 3, and BLOCK_DESCRIPTOR for MODE_SENSE (6) starts at byte 2.\n\n(roland: add MODE DATA LENGTH + MEDIUM TYPE offset comment)\n\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Douglas Gilbert \u003cdgilbert@interlog.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3a3c5e4a672c5cd61cbdcedcd027312577f9ab7c",
      "tree": "9e05bfd495e4acc8e2241fe685cca166d1033acf",
      "parents": [
        "0f6d64cee9c518f5d3138a90cead62fba2031074"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Oct 31 09:16:50 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:46 2012 -0800"
      },
      "message": "target: Add emulation for MODE SELECT\n\nThis is another thing that compliance tests try, and it\u0027s easy to\nimplement on top of the MODE SENSE refactoring; since we don\u0027t claim\nto support any changeable values, all we need to do is check that\nthe page contents sent by the initiator match what we would return.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "0f6d64cee9c518f5d3138a90cead62fba2031074",
      "tree": "e4b0b43d31c9b1651b20549b504f917f36ae5aea",
      "parents": [
        "d4b2b867193c157f0ac8c10137e287a90ed4e5d5"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Oct 31 09:16:49 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:46 2012 -0800"
      },
      "message": "target: Implement mode page 0x1c, \"Informational Exceptions\"\n\nThe Windows SCSI compliance test asks for this mode page, and it\u0027s\neasy to implement: we can just return all 0s to show we don\u0027t support\nany of these features.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d4b2b867193c157f0ac8c10137e287a90ed4e5d5",
      "tree": "f1bd32ea59f0b69ac1d1c028912d42514196d013",
      "parents": [
        "1f981de55a46777ca0da93af5faf7d3f6e7e7000"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Oct 31 09:16:48 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:46 2012 -0800"
      },
      "message": "target: Refactor MODE SENSE emulation\n\nConvert spc_emulate_modesense() to use a table of mode pages, rather\nthan a switch statement.  This makes it possible to add more pages\nsanely -- in particular we no longer need to make sure we keep the\n0x3f (return all mode pages) case in sync.\n\nWhile we\u0027re touching this code, make our MODE SENSE emulation a bit\nbetter in a couple of ways:\n - When the initiator passes PC \u003d\u003d 1 asking for changeable values,\n   return all 0s to show we don\u0027t support setting anything.\n - Return a block descriptor for disk devices.\n\n(nab: fix up device attribute references to use dev-\u003edev_attrib\n      in for-next code)\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1f981de55a46777ca0da93af5faf7d3f6e7e7000",
      "tree": "e2e83a261f66d4887b8684134c9cfc1ca57e2a58",
      "parents": [
        "48c2567d1a10b5a2cab72b37775b886b08f88726"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Oct 31 09:16:47 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:45 2012 -0800"
      },
      "message": "iscsi-target: Use list_first_entry() where appropriate\n\nInstead of using the obfuscated pattern of\n\n\tlist_for_each_entry(var, list, ...)\n\t\tbreak;\n\nto set var to the first entry of a list, use the straightforward\n\n\tvar \u003d list_first_entry(list, ...);\n\nReported-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "48c2567d1a10b5a2cab72b37775b886b08f88726",
      "tree": "0d30560ee9db1e06cca6ed0111036a713850bae6",
      "parents": [
        "c87fbd5656f263f0fc1c37d20f402797c068232e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 10 17:37:17 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:45 2012 -0800"
      },
      "message": "target: remove -\u003eget_device_rev\n\nNow that the reservations and ALUA code have been cleaned up there is no need\nfor the get_device_rev method, as we only need the standards revision in the\ninquiry data, where we can hardcode it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c87fbd5656f263f0fc1c37d20f402797c068232e",
      "tree": "af83a409d4ba234cf0f67419e48d5588423d05ad",
      "parents": [
        "d977f4377fbc396b888e12fdb3b13118b09ca7db"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 10 17:37:16 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:45 2012 -0800"
      },
      "message": "target: simplify alua support\n\nWe always support ALUA for virtual backends, and never for physical ones.  Simplify\nthe code to just deal with these two cases and remove the superflous abstractions.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d977f4377fbc396b888e12fdb3b13118b09ca7db",
      "tree": "f3de282b1df951ec599908e24590dbcbac5b9047",
      "parents": [
        "019c4ca621488739b1bfb7597a14ac7f0cbcc908"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 10 17:37:15 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:45 2012 -0800"
      },
      "message": "target: simplify reservations code\n\nWe do not support host-level reservations for the pscsi backend, and all\nvirtual backends are newere than SCSI-2, so just make the combined\nSPC-3 + SCSI-2 support the only supported variant and kill the switches\nfor the different implementations, given that this code handles the no-op\nversion just fine.\n\n(hch: Update DRF_SPC2_RESERVATIONS lock usage)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "019c4ca621488739b1bfb7597a14ac7f0cbcc908",
      "tree": "2717b223b7a5d1fbd8765805879b87446ea98862",
      "parents": [
        "e6c4219b54ac9d0bd348ea59e606303f9aef1784"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 10 17:37:14 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:45 2012 -0800"
      },
      "message": "target: kill dev-\u003edev_task_attr_type\n\nWe can just key off ordered tag emulation of the transport_type field.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e6c4219b54ac9d0bd348ea59e606303f9aef1784",
      "tree": "c91190da38d6f4c8e68371ff3b2d49a7bfef64c1",
      "parents": [
        "ecf0dd6642ecf7c0aff89c1be48b870586f4be4f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 10 16:52:48 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:45 2012 -0800"
      },
      "message": "pscsi: fix REPORT LUNS handling\n\nWe need to assign spc_emulate_report_luns to the execute_cmd callback\nand not execute it directly.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ecf0dd6642ecf7c0aff89c1be48b870586f4be4f",
      "tree": "87c5a2fc5189e15c30f192f7ba041d247f689e0c",
      "parents": [
        "6f23ac8a39418d6c6711f4fd73cc4519067d7f08"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Oct 10 07:30:20 2012 +0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:45 2012 -0800"
      },
      "message": "target/pscsi: Make pscsi_configure_device + target_release_session static\n\ndrivers/target/target_core_pscsi.c:464:5: sparse: symbol \u0027pscsi_configure_device\u0027\nwas not declared. Should it be static?\n\nFYI, there are new sparse warnings show up in\n\ntree:   git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git queue\nhead:   738b86ac5e56c645aa5b7bf49cb38e2a04c665f8\ncommit: 410aeee637c47bcf7e8dd7893347fe0811e07ab1 [47/51] target: kill struct se_subsystem_dev\n\nvim +464 drivers/target/target_core_pscsi.c\n\n410aeee6 Christoph Hellwig  2012-10-08 @464  int pscsi_configure_device(struct se_device *dev)\nc66ac9db Nicholas Bellinger 2010-12-17  465  {\n410aeee6 Christoph Hellwig  2012-10-08  466  \tstruct se_hba *hba \u003d dev-\u003ese_hba;\n410aeee6 Christoph Hellwig  2012-10-08  467  \tstruct pscsi_dev_virt *pdv \u003d PSCSI_DEV(dev);\nc66ac9db Nicholas Bellinger 2010-12-17  468  \tstruct scsi_device *sd;\n410aeee6 Christoph Hellwig  2012-10-08  469  \tstruct pscsi_hba_virt *phv \u003d dev-\u003ese_hba-\u003ehba_ptr;\nc66ac9db Nicholas Bellinger 2010-12-17  470  \tstruct Scsi_Host *sh \u003d phv-\u003ephv_lld_host;\nc66ac9db Nicholas Bellinger 2010-12-17  471  \tint legacy_mode_enable \u003d 0;\n410aeee6 Christoph Hellwig  2012-10-08  472  \tint ret;\n\nPlease consider folding the attached diff :-)\n\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6f23ac8a39418d6c6711f4fd73cc4519067d7f08",
      "tree": "d6975dda37b047b6f9c3f5cf74cc4206a32a9e3a",
      "parents": [
        "8de530a523fd3cc46b5d8d96f3016298c5c808ac"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Oct 07 10:55:53 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:44 2012 -0800"
      },
      "message": "target: provide generic sbc device type/revision helpers\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8de530a523fd3cc46b5d8d96f3016298c5c808ac",
      "tree": "1a1fee222c4e5c834023d871363aea9ee49cc41b",
      "parents": [
        "d1b1f8053401aaf1dfe636afa6d361301e3ae8b7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Oct 07 10:55:52 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:44 2012 -0800"
      },
      "message": "target/pscsi: call spc_emulate_report_luns directly\n\nNo need to indirect through spc_parse_cdb if we only ever call it for\nREPORT LUNS emulation.\n\n(nab: Add missing EXPORT_SYMBOL for spc_emulate_report_luns)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d1b1f8053401aaf1dfe636afa6d361301e3ae8b7",
      "tree": "52a04af8a2383ce291105b4b5d01bb869802f33c",
      "parents": [
        "9e999a6c51fe74a41a76038c64ce038ff9243bfb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Oct 07 10:55:51 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:44 2012 -0800"
      },
      "message": "target: move REPORT LUNS emulation to target_core_spc.c\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "9e999a6c51fe74a41a76038c64ce038ff9243bfb",
      "tree": "eb0f9cde2fe80fb491a9376bd92983ad7f921f43",
      "parents": [
        "0fd97ccf45be26fb01b3a412f1f6c6b5044b2f16"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Oct 07 10:55:50 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:44 2012 -0800"
      },
      "message": "target: rename spc_ops\n\nThese really are sbc_ops, so name them correctly.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "0fd97ccf45be26fb01b3a412f1f6c6b5044b2f16",
      "tree": "c642e3da11e534a311a1e998ef740a3d44b9187b",
      "parents": [
        "3d70f8c617a436c7146ecb81df2265b4626dfe89"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 08 00:03:19 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 06 20:55:43 2012 -0800"
      },
      "message": "target: kill struct se_subsystem_dev\n\nSimplify the code a lot by killing the superflous struct se_subsystem_dev.\nInstead se_device is allocated early on by the backend driver, which allocates\nit as part of its own per-device structure, borrowing the scheme that is for\nexample used for inode allocation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ab74b3d62f05192bf8fb8f169e7999d1183b2e08",
      "tree": "854a0c02ec42a9f5b84ca9eafa989b8c809ac51b",
      "parents": [
        "d5627acba9ae584cf4928af19f7ddf5f6837de32"
      ],
      "author": {
        "name": "Steve Hodgson",
        "email": "steve@purestorage.com",
        "time": "Wed Oct 31 10:24:02 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Nov 01 00:38:45 2012 -0700"
      },
      "message": "target: Fix incorrect usage of nested IRQ spinlocks in ABORT_TASK path\n\nThis patch changes core_tmr_abort_task() to use spin_lock -\u003e spin_unlock\naround se_cmd-\u003et_state_lock while spin_lock_irqsave is held via\nse_sess-\u003esess_cmd_lock.\n\nSigned-off-by: Steve Hodgson \u003csteve@purestorage.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d5627acba9ae584cf4928af19f7ddf5f6837de32",
      "tree": "4247438e4a6ab7ef76c68a6d35093db95eca1451",
      "parents": [
        "3e03989b5868acf69a391a424dc71fcd6cc48167"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Oct 31 09:16:46 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Nov 01 00:38:44 2012 -0700"
      },
      "message": "iscsi-target: Fix missed wakeup race in TX thread\n\nThe sleeping code in iscsi_target_tx_thread() is susceptible to the classic\nmissed wakeup race:\n\n - TX thread finishes handle_immediate_queue() and handle_response_queue(),\n   thinks both queues are empty.\n - Another thread adds a queue entry and does wake_up_process(), which does\n   nothing because the TX thread is still awake.\n - TX thread does schedule_timeout() and sleeps forever.\n\nIn practice this can kill an iSCSI connection if for example an initiator\ndoes single-threaded writes and the target misses the wakeup window when\nqueueing an R2T; in this case the connection will be stuck until the\ninitiator loses patience and does some task management operation (or kills\nthe connection entirely).\n\nFix this by converting to wait_event_interruptible(), which does not\nsuffer from this sort of race.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3e03989b5868acf69a391a424dc71fcd6cc48167",
      "tree": "c187fcbe2d9861d10e9256725990f266da1f246d",
      "parents": [
        "0d0f9dfb31e0a6c92063e235417b42df185b3275"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Oct 31 09:16:45 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Nov 01 00:38:44 2012 -0700"
      },
      "message": "target: Avoid integer overflow in se_dev_align_max_sectors()\n\nThe expression (max_sectors * block_size) might overflow a u32\n(indeed, since iblock sets max_hw_sectors to UINT_MAX, it is\nguaranteed to overflow and end up with a much-too-small result in many\ncommon cases).  Fix this by doing an equivalent calculation that\ndoesn\u0027t require multiplication.\n\nWhile we\u0027re touching this code, avoid splitting a printk format across\ntwo lines and use pr_info(...) instead of printk(KERN_INFO ...).\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "0d0f9dfb31e0a6c92063e235417b42df185b3275",
      "tree": "834a22aa519cb6b9cd28de32b750700a92c923c1",
      "parents": [
        "dea5f0998aa82bdeca260b87c653db11e91329b2"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Oct 31 09:16:44 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Nov 01 00:38:31 2012 -0700"
      },
      "message": "target: Don\u0027t return success from module_init() if setup fails\n\nIf the call to core_dev_release_virtual_lun0() fails, then nothing\nsets ret to anything other than 0, so even though everything is\ntorn down and freed, target_core_init_configfs() will seem to succeed\nand the module will be loaded.  Fix this by passing the return value\non up the chain.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "dea5f0998aa82bdeca260b87c653db11e91329b2",
      "tree": "afa8927fa7a9e88f28f00630b40001e748dfa828",
      "parents": [
        "1a1ff38c4cebf23be8bf0009a76b082a13bd25cb"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Oct 31 22:04:26 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Oct 31 22:17:12 2012 -0700"
      },
      "message": "target: Re-add explict zeroing of INQUIRY bounce buffer memory\n\nThis patch fixes a regression in spc_emulate_inquiry() code where the\nlocal scope bounce buffer was no longer getting it\u0027s memory zeroed,\ncausing various problems with SCSI initiators that depend upon areas\nof INQUIRY EVPD\u003d0x83 payload having been zeroed.\n\nThis bug was introduced with the following v3.7-rc1 patch + CC\u0027ed\nstable commit:\n\ncommit ffe7b0e9326d9c68f5688bef691dd49f1e0d3651\nAuthor: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nDate:   Fri Sep 7 17:30:38 2012 +0200\n\n    target: support zero allocation length in INQUIRY\n\nGo ahead and re-add the missing memset of bounce buffer memory to be\ncopied into the outgoing se_cmd descriptor kmapped SGL payload.\n\nReported-by: Kelsey Prantis \u003ckelsey.prantis@intel.com\u003e\nCc: Kelsey Prantis \u003ckelsey.prantis@intel.com\u003e\nCc: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3bd7bf1f0fe14f591c089ae61bbfa9bd356f178a",
      "tree": "0058693cc9e70b7461dae551f8a19aff2efd13ca",
      "parents": [
        "f16f84937d769c893492160b1a8c3672e3992beb",
        "e657e078d3dfa9f96976db7a2b5fd7d7c9f1f1a6"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Oct 28 19:28:52 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Oct 28 19:29:19 2012 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nSync up with Linus\u0027 tree to be able to apply Cesar\u0027s patch\nagainst newer version of the code.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "1a1ff38c4cebf23be8bf0009a76b082a13bd25cb",
      "tree": "c8ad4d540b5a2ba2e5b6b3ae12694ab68c092505",
      "parents": [
        "e13d5fef88c40b87c8430f8274c3a9ca32ef90bc"
      ],
      "author": {
        "name": "Bernhard Kohl",
        "email": "bernhard.kohl@nsn.com",
        "time": "Wed Oct 24 15:53:58 2012 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Oct 26 16:49:40 2012 -0700"
      },
      "message": "target: reintroduce some obsolete SCSI-2 commands\n\nWith kernel 3.6 some obsolete SCSI-2 commands including SEEK_10 have\nhave been removed by commit 1fd032ee10d2816c947f5d5b9abda95e728f0a8f\n\"target: move code for CDB emulation\".\n\nThere are still clients out there which use these old SCSI-2 commands.\nThis mainly happens when running VMs with legacy guest systems,\nconnected via SCSI command pass-through to iSCSI targets. Make them\nhappy and return status GOOD.\n\nMany real SCSI disks or external iSCSI storage devices still support\nthese old commands. So let\u0027s make LIO backward compatible as well.\n\nThis patch adds support for the previously removed SEEK_10 and\nadditionally the SEEK_6 and REZERO_UNIT commands.\n\nSigned-off-by: Bernhard Kohl \u003cbernhard.kohl@nsn.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e13d5fef88c40b87c8430f8274c3a9ca32ef90bc",
      "tree": "5abcf8458b8fd80e25cbfa54776550b7d49d3f01",
      "parents": [
        "c8292d1da53fa60c7516ab03a9d83f7ea266d335"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Oct 26 15:35:45 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Oct 26 16:21:20 2012 -0700"
      },
      "message": "target: Fix double-free of se_cmd in target_complete_tmr_failure\n\nFabric drivers currently expect to internally release se_cmd in the event\nof a TMR failure during target_submit_tmr(), which means the immediate call\nto transport_generic_free_cmd() after TFO-\u003equeue_tm_rsp() from within\ntarget_complete_tmr_failure() workqueue context is wrong.\n\nThis is done as some fabrics expect TMR operations to be acknowledged\nbefore releasing the descriptor, so the assumption that core is releasing\nse_cmd associated TMR memory is incorrect.  This fixes a OOPs where\ntransport_generic_free_cmd() was being called more than once.\n\nThis bug was originally observed with tcm_qla2xxx fabric ports.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "db8310183ae493d5229e9a4018bc5df59cc31d98",
      "tree": "7b14d4e70105ba9f41ce3d4e9bd514f69492ee31",
      "parents": [
        "5d0c3d4f3d48681c2ba51e9f9ed6ae5dc4a34a47"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Oct 16 11:52:32 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Oct 16 12:57:30 2012 +0200"
      },
      "message": "iscsi: fix check keys\n\nWe report a bogus printk due to a missing break\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "ce40be7a820bb393ac4ac69865f018d2f4038cf0",
      "tree": "b1fe5a93346eb06f22b1c303d63ec5456d7212ab",
      "parents": [
        "ba0a5a36f60e4c1152af3a2ae2813251974405bf",
        "02f3939e1a9357b7c370a4a69717cf9c02452737"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 11 09:04:23 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 11 09:04:23 2012 +0900"
      },
      "message": "Merge branch \u0027for-3.7/core\u0027 of git://git.kernel.dk/linux-block\n\nPull block IO update from Jens Axboe:\n \"Core block IO bits for 3.7.  Not a huge round this time, it contains:\n\n   - First series from Kent cleaning up and generalizing bio allocation\n     and freeing.\n\n   - WRITE_SAME support from Martin.\n\n   - Mikulas patches to prevent O_DIRECT crashes when someone changes\n     the block size of a device.\n\n   - Make bio_split() work on data-less bio\u0027s (like trim/discards).\n\n   - A few other minor fixups.\"\n\nFixed up silent semantic mis-merge as per Mikulas Patocka and Andrew\nMorton.  It is due to the VM no longer using a prio-tree (see commit\n6b2dbba8b6ac: \"mm: replace vma prio_tree with an interval tree\").\n\nSo make set_blocksize() use mapping_mapped() instead of open-coding the\ninternal VM knowledge that has changed.\n\n* \u0027for-3.7/core\u0027 of git://git.kernel.dk/linux-block: (26 commits)\n  block: makes bio_split support bio without data\n  scatterlist: refactor the sg_nents\n  scatterlist: add sg_nents\n  fs: fix include/percpu-rwsem.h export error\n  percpu-rw-semaphore: fix documentation typos\n  fs/block_dev.c:1644:5: sparse: symbol \u0027blkdev_mmap\u0027 was not declared\n  blockdev: turn a rw semaphore into a percpu rw semaphore\n  Fix a crash when block device is read and block size is changed at the same time\n  block: fix request_queue-\u003eflags initialization\n  block: lift the initial queue bypass mode on blk_register_queue() instead of blk_init_allocated_queue()\n  block: ioctl to zero block ranges\n  block: Make blkdev_issue_zeroout use WRITE SAME\n  block: Implement support for WRITE SAME\n  block: Consolidate command flag and queue limit checks for merges\n  block: Clean up special command handling logic\n  block/blk-tag.c: Remove useless kfree\n  block: remove the duplicated setting for congestion_threshold\n  block: reject invalid queue attribute values\n  block: Add bio_clone_bioset(), bio_clone_kmalloc()\n  block: Consolidate bio_alloc_bioset(), bio_kmalloc()\n  ...\n"
    },
    {
      "commit": "a188e7e93a36627fb3f0013f41857ab54f076d04",
      "tree": "7686a0e870decdab3971db709fb0edf04241c07e",
      "parents": [
        "e1b28147f684af67bfac989756c27c19859d3d4e",
        "cf0eb28d3ba60098865bf7dbcbfdd6b1cc483e3b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 10 19:52:19 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 10 19:52:19 2012 +0900"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull scsi target updates from Nicholas Bellinger:\n \"Things have been calm for the most part with no new fabric drivers in\n  flight for v3.7 (we\u0027re up to eight now !), so this update is primarily\n  focused on addressing a few long-standing items within target-core and\n  iscsi-target fabric code.\n\n  The highlights include:\n\n   - target: Simplify fabric sense data length handling (roland)\n   - qla2xxx: Fix endianness of task management response code (roland)\n   - target: fix truncation of mode data, support zero allocation length\n     (paolo)\n   - target: Properly support zero-length commands in normal processing\n     path (paolo)\n   - iscsi-target: Correctly set 0xffffffff field within ISCSI_OP_REJECT\n     PDU (ronnie + nab)\n   - iscsi-target: Add explicit set of cache_dynamic_acls\u003d1 for TPG\n     demo-mode (ronnie + nab)\n   - target/file: Re-enable optional fd_buffered_io\u003d1 operation (nab +\n     hch)\n   - iscsi-target: Add MaxXmitDataSegmenthLength forr target -\u003e\n     initiator MDRSL declaration (nab)\n   - target: Add target_submit_cmd_map_sgls for SGL fabric memory\n     passthrough (nab + hch)\n   - tcm_loop: Convert I/O path to use target_submit_cmd_map_sgls (hch +\n     nab)\n   - tcm_vhost: Convert I/O path to use target_submit_cmd_map_sgls (nab\n     + hch)\n\n  The last series for adding a new target_submit_cmd_map_sgls() fabric\n  caller (as requested by hch) that accepts pre-allocated SGL memory\n  (using existing logic), along with converting tcm_loop + tcm_vhost has\n  only been in -next for the last days, but has gotten enough review\n  +testing and is clear enough a mechanical change that I think it\u0027s\n  reasonable to merge for -rc1 code.\n\n  Thanks again to everyone who contributed this round! Extra special\n  thanks to Roland (PureStorage) for tracking down the qla2xxx target\n  TMR response code endian issue, and to Paolo (Redhat) for resolving\n  the long standing zero-length CDB issues within target-core between\n  virtual and pSCSI backends.\"\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (44 commits)\n  iscsi-target: Bump defaults for nopin_timeout + nopin_response_timeout values\n  iscsit: proper endianess conversions\n  iscsit: use the itt_t abstract type\n  iscsit: add missing endianess conversion in iscsit_check_inaddr_any\n  iscsit: remove incorrect unlock in iscsit_build_sendtargets_resp\n  iscsit: mark various functions static\n  target/iscsi: precedence bug in iscsit_set_dataout_sequence_values()\n  target/usb-gadget: strlen() doesn\u0027t count the terminator\n  target/usb-gadget: remove duplicate initialization\n  tcm_vhost: Convert I/O path to use target_submit_cmd_map_sgls\n  target: Add control CDB READ payload zero work-around\n  tcm_loop: Convert I/O path to use target_submit_cmd_map_sgls\n  target: Add target_submit_cmd_map_sgls for SGL fabric memory passthrough\n  iscsi-target: Add explicit set of cache_dynamic_acls\u003d1 for TPG demo-mode\n  iscsi-target: Change iscsi_target_seq_pdu_list.c to honor MaxXmitDataSegmentLength\n  iscsi-target: Add MaxXmitDataSegmentLength connection recovery check\n  iscsi-target: Convert incoming PDU payload checks to MaxXmitDataSegmentLength\n  iscsi-target: Enable MaxXmitDataSegmentLength operation in login path\n  iscsi-target: Add base MaxXmitDataSegmentLength code\n  target/file: Re-enable optional fd_buffered_io\u003d1 operation\n  ...\n"
    },
    {
      "commit": "cf0eb28d3ba60098865bf7dbcbfdd6b1cc483e3b",
      "tree": "4243c401d0fea20b99902da9b3c5322ad3efddb0",
      "parents": [
        "50e5c87de4c244662e47b28e499ace885d62248f"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Oct 03 15:42:48 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Oct 03 16:38:38 2012 -0700"
      },
      "message": "iscsi-target: Bump defaults for nopin_timeout + nopin_response_timeout values\n\nThis patch increases the default for nopin_timeout to 15 seconds (wait\nbetween sending a new NopIN ping) and nopin_response_timeout to 30 seconds\n(wait for NopOUT response before failing the connection) in order to avoid\nfalse positives by iSCSI Initiators who are not always able (under load) to\nrespond to NopIN echo PING requests within the current 5 second window.\n\nFalse positives have been observed recently using Open-iSCSI code on v3.3.x\nwith heavy large-block READ workloads over small MTU 1 Gb/sec ports, and\nincreasing these values to more reasonable defaults significantly reduces\nthe possibility of false positive NopIN response timeout events under\nthis specific workload.\n\nHistorically these have been set low to initiate connection recovery as\nsoon as possible if we don\u0027t hear a ping back, but for modern v3.x code\non 1 -\u003e 10 Gb/sec ports these new defaults make alot more sense.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "50e5c87de4c244662e47b28e499ace885d62248f",
      "tree": "0cd84e70a1549a8d757e6fe48a8254b6e43ab783",
      "parents": [
        "66c7db687631247b7a3493322b9aedeef3c6c7b5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 26 08:00:40 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Oct 03 14:39:22 2012 -0700"
      },
      "message": "iscsit: proper endianess conversions\n\nMake sure all on the wire types are use as big endian and big endian only so\nthat sparse can verify all the conversions are done right.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "66c7db687631247b7a3493322b9aedeef3c6c7b5",
      "tree": "97584e963d8572fe7b0a8c0bd94bad29880bb6c4",
      "parents": [
        "cea0b4ceec5d09330fd80c0185532a502db9c2b7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 26 08:00:39 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Oct 03 14:21:50 2012 -0700"
      },
      "message": "iscsit: use the itt_t abstract type\n\nUse the special itt_t type defined by the iscsi headers and the initiator\nto make sure it\u0027s an opaque value.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "cea0b4ceec5d09330fd80c0185532a502db9c2b7",
      "tree": "722136e5bb6c4cc47a603f76fe1a53ade48e66ee",
      "parents": [
        "904753da183566c71211d23c169a80184648c121"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 26 08:00:38 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 14:42:25 2012 -0700"
      },
      "message": "iscsit: add missing endianess conversion in iscsit_check_inaddr_any\n\nSparse noticed that INADDR_ANY needs to be converted to big endian before\nit can be stored in struct sockaddr_in.s_addr.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "904753da183566c71211d23c169a80184648c121",
      "tree": "167df458259c2e2ce80b877a0a75d65ca341c95a",
      "parents": [
        "fceb5bc7be7d9a98459fb1e44e1b1bedef094b2c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 26 08:00:37 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 14:42:25 2012 -0700"
      },
      "message": "iscsit: remove incorrect unlock in iscsit_build_sendtargets_resp\n\nFix a potential multiple spin-unlock -\u003e deadlock scenario during the\noverflow check within iscsit_build_sendtargets_resp() as found by\nsparse static checking.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "fceb5bc7be7d9a98459fb1e44e1b1bedef094b2c",
      "tree": "ed0fcf60b2659471692469d1da0f073619aab05c",
      "parents": [
        "d7ca663c775bd1aafb718bdd6c208b49a9d53f50"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 26 08:00:36 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 14:41:59 2012 -0700"
      },
      "message": "iscsit: mark various functions static\n\nThis patch marks a number of functions static to appease sparse static\nchecking.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d7ca663c775bd1aafb718bdd6c208b49a9d53f50",
      "tree": "8b69b1461dd24eb6c9f5e515c887cd02a888171a",
      "parents": [
        "232ebe34e1a7827c9ddd4f31e95e21ba498ae52c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Oct 02 11:22:48 2012 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 14:16:22 2012 -0700"
      },
      "message": "target/iscsi: precedence bug in iscsit_set_dataout_sequence_values()\n\nClang warns about this bug:\ndrivers/target/iscsi/iscsi_target_erl0.c:52:45: warning: operator \u0027?:\u0027\n\thas lower precedence than \u0027+\u0027; \u0027+\u0027 will be evaluated first\n\t[-Wparentheses]\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "944981c7e106af2aa004847e9177497856630980",
      "tree": "cc3f3e84f26a13c18adb7b84055147ed9ea45b88",
      "parents": [
        "8f9f44f8957b262de717a48269a5ceca36c2b504"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 14:00:33 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 14:16:19 2012 -0700"
      },
      "message": "target: Add control CDB READ payload zero work-around\n\nThis patch carries forward a work-around from tcm_loop to target\ncore code to explicitly clear control CDB READ paylods in order to\navoid bugs in scsi-generic user-space code for INQUIRY that do not\nexplicitly zero CDB payload memory.\n\n(v2: Drop TARGET_SCF_MAP_CLEAR_MEM, and perform the explicit zero\n     of READ memory for all target_submit_cmd_map_sgls users)\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8f9f44f8957b262de717a48269a5ceca36c2b504",
      "tree": "54281bd040994ec92f25dc140aa29a4647dee5ae",
      "parents": [
        "a026757ff56365b4aa3875c14f1bd5733e0e8bb2"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 01 23:29:49 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 14:16:11 2012 -0700"
      },
      "message": "tcm_loop: Convert I/O path to use target_submit_cmd_map_sgls\n\nThis patch converts tcm_loop to use target_submit_cmd_map_sgls() for\nI/O submission and mapping of pre-allocated SGL memory from incoming\nscsi_cmnd -\u003e se_cmd descriptors.\n\nThis includes removing the original open-coded fabric uses of target\ncore callers to support transport_generic_map_mem_to_cmd() between\ntarget_setup_cmd_from_cdb() and transport_handle_cdb_direct() logic.\n\n(v2: Use renamed target_submit_cmd_map_sgls)\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a026757ff56365b4aa3875c14f1bd5733e0e8bb2",
      "tree": "c9cd1990da5bc8cc11808a78067e96923091e006",
      "parents": [
        "38b11bae6ba02da352340aff12ee25755977b222"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 01 17:23:22 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 14:16:08 2012 -0700"
      },
      "message": "target: Add target_submit_cmd_map_sgls for SGL fabric memory passthrough\n\nThis patch adds a new target_submit_cmd_map_sgls() to pass pre-allocated\nSGL memory using transport_generic_map_mem_to_cmd() logic into the generic\ntarget submit I/O codepath.\n\nIt also adds a target_submit_cmd() wrapper around target_submit_cmd_map_sgls()\nfor existing fabric code that already assumes internal target-core SGL memory\nallocation.\n\n(v2: Rename to target_submit_cmd_map_sgls + drop TARGET_SCF_MAP_MEM flag\n     in favor of non zero sgl_count check)\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "38b11bae6ba02da352340aff12ee25755977b222",
      "tree": "af9042a540a61d7bffb5948e31a548e3fdc6822a",
      "parents": [
        "b094a4bd840e6f268f70a79a099debaf235e44e5"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Sep 30 12:20:02 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 13:17:34 2012 -0700"
      },
      "message": "iscsi-target: Add explicit set of cache_dynamic_acls\u003d1 for TPG demo-mode\n\nWe\u0027ve had reports in the past about this specific case, so it\u0027s time to\ngo ahead and explicitly set cache_dynamic_acls\u003d1 for generate_node_acls\u003d1\n(TPG demo-mode) operation.\n\nDuring normal generate_node_acls\u003d0 operation with explicit NodeACLs -\u003e\nse_node_acl memory is persistent to the configfs group located at\n/sys/kernel/config/target/$TARGETNAME/$TPGT/acls/$INITIATORNAME, so in\nthe generate_node_acls\u003d1 case we want the reservation logic to reference\nexisting per initiator IQN se_node_acl memory (not to generate a new\nse_node_acl), so go ahead and always set cache_dynamic_acls\u003d1 when\nTPG demo-mode is enabled.\n\nReported-by: Ronnie Sahlberg \u003cronniesahlberg@gmail.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b094a4bd840e6f268f70a79a099debaf235e44e5",
      "tree": "df538c10b5267d349301b59542e8f9ac13ed3342",
      "parents": [
        "1c417f39c1f896206f0d5bfec65cd61a8f5e69b8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Sep 29 22:34:10 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 13:17:33 2012 -0700"
      },
      "message": "iscsi-target: Change iscsi_target_seq_pdu_list.c to honor MaxXmitDataSegmentLength\n\nThis patch converts iscsi_target_seq_pdu_list.c code for DataSequenceInOrder\u003dNo +\nDataPDUInOrder\u003dNo operation to honor the MaxXmitDataSegmentLength value\nfor iscsi_cmd-\u003ese_cmd.data_direction \u003d\u003d DMA_TO_DEVICE cases.\n\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1c417f39c1f896206f0d5bfec65cd61a8f5e69b8",
      "tree": "94860180b473678b9621545406ae3c9c36575a3e",
      "parents": [
        "21f5aa7eb8572b5cfe36884c23d306c72fe3987c"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Sep 29 22:14:51 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 13:17:32 2012 -0700"
      },
      "message": "iscsi-target: Add MaxXmitDataSegmentLength connection recovery check\n\nThe iSCSI TMR TASK_REASSIGN completion logic in iscsi_tmr_task_reassign()\ndoes an explict check for MRDSL across task reassignment, so go ahead and\nadd an explict MaxXmitDataSegmentLength check here as well to be safe.\n\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "21f5aa7eb8572b5cfe36884c23d306c72fe3987c",
      "tree": "086e4ca875ef4b24662f36a7ed5dcac071d1dc77",
      "parents": [
        "9977bb18c92e694819266fc0e7c5a3cd0cd7b626"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Sep 29 21:51:26 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 13:17:32 2012 -0700"
      },
      "message": "iscsi-target: Convert incoming PDU payload checks to MaxXmitDataSegmentLength\n\nNow that iscsi-target supports a local configurable MaxXmitDataSegmentLength,\ngo ahead and make ISCSI_OP_SCSI_CMD, ISCSI_OP_SCSI_DATA_OUT, ISCSI_OP_NOOP_OUT\nand ISCSI_OP_TEXT PDU payload checks honor conn_ops-\u003eMaxXmitDataSegmentLength.\n\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "9977bb18c92e694819266fc0e7c5a3cd0cd7b626",
      "tree": "fbcda9f670923c683971da2613645e1693d0210d",
      "parents": [
        "e004cb25927ad7a67c109ac13e1d2e5e378430dd"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Sep 29 21:49:59 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 13:17:31 2012 -0700"
      },
      "message": "iscsi-target: Enable MaxXmitDataSegmentLength operation in login path\n\nThis patch activates MaxXmitDataSegmentLength usage that performs the\nfollowing sequence of events:\n\n- Once the incoming initiator\u0027s MAXRECVDATASEGMENTLENGTH key is detected\n  within iscsi_check_acceptor_state(), save the requested MRDSL into\n  conn-\u003econn_ops-\u003eMaxRecvDataSegmentLength\n\n- Next change the outgoing target\u0027s MaxRecvDataSegmenthLength key\u003dvalue\n  based upon the local TPG\u0027s MaxXmitDataSegmentLength attribute value.\n\n- Change iscsi_set_connection_parameters() to skip the assignment of\n  conn-\u003econn_ops-\u003eMaxRecvDataSegmentLength, now setup within\n  iscsi_check_acceptor_state()\n\nAlso update iscsi_decode_text_input() -\u003e iscsi_check_acceptor_state()\ncode-path to accept struct iscsi_conn *.\n\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e004cb25927ad7a67c109ac13e1d2e5e378430dd",
      "tree": "230c12934d68535a6725ab70617a5c7296cda258",
      "parents": [
        "b32f4c7ed85c5cee2a21a55c9f59ebc9d57a2463"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Sep 29 21:47:16 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 13:17:30 2012 -0700"
      },
      "message": "iscsi-target: Add base MaxXmitDataSegmentLength code\n\nThis patch introduces a new per connection MaxXmitDataSegmentLength\nparameter value used to represent the outgoing MaxRecvDataSegmentLength\nthat is actually sent over the wire during iSCSI login response back\nto the initiator side.\n\nIt also adds a new MaxXmitDataSegmentLength configfs attribute to\nrepresent this value within the existing TPG parameter group under\n/sys/kernel/config/target/iscsi/$TARGETNAME/$TPGT/param/\n\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b32f4c7ed85c5cee2a21a55c9f59ebc9d57a2463",
      "tree": "547896c5f54e03ba8635ae22b35f4d534b2272fe",
      "parents": [
        "f25590f39d543272f7ae7b00d533359c8d7ff331"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Sep 29 17:15:37 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 13:15:21 2012 -0700"
      },
      "message": "target/file: Re-enable optional fd_buffered_io\u003d1 operation\n\nThis patch re-adds the ability to optionally run in buffered FILEIO mode\n(eg: w/o O_DSYNC) for device backends in order to once again use the\nLinux buffered cache as a write-back storage mechanism.\n\nThis logic was originally dropped with mainline v3.5-rc commit:\n\ncommit a4dff3043c231d57f982af635c9d2192ee40e5ae\nAuthor: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nDate:   Wed May 30 16:25:41 2012 -0700\n\n    target/file: Use O_DSYNC by default for FILEIO backends\n\nThis difference with this patch is that fd_create_virtdevice() now\nforces the explicit setting of emulate_write_cache\u003d1 when buffered FILEIO\noperation has been enabled.\n\n(v2: Switch to FDBD_HAS_BUFFERED_IO_WCE + add more detailed\n     comment as requested by hch)\n\nReported-by: Ferry \u003ciscsitmp@bananateam.nl\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "99dbb1632f1165c2726056ebfce6edde0e5a0208",
      "tree": "2b2fc83db20b4c6d13842496899774b0dc2868e2",
      "parents": [
        "aae6f989c6e97ff8197717fa4d032ad4eba091a7",
        "9c33c512b2d3167a3580659942ee78437b1b1bc6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 09:06:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 09:06:36 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull the trivial tree from Jiri Kosina:\n \"Tiny usual fixes all over the place\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)\n  doc: fix old config name of kprobetrace\n  fs/fs-writeback.c: cleanup riteback_sb_inodes kerneldoc\n  btrfs: fix the commment for the action flags in delayed-ref.h\n  btrfs: fix trivial typo for the comment of BTRFS_FREE_INO_OBJECTID\n  vfs: fix kerneldoc for generic_fh_to_parent()\n  treewide: fix comment/printk/variable typos\n  ipr: fix small coding style issues\n  doc: fix broken utf8 encoding\n  nfs: comment fix\n  platform/x86: fix asus_laptop.wled_type module parameter\n  mfd: printk/comment fixes\n  doc: getdelays.c: remember to close() socket on error in create_nl_socket()\n  doc: aliasing-test: close fd on write error\n  mmc: fix comment typos\n  dma: fix comments\n  spi: fix comment/printk typos in spi\n  Coccinelle: fix typo in memdup_user.cocci\n  tmiofb: missing NULL pointer checks\n  tools: perf: Fix typo in tools/perf\n  tools/testing: fix comment / output typos\n  ...\n"
    },
    {
      "commit": "f25590f39d543272f7ae7b00d533359c8d7ff331",
      "tree": "d1484b34d459bd9de1724cf90dd1bbfa38831483",
      "parents": [
        "b659f4b4ff52b14dcef4848e3f434b3582842960"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Sep 22 17:21:06 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Sep 22 17:27:35 2012 -0700"
      },
      "message": "iscsi-target: Correctly set 0xffffffff field within ISCSI_OP_REJECT PDU\n\nThis patch adds a missing iscsi_reject-\u003effffffff assignment within\niscsit_send_reject() code to properly follow RFC-3720 Section 10.17\nBytes 16 -\u003e 19 for the PDU format definition of ISCSI_OP_REJECT.\n\nWe\u0027ve not seen any initiators care about this bytes in practice, but\nas Ronnie reported this was causing trouble with wireshark packet\ndecoding lets go ahead and fix this up now.\n\nReported-by: Ronnie Sahlberg \u003cronniesahlberg@gmail.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b659f4b4ff52b14dcef4848e3f434b3582842960",
      "tree": "2cec6d6a4da99e2dbd572432ee4c0386544fb504",
      "parents": [
        "e4b11b89f9039ca97b2ed1b6efeb6749fbdeb252"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Fri Sep 21 13:57:31 2012 +0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Sep 22 16:29:52 2012 -0700"
      },
      "message": "sbp-target: fix return value check in sbp_register_configfs()\n\nIn case of error, the function target_fabric_configfs_init() returns\nERR_PTR() not NULL pointer. The NULL test in the return value check\nshould be replaced with IS_ERR().\n\ndpatch engine is used to auto generated this patch.\n(https://github.com/weiyj/dpatch)\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "37bb7899ca366dc212b71b150e78566d04808cc0",
      "tree": "4b8385c4636e009141bf508fffccdec03d4d43bf",
      "parents": [
        "609234e3b6d69315b5cd511b66435d733204e779"
      ],
      "author": {
        "name": "Peter Senna Tschudin",
        "email": "peter.senna@gmail.com",
        "time": "Mon Sep 17 20:05:33 2012 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 18:09:56 2012 -0700"
      },
      "message": "target: fix return code in target_core_init_configfs error path\n\nThis patch fixes error cases within target_core_init_configfs() to\nproperly set ret \u003d -ENOMEM before jumping to the out_global exception\npath.\n\nThis was originally discovered with the following Coccinelle semantic\nmatch information:\n\nConvert a nonnegative error return code to a negative one, as returned\nelsewhere in the function.  A simplified version of the semantic match\nthat finds this problem is as follows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n(\nif@p1 (\\(ret \u003c 0\\|ret !\u003d 0\\))\n { ... return ret; }\n|\nret@p1 \u003d 0\n)\n... when !\u003d ret \u003d e1\n    when !\u003d \u0026ret\n*if(...)\n{\n  ... when !\u003d ret \u003d e2\n      when forall\n return ret;\n}\n// \u003c/smpl\u003e\n\nSigned-off-by: Peter Senna Tschudin \u003cpeter.senna@gmail.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "609234e3b6d69315b5cd511b66435d733204e779",
      "tree": "71392235a49bd895f77ddef9ff268780309cd173",
      "parents": [
        "7875f179085608c659b676be74d33a2e515d8f43"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Fri Sep 07 14:56:28 2012 +0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 18:04:14 2012 -0700"
      },
      "message": "target: move the dereference below the NULL test\n\nThe dereference should be moved below the NULL test.\n\nspatch with a semantic match is used to found this.\n(http://coccinelle.lip6.fr/)\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7875f179085608c659b676be74d33a2e515d8f43",
      "tree": "163cadd0a5f103a0adcc6d1dcdc13658a0c8480e",
      "parents": [
        "d81cb44726f050d7cf1be4afd9cb45d153b52066"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Fri Sep 07 14:55:32 2012 +0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 18:04:09 2012 -0700"
      },
      "message": "tcm_fc: move the dereference below the NULL test\n\nThe dereference should be moved below the NULL test.\n\nspatch with a semantic match is used to found this.\n(http://coccinelle.lip6.fr/)\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d81cb44726f050d7cf1be4afd9cb45d153b52066",
      "tree": "8c977e5217f7c40a5a6c9938a4acb73737c129a5",
      "parents": [
        "e0de44573637ba43e43ae1af042e109bbf2b6dd0"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Mon Sep 17 16:36:11 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 17:13:39 2012 -0700"
      },
      "message": "target: go through normal processing for all zero-length commands\n\nYay, all users of transport_kmap_data_sg now check for a zero-length\nrequest and/or a too-small parameter list length.  We can thus go through\nthe normal emulation path even for such commands.\n\nThis means that out-of-bounds reads and writes are now reported correctly\neven if they transfer 0 blocks.  Other errors are also reported correctly.\n\nTestcase: sg_raw /dev/sdb 28 00 80 00 00 00 00 00 00 00\n    should fail with ILLEGAL REQUEST / LBA OUT OF RANGE sense\n    does not fail without the patch\n    (still wrong with the patch, but better: the ASC is INVALID FIELD IN CDB)\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e0de44573637ba43e43ae1af042e109bbf2b6dd0",
      "tree": "177deae38b8bf505a749247b04a90b6b0b0c8eca",
      "parents": [
        "a50da144d048f9dbebed2b1441ed779d6bbbcd03"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Fri Sep 07 17:30:41 2012 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 17:13:38 2012 -0700"
      },
      "message": "target: do not submit a zero-bio I/O request\n\nscsi_setup_fs_cmnd does not like to receive requests with no\nbios attached to it.  Special-case zero-length reads and writes,\nby not submitting any bio.\n\nTestcase: sg_raw /dev/sdb 28 00 00 00 00 00 00 00 00 00\n    should not fail\n    panics with the rest of the series but not this patch\n    behaves correctly without or with this series\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a50da144d048f9dbebed2b1441ed779d6bbbcd03",
      "tree": "25290267964578f79c10590a6511d10b85e7de96",
      "parents": [
        "7a3f369ce31694017996524a1cdb08208a839077"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Fri Sep 07 17:30:40 2012 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 17:13:38 2012 -0700"
      },
      "message": "target: support zero allocation length in SBC commands\n\nREAD CAPACITY must be subject to the same treatment as INQUIRY,\nREQUEST SENSE, and MODE SENSE, but there are no pre-existing bugs\nto fix here.  Just use an on-stack buffer, and copy to it after\nchecking the return value of transport_kmap_data_sg.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7a3f369ce31694017996524a1cdb08208a839077",
      "tree": "0c191ecc298ae9cf3d0f29a446f6c43e9b9e630c",
      "parents": [
        "ffe7b0e9326d9c68f5688bef691dd49f1e0d3651"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Fri Sep 07 17:30:39 2012 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 17:13:37 2012 -0700"
      },
      "message": "target: fix truncation of mode data, support zero allocation length\n\nThe offset was not bumped back to the full size after writing the\nheader of the MODE SENSE response, so the last 1 or 2 bytes were\nnot copied.\n\nOn top of this, support zero-length requests by checking for the\nreturn value of transport_kmap_data_sg.\n\nTestcase: sg_raw -r20 /dev/sdb 5a 00 0a 00 00 00 00 00 14 00\n    last byte should be 0x1e\n    it is 0x00 without the patch\n    it is correct with the patch\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ffe7b0e9326d9c68f5688bef691dd49f1e0d3651",
      "tree": "f180001bbe2685c8388c372766e6884f2cb7845e",
      "parents": [
        "bf11eefcb1dc1326341ebdc44566ad08bee3f539"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Fri Sep 07 17:30:38 2012 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 17:13:36 2012 -0700"
      },
      "message": "target: support zero allocation length in INQUIRY\n\nINQUIRY processing already uses an on-heap bounce buffer for loopback,\nbut not for other fabrics.  Switch this to a cheaper on-stack bounce\nbuffer, similar to the one used by MODE SENSE and REQUEST SENSE, and\nuse it unconditionally.  With this in place, zero allocation length is\nhandled simply by checking the return address of transport_kmap_data_sg.\n\nTestcase: sg_raw /dev/sdb 12 00 83 00 00 00\n    should fail with ILLEGAL REQUEST / INVALID FIELD IN CDB sense\n    does not fail without the patch\n    fails correctly with the series\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "bf11eefcb1dc1326341ebdc44566ad08bee3f539",
      "tree": "7e82aa014d6f7b7ee56da368e63596fd1e062ce6",
      "parents": [
        "06cda529d27d778f55690d5b09af8ae4448e796b"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Wed Sep 05 14:42:48 2012 +0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 17:13:36 2012 -0700"
      },
      "message": "target: use list_move_tail instead of list_del/list_add_tail\n\nUsing list_move_tail() instead of list_del() + list_add_tail().\n\nspatch with a semantic match is used to found this problem.\n(http://coccinelle.lip6.fr/)\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    }
  ],
  "next": "06cda529d27d778f55690d5b09af8ae4448e796b"
}
