)]}'
{
  "log": [
    {
      "commit": "67236c44741e250199ccd77f1115568e68cf8848",
      "tree": "4b09d2017a0122984b694e167aeaff2afcc931e0",
      "parents": [
        "9f9ef6d3c08319defc29e4cf6ef2868d15ed0cc3"
      ],
      "author": {
        "name": "Martin Svec",
        "email": "martin.svec@zoner.cz",
        "time": "Mon Feb 06 22:13:25 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 07 06:48:58 2012 +0000"
      },
      "message": "target: Fix unsupported WRITE_SAME sense payload\n\nThis patch fixes a bug in target-core where unsupported WRITE_SAME ops\nfrom a target_check_write_same_discard() failure was incorrectly\nreturning CHECK_CONDITION w/ TCM_INVALID_CDB_FIELD sense data.\nThis was causing some clients to not properly fall back, so go ahead\nand use the correct TCM_UNSUPPORTED_SCSI_OPCODE sense for this case.\n\nReported-by: Martin Svec \u003cmartin.svec@zoner.cz\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "9f9ef6d3c08319defc29e4cf6ef2868d15ed0cc3",
      "tree": "dab36bf875ce037be9fc59b7fab101dce192d188",
      "parents": [
        "5c55125f4794f4e77574fc09839cb47b0eb45b06"
      ],
      "author": {
        "name": "Dax Kelson",
        "email": "dkelson@gurulabs.com",
        "time": "Fri Feb 03 23:40:25 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 07 06:48:53 2012 +0000"
      },
      "message": "iscsi: use IP_FREEBIND socket option\n\nUse IP_FREEBIND socket option so that iscsi portal configuration with\nexplicit IP addresses can happen during boot, before network interfaces\nhave been assigned IPs.\n\nThis is especially important on systemd based Linux boxes where system\nboot happens asynchronously and non-trivial configuration must be done\nto get targetcli.service to start synchronously after the network is\nconfigured.\n\nReference:\nhttp://lists.fedoraproject.org/pipermail/devel/2011-October/158025.html\n\nSigned-off-by: Dax Kelson \u003cdkelson@gurulabs.com\u003e\nCc: \"Nicholas A. Bellinger\" \u003cnab@linux-iscsi.org\u003e\nCc: \"Andy Grover\" \u003cagrover@redhat.com\u003e\nCc: \"Lennart Poettering\" \u003clennart@poettering.net\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5c55125f4794f4e77574fc09839cb47b0eb45b06",
      "tree": "2e35bfcfe983dee5d5afbf0437dd3ff5f9a4938a",
      "parents": [
        "3011684c0b0b77b0f88113ef1c15b18befc6734a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Feb 02 16:51:24 2012 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 07 06:48:46 2012 +0000"
      },
      "message": "iblock: fix handling of large requests\n\nRequesting to many bvecs upsets bio_alloc_bioset, so limit the number we ask\nfor to the amount it can handle.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3011684c0b0b77b0f88113ef1c15b18befc6734a",
      "tree": "fcac41c9b6cb8de95214e74d0f1c1b84aa979655",
      "parents": [
        "c3bc93da24c8f315d9ece741f6e6414a38879ec6"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Fri Jan 27 15:50:55 2012 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 07 06:48:40 2012 +0000"
      },
      "message": "target: handle empty string writes in sysfs\n\nThese are root only and we\u0027re not likely to hit the problem in practise,\nbut it makes the static checkers happy.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c3bc93da24c8f315d9ece741f6e6414a38879ec6",
      "tree": "4b7fe46a3fec2e222d0e77f721cb09f69e81899a",
      "parents": [
        "7347b5ff7090b2b399b7921a266255cd55bbd78f"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Jan 23 11:39:49 2012 +1100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 07 06:48:30 2012 +0000"
      },
      "message": "iscsi_target: in_aton needs linux/inet.h\n\nFixes this error after a recent nfs cleanup:\n\ndrivers/target/iscsi/iscsi_target_configfs.c: In function \u0027lio_target_call_addnptotpg\u0027:\ndrivers/target/iscsi/iscsi_target_configfs.c:214:3: error: implicit declaration of function \u0027in6_pton\u0027 [-Werror\u003dimplicit-function-declaration]\ndrivers/target/iscsi/iscsi_target_configfs.c:239:3: error: implicit declaration of function \u0027in_aton\u0027 [-Werror\u003dimplicit-function-declaration]\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7347b5ff7090b2b399b7921a266255cd55bbd78f",
      "tree": "3952df49566e07f4cbdbc7aef6b28abadf008dca",
      "parents": [
        "735703cac08f34a197e1c6331ca9adc8a52d6046"
      ],
      "author": {
        "name": "Marco Sanvido",
        "email": "marco@purestorage.com",
        "time": "Fri Jan 20 15:49:27 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 07 06:48:20 2012 +0000"
      },
      "message": "target: Fix iblock se_dev_attrib.unmap_granularity\n\nThe block layer keeps q-\u003elimits.discard_granularity in bytes, but iblock\n(and the SCSI Block Limits VPD page) keep unmap_granularity in blocks.\nReport the correct value when exporting block devices by dividing to\nconvert bytes to blocks.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "735703cac08f34a197e1c6331ca9adc8a52d6046",
      "tree": "93e3e09572f681f9f3a360832ba4a84a6f99018e",
      "parents": [
        "1edcdb497ef418122cd4f98e157660cf594b345a"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jan 20 19:02:56 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 07 06:47:11 2012 +0000"
      },
      "message": "target: Fix target_submit_cmd() exception handling\n\nThis patch fixes a bug in target_submit_cmd() where the failure path\nfor transport_generic_allocate_tasks() made a direct call to\ntransport_send_check_condition_and_sense() and not calling the\nfinal target_put_sess_cmd() release callback.\n\nFor transport_generic_allocate_tasks() failures, use the proper call to\ntransport_generic_request_failure() to handle kref_put() along\nwith potential internal queue full response processing.\n\nIt also makes transport_lookup_cmd_lun() failures in\ntarget_submit_cmd() use transport_send_check_condition_and_sense() and\ntarget_put_sess_cmd() directly to avoid se_cmd-\u003ese_dev reference in\ntransport_generic_request_failure() handling.\n\nFinally it drops the out_check_cond: label and use direct reference for\nallocate task failures, and per-se_device queue_full handling is\ncurrently not supported for transport_lookup_cmd_lun() failure\ndescriptors due to se_device dependency.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1edcdb497ef418122cd4f98e157660cf594b345a",
      "tree": "bf41780935b8996f85a0ae090897495961deb6d7",
      "parents": [
        "95fe1ee41e23fa271416da67483594dde74bc6ca"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Thu Jan 19 13:39:23 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 07 06:41:04 2012 +0000"
      },
      "message": "target: Change target_submit_cmd() to return void\n\nRetval not very useful, and may even be harmful. Once submitted, fabrics\nshould expect a sense error if anything goes wrong. All fabrics checking\nof this retval are useless or broken:\n\nfc checks it just to emit more debug output.\nib_srpt trickles retval up, then it is ignored.\nqla2xxx trickles it up, which then causes a bug because the abort goto\nin qla_target.c thinks cmd hasn\u0027t been sent to target.\n\nJust returning nothing is best.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "95fe1ee41e23fa271416da67483594dde74bc6ca",
      "tree": "6bfed9186c9fbec3954f4c9f590802ade39ffbe7",
      "parents": [
        "bf0053550aebe56f3bb5dd793e9de69238b5b945"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Jan 18 14:04:29 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 07 06:32:39 2012 +0000"
      },
      "message": "target: accept REQUEST_SENSE with 18bytes\n\nWindowsXP+BOT issues a MODE_SENSE request with page 0x1c which is not\nsuppoerted by target. Target rejects that command with\nTCM_INVALID_CDB_FIELD, so far so good. On BOT I can\u0027t send the SENSE\nresponse back, instead I can only reply that an error occured. The next\nthing happens is a REQUEST_SENSE request with 18 bytes length. Since the\ncheck here is more than 18 bytes I have to NACK that request as well.\nThis is not really required: We check for some additional room, but we\nnever use it. The additional length is set to 0xa so the total length is\n0xa + 8 \u003d 18 which is fine with my 18 bytes.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "bf0053550aebe56f3bb5dd793e9de69238b5b945",
      "tree": "eac9ac787478014209756b6505146564d41f40a8",
      "parents": [
        "bb1acb2ee038a6c13ee99e0b9fb44dacb4a9de84"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 17 18:00:57 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:35:59 2012 +0000"
      },
      "message": "target: Fail INQUIRY commands with EVPD\u003d\u003d0 but PAGE CODE!\u003d0\n\nMy draft of SPC-4 says:\n\n    If the PAGE CODE field is not set to zero when the EVPD bit is set\n    to zero, the command shall be terminated with CHECK CONDITION\n    status, with the sense key set to ILLEGAL REQUEST, and the\n    additional sense code set to INVALID FIELD IN CDB.\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": "bb1acb2ee038a6c13ee99e0b9fb44dacb4a9de84",
      "tree": "47ac9d29a68025c963f815933a68e1ed3f35de84",
      "parents": [
        "2f9bc894c67dbacae5a6a9875818d2a18a918d18"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 17 18:00:56 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:35:58 2012 +0000"
      },
      "message": "target: Return correct ASC for unimplemented VPD pages\n\nMy draft of SPC-4 says:\n\n    If the device server does not implement the requested vital product\n    data page, then the command shall be terminated with CHECK CONDITION\n    status, with the sense key set to ILLEGAL REQUEST, and the\n    additional sense code set to INVALID FIELD IN CDB.\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": "2f9bc894c67dbacae5a6a9875818d2a18a918d18",
      "tree": "2891680fbe0b57299776d44123969452a9cb1a25",
      "parents": [
        "4949314c7283ea4f9ade182ca599583b89f7edd6"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Jan 16 23:33:48 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:35:58 2012 +0000"
      },
      "message": "iscsi-target: Fix discovery with INADDR_ANY and IN6ADDR_ANY_INIT\n\nThis patch addresses a bug with sendtargets discovery where INADDR_ANY (0.0.0.0)\n+ IN6ADDR_ANY_INIT ([0:0:0:0:0:0:0:0]) network portals where incorrectly being\nreported back to initiators instead of the address of the connecting interface.\nTo address this, save local socket -\u003egetname() output during iscsi login setup,\nand makes iscsit_build_sendtargets_response() return these TargetAddress keys\nwhen INADDR_ANY or IN6ADDR_ANY_INIT portals are in use.\n\nReported-by: Dax Kelson \u003cdkelson@gurulabs.com\u003e\nReported-by: Andy Grover \u003cagrover@redhat.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4949314c7283ea4f9ade182ca599583b89f7edd6",
      "tree": "bbd2316996bc2f19c1b3a8c24f8591f12d2330fa",
      "parents": [
        "e8904dc5008ef92f0f62391d6557f03f921eeb32"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Mon Jan 16 16:57:08 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:35:58 2012 +0000"
      },
      "message": "target: Allow control CDBs with data \u003e 1 page\n\nWe need to handle \u003e1 page control cdbs, so extend the code to do a vmap\nif bigger than 1 page. It seems like kmap() is still preferable if just\na page, fewer TLB shootdowns(?), so keep using that when possible.\n\nRename function pair for their new scope.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e8904dc5008ef92f0f62391d6557f03f921eeb32",
      "tree": "da3cdfc1e0be8166b58649840dac0d1ba0842081",
      "parents": [
        "f8d48ae52eeec906d7fb42485eb26a5d305bab0a"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Jan 15 19:33:30 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:35:57 2012 +0000"
      },
      "message": "iscsi-target: Fix up a few assignments\n\nA statement such as\n  struct iscsi_node_attrib *na \u003d na \u003d iscsit_tpg_get_node_attrib(sess);\nhas undefined behaviour since there are two assignments to \u0027na\u0027, strictly\nspeaking (the order in which side-effects from the assignments take place\nis undefined since there\u0027s no intervening sequence point), and it looks\nunintentional in any case.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f8d48ae52eeec906d7fb42485eb26a5d305bab0a",
      "tree": "4de9fc43d78b02bb6569860c887f81af763f9308",
      "parents": [
        "cd931ee62fd0258fc85c76a7c5499fe85e0f3436"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Sun Jan 15 14:30:24 2012 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:35:57 2012 +0000"
      },
      "message": "iscsi-target: make one-bit bitfields unsigned\n\nSigned bitfields are a problem because instead of being 1 or 0 like\nyou\u0027d expect they are 0 and -1.  It doesn\u0027t cause a problem in this case\nbut sparse complains:\n\ndrivers/target/iscsi/iscsi_target_core.h:564:56: error: dubious one-bit\nsigned bitfield\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "cd931ee62fd0258fc85c76a7c5499fe85e0f3436",
      "tree": "3e98ce1d1fc20b0782dee6eea01e6db295d12503",
      "parents": [
        "c1ce4bd56f2846de55043374598fd929ad3b711b"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Jan 16 17:11:54 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:35:57 2012 +0000"
      },
      "message": "iscsi-target: Fix double list_add with iscsit_alloc_buffs reject\n\nThis patch fixes a bug where the iscsit_add_reject_from_cmd() call\nfrom a failure to iscsit_alloc_buffs() was incorrectly passing\nadd_to_conn\u003d1 and causing a double list_add after iscsi_cmd-\u003ei_list\nhad already been added in iscsit_handle_scsi_cmd().\n\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c1ce4bd56f2846de55043374598fd929ad3b711b",
      "tree": "86a088a99e1c51c78aa2198d015936edccdfeb12",
      "parents": [
        "8d9efe539cf78f6a90947d47100e4a86d907750f"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Jan 16 16:04:15 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:35:56 2012 +0000"
      },
      "message": "iscsi-target: Fix reject release handling in iscsit_free_cmd()\n\nThis patch addresses a bug where iscsit_free_cmd() was incorrectly calling\niscsit_release_cmd() for ISCSI_OP_REJECT because iscsi_add_reject*() will\noverwrite the original iscsi_cmd-\u003eiscsi_opcode assignment.  This bug was\nintroduced with the following commit:\n\ncommit 0be67f2ed8f577d2c72d917928394c5885fa9134\nAuthor: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nDate:   Sun Oct 9 01:48:14 2011 -0700\n\n    iscsi-target: Remove SCF_SE_LUN_CMD flag abuses\n\nand was manifesting itself as list corruption with the following:\n\n[  131.191092] ------------[ cut here ]------------\n[  131.191092] WARNING: at lib/list_debug.c:53 __list_del_entry+0x8d/0x98()\n[  131.191092] Hardware name: VMware Virtual Platform\n[  131.191092] list_del corruption. prev-\u003enext should be ffff880022d3c100, but was 6b6b6b6b6b6b6b6b\n[  131.191092] Modules linked in: tcm_vhost ib_srpt ib_cm ib_sa ib_mad ib_core tcm_qla2xxx qla2xxx tcm_loop tcm_fc libfc scsi_transport_fc crc32c iscsi_target_mod target_core_stgt scsi_tgt target_core_pscsi target_core_file target_core_iblock target_core_mod configfs ipv6 iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi sr_mod cdrom sd_mod e1000 ata_piix libata mptspi mptscsih mptbase [last unloaded: scsi_wait_scan]\n[  131.191092] Pid: 2250, comm: iscsi_ttx Tainted: G        W    3.2.0-rc4+ #42\n[  131.191092] Call Trace:\n[  131.191092]  [\u003cffffffff8103b553\u003e] warn_slowpath_common+0x80/0x98\n[  131.191092]  [\u003cffffffff8103b5ff\u003e] warn_slowpath_fmt+0x41/0x43\n[  131.191092]  [\u003cffffffff811d0279\u003e] __list_del_entry+0x8d/0x98\n[  131.191092]  [\u003cffffffffa01395c9\u003e] transport_lun_remove_cmd+0x9b/0xb7 [target_core_mod]\n[  131.191092]  [\u003cffffffffa013a55c\u003e] transport_generic_free_cmd+0x5d/0x71 [target_core_mod]\n[  131.191092]  [\u003cffffffffa01a012b\u003e] iscsit_free_cmd+0x1e/0x27 [iscsi_target_mod]\n[  131.191092]  [\u003cffffffffa01a13be\u003e] iscsit_close_connection+0x14d/0x5b2 [iscsi_target_mod]\n[  131.191092]  [\u003cffffffffa0196a0c\u003e] iscsit_take_action_for_connection_exit+0xdb/0xe0 [iscsi_target_mod]\n[  131.191092]  [\u003cffffffffa01a55d4\u003e] iscsi_target_tx_thread+0x15cb/0x1608 [iscsi_target_mod]\n[  131.191092]  [\u003cffffffff8103609a\u003e] ? check_preempt_wakeup+0x121/0x185\n[  131.191092]  [\u003cffffffff81030801\u003e] ? __dequeue_entity+0x2e/0x33\n[  131.191092]  [\u003cffffffffa01a4009\u003e] ? iscsit_send_text_rsp+0x25f/0x25f [iscsi_target_mod]\n[  131.191092]  [\u003cffffffffa01a4009\u003e] ? iscsit_send_text_rsp+0x25f/0x25f [iscsi_target_mod]\n[  131.191092]  [\u003cffffffff8138f706\u003e] ? schedule+0x55/0x57\n[  131.191092]  [\u003cffffffff81056c7d\u003e] kthread+0x7d/0x85\n[  131.191092]  [\u003cffffffff81399534\u003e] kernel_thread_helper+0x4/0x10\n[  131.191092]  [\u003cffffffff81056c00\u003e] ? kthread_worker_fn+0x16d/0x16d\n[  131.191092]  [\u003cffffffff81399530\u003e] ? gs_change+0x13/0x13\n\nReported-by: \u003cjrepac@yahoo.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8d9efe539cf78f6a90947d47100e4a86d907750f",
      "tree": "82c9981047853687f83117d65de94ba18a25f144",
      "parents": [
        "1dd0a0674530da61cdbfadd88c96949b483a7c19"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Jan 11 21:43:38 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:33:44 2012 +0000"
      },
      "message": "target: fix return code of core_tpg_.*_lun\n\n- core_tpg_pre_addlun()\n  returns always ERR_PTR() or the pointer, never NULL. The additional\n  check for NULL in core_dev_add_lun() is not required.\n\n- core_tpg_pre_dellun()\n  returns always ERR_PTR() or the pointer, never NULL. The check for NULL\n  in core_dev_del_lun() is wrong. The third argument (int *) is never\n  used, remove it.\n\n- core_dev_add_lun()\n  returns always NULL or the pointer, never ERR_PTR. The check for\n  IS_ERR() is not required.\n\n(nab: Convert core_dev_add_lun() use err.h macros for failure\nhandling to be consistent with the rest of target_core_fabric_configfs.c\ncallers)\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1dd0a0674530da61cdbfadd88c96949b483a7c19",
      "tree": "5e47fe019fb7961883b3104a043eff71392c0ff2",
      "parents": [
        "e59a41b69a8e116d5ac8c95c4222f5a971f66bbd"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Jan 10 14:16:58 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:30:39 2012 +0000"
      },
      "message": "target: use save/restore lock primitive in core_dec_lacl_count()\n\nIt may happen that uasp will free the request in irq conntext, the\ncallchain:\n\n uasp_cmd_release() -\u003e transport_generic_free_cmd() -\u003e core_dec_lacl_count()\n\nwhere the last function enables the IRQ. Those irqs are re-disabled\nlater (due to the spin.*irq_restore) but in between we could get hurt.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e59a41b69a8e116d5ac8c95c4222f5a971f66bbd",
      "tree": "84f1d9b3d79f4455a18c2485acb493e354315c20",
      "parents": [
        "91ec1d3535b2acf12c599045cc19ad9be3c6a47b"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Jan 10 14:16:57 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:30:36 2012 +0000"
      },
      "message": "target: avoid multiple outputs in scsi_dump_inquiry()\n\nThe multiple calls to pr_debug() each with one letter results in a new\nline. This patch merges the multiple requests into one call per line\nso we don\u0027t have the multiple line cuts.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "91ec1d3535b2acf12c599045cc19ad9be3c6a47b",
      "tree": "12a312b34c2a932832ca02d28c082e86ab7d2813",
      "parents": [
        "9fbc8909876a2160044e71d376848973b9bfdc3f"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jan 13 12:01:34 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:30:22 2012 +0000"
      },
      "message": "target: Add workaround for zero-length control CDB handling\n\nThis patch adds a work-around for handling zero allocation length\ncontrol CDBs (type SCF_SCSI_CONTROL_SG_IO_CDB) that was causing an\nOOPs with the following raw calls:\n\n   # sg_raw -v /dev/sdd 3 0 0 0 0 0\n   # sg_raw -v /dev/sdd 0x1a 0 1 0 0 0\n\nThis patch will follow existing zero-length handling for data I/O\nand silently return with GOOD status.  This addresses the zero length\nissue, but the proper long-term resolution for handling arbitary\nallocation lengths will be to refactor out data-phase handling in\nindividual CDB emulation logic within target_core_cdb.c\n\nReported-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": "9fbc8909876a2160044e71d376848973b9bfdc3f",
      "tree": "4db778e4d91bb64460e0aa0bdfa4d9ea83cbea21",
      "parents": [
        "9db9da332250dbe662995703a4dcdd692112f0c3"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jan 09 17:54:00 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:30:05 2012 +0000"
      },
      "message": "target: Correct sense key for INVALID FIELD IN {PARAMETER LIST,CDB}\n\nAccording to SPC-4, the sense key for commands that are failed with\nINVALID FIELD IN PARAMETER LIST and INVALID FIELD IN CDB should be\nILLEGAL REQUEST (5h) rather than ABORTED COMMAND (Bh).  Without this\npatch, a tcm_loop LUN incorrectly gives:\n\n    # sg_raw -r 1 -v /dev/sda 3 1 0 0 ff 0\n    Sense Information:\n     Fixed format, current;  Sense key: Aborted Command\n     Additional sense: Invalid field in cdb\n     Raw sense data (in hex):\n            70 00 0b 00 00 00 00 0a  00 00 00 00 24 00 00 00\n            00 00\n\nWhile a real SCSI disk gives:\n\n    Sense Information:\n     Fixed format, current;  Sense key: Illegal Request\n     Additional sense: Invalid field in cdb\n     Raw sense data (in hex):\n            70 00 05 00 00 00 00 18  00 00 00 00 24 00 00 00\n            00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00\n\nwith the main point being that the real disk gives a sense key of\nILLEGAL REQUEST (5h).\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": "9db9da332250dbe662995703a4dcdd692112f0c3",
      "tree": "bec92f208f928e41e84cc03ff9687e35eda6a062",
      "parents": [
        "6816966a8418b980481b4dced7eddd1796b145e8"
      ],
      "author": {
        "name": "roland@purestorage.com",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 15:59:58 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:29:57 2012 +0000"
      },
      "message": "target: Don\u0027t zero pages used for data buffers\n\nDoing alloc_page(GFP_KERNEL | __GFP_ZERO) to get pages used for data\nbuffers wastes a lot of CPU clearing pages that will be quickly be\noverwritten by the actual data.  However, for emulated control\ncommands such as INQUIRY and so on, the code does assume that the\nbuffer is zeroed.\n\nTo avoid this CPU overhead, skip the __GFP_ZERO for commands that are\nactually moving data, ie cmds that have SCF_SCSI_DATA_SG_IO_CDB set.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6816966a8418b980481b4dced7eddd1796b145e8",
      "tree": "5f6e391c719e1ca131442c0eeb661bc3f0029f72",
      "parents": [
        "9e08e34e3735ae057eb3834da3570995811b7eb9"
      ],
      "author": {
        "name": "Marco Sanvido",
        "email": "marco@purestorage.com",
        "time": "Tue Jan 03 17:12:58 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:29:36 2012 +0000"
      },
      "message": "target: Allow PERSISTENT RESERVE IN for non-reservation holder\n\nInitiators that aren\u0027t the active reservation holder should be able to\ndo a PERSISTENT RESERVE IN command in all cases, so add it to the list\nof allowed CDBs in core_scsi3_pr_seq_non_holder().\n\nSigned-off-by: Marco Sanvido \u003cmarco@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": "9e08e34e3735ae057eb3834da3570995811b7eb9",
      "tree": "2a062cdc55b523373690325b3a2b8686e367ac90",
      "parents": [
        "48cfe37cc03f616e6c139796962e7ec677cde8a9"
      ],
      "author": {
        "name": "Marco Sanvido",
        "email": "marco@purestorage.com",
        "time": "Tue Jan 03 17:12:57 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:28:43 2012 +0000"
      },
      "message": "target: Use correct preempted registration sense code\n\nThe comments quote the right parts of the spec:\n\n   * d) Establish a unit attention condition for the\n   *    initiator port associated with every I_T nexus\n   *    that lost its registration other than the I_T\n   *    nexus on which the PERSISTENT RESERVE OUT command\n   *    was received, with the additional sense code set\n   *    to REGISTRATIONS PREEMPTED.\n\nand\n\n   * e) Establish a unit attention condition for the initiator\n   *    port associated with every I_T nexus that lost its\n   *    persistent reservation and/or registration, with the\n   *    additional sense code set to REGISTRATIONS PREEMPTED;\n\nbut the actual code accidentally uses ASCQ_2AH_RESERVATIONS_PREEMPTED\ninstead of ASCQ_2AH_REGISTRATIONS_PREEMPTED.  Fix this.\n\nSigned-off-by: Marco Sanvido \u003cmarco@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": "48cfe37cc03f616e6c139796962e7ec677cde8a9",
      "tree": "0dafa66ac58400b8eee1e68182b6c73dc8b880d3",
      "parents": [
        "895f3022523361e9b383cf48f51feb1f7d5e7e53"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Dec 21 14:20:23 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jan 18 08:28:02 2012 +0000"
      },
      "message": "target: don\u0027t allocate bio headroom in iblock\n\nWe never embedd the bio into a structure, so there is no need to allocate\n64 bytes of headroom per bio.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "895f3022523361e9b383cf48f51feb1f7d5e7e53",
      "tree": "6a692ebaacc4af38c8869eee0da7c6e868b1232a",
      "parents": [
        "6d5b59756033c2a029bde7262bb5f8d45f4ca952"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Dec 13 14:55:33 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Dec 16 06:29:04 2011 +0000"
      },
      "message": "target: Set additional sense length field in sense data\n\nThe target code was not setting the additional sense length field in the\nsense data it returned, which meant that at least the Linux stack\nignored the ASC/ASCQ fields.  For example, without this patch, on a\ntcm_loop device:\n\n    # sg_raw -v /dev/sda 2 0 0 0 0 0\n\ngives\n\n        cdb to send: 02 00 00 00 00 00\n    SCSI Status: Check Condition\n\n    Sense Information:\n     Fixed format, current;  Sense key: Illegal Request\n      Raw sense data (in hex):\n            70 00 05 00 00 00 00 00\n\nwhile after the patch we correctly get the following (which matches what\na regular disk returns):\n\n        cdb to send: 02 00 00 00 00 00\n    SCSI Status: Check Condition\n\n    Sense Information:\n     Fixed format, current;  Sense key: Illegal Request\n     Additional sense: Invalid command operation code\n     Raw sense data (in hex):\n            70 00 05 00 00 00 00 0a  00 00 00 00 20 00 00 00\n            00 00\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6d5b59756033c2a029bde7262bb5f8d45f4ca952",
      "tree": "01cf728296b46e5af005307859e890ef839e063d",
      "parents": [
        "beb55a0cc15a43be43a646b588fcf83822f0c44f"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 30 18:24:03 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:53:29 2011 +0000"
      },
      "message": "target: Remove legacy device status check from transport_execute_tasks\n\nThis patch removes a legacy se_dev_check_online() check from within\ntransport_execute_tasks() that should no longer be necessary as\ntransport_lookup_cmd_lun() is already making this call.\n\nUsing transport_cmd_check_stop() from transport_execute_tasks() should\nalready be checking per se_cmd context for each descriptor upon active\nI/O shutdown, so no need to acquire dev-\u003edev_status_lock again while\nexecuting se_task submission.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "beb55a0cc15a43be43a646b588fcf83822f0c44f",
      "tree": "4ad60fa940e13870449e70341b036e5eaa22c01c",
      "parents": [
        "4d2300ccffd22d1d0213b6a8e4d685eb6ca069c0"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 30 18:21:24 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:50:12 2011 +0000"
      },
      "message": "target: Remove __transport_execute_tasks() for each processing context\n\nThis patch removes the original usage of __transport_execute_tasks() ahead\nof every transport_get_cmd_from_queue() call in transport_processing_thread().\nThis helps reduce se_device-\u003eexecute_task_lock contention between qla2xxx wq\nwith target_submit_cmd() for READs and transport_processing_thread()\ncontext servicing WRITEs with full payloads for I/O submission.\n\nIt also adds a __transport_execute_tasks() to kick the task queue again\nwithout a *se_cmd descriptor with existing queue full logic, but this may\nend up not being necessary.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4d2300ccffd22d1d0213b6a8e4d685eb6ca069c0",
      "tree": "a76817aa4aaba5a6ffb05b3e6a0ea9ca654a0519",
      "parents": [
        "65586d51e0986be574118286c3d0007e903a2add"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 30 18:18:33 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:48:46 2011 +0000"
      },
      "message": "target: Remove extra se_device-\u003eexecute_task_lock access in fast path\n\nThis patch makes __transport_execute_tasks() perform the addition of\ntasks to dev-\u003eexecute_task_list via __transport_add_tasks_from_cmd()\nwhile holding dev-\u003eexecute_task_lock during normal I/O fast path\nsubmission.\n\nIt effectively removes the unnecessary re-acquire of dev-\u003eexecute_task_lock\nduring transport_execute_tasks() -\u003e transport_add_tasks_from_cmd() ahead\nof calling  __transport_execute_tasks() to queue tasks for the passed\n*se_cmd descriptor.\n\n(v2: Re-add goto check_depth usage for multi-task submission for now..)\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "65586d51e0986be574118286c3d0007e903a2add",
      "tree": "0684f76d53e666ffe2a2c77f8e3947d263fa1b75",
      "parents": [
        "40be67f4c588fe2f3e2dbd60ae1f470abc5b6ad8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 30 01:25:21 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:42:13 2011 +0000"
      },
      "message": "target: Drop se_device TCQ queue_depth usage from I/O path\n\nHistorically, pSCSI devices have been the ones that required target-core\nto enforce a per se_device-\u003edepth_left.  This patch changes target-core\nto no longer (by default) enforce a per se_device-\u003edepth_left or sleep in\ntransport_tcq_window_closed() when we out of queue slots for all backend\nexport cases.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "40be67f4c588fe2f3e2dbd60ae1f470abc5b6ad8",
      "tree": "2651859707dfe779766552cde0fce41f5eb19103",
      "parents": [
        "ec54cc081ead14e85736c6543e36ec59be8a7d3d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 30 00:41:20 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:42:12 2011 +0000"
      },
      "message": "target: Fix possible NULL pointer with __transport_execute_tasks\n\nThis patch makes __transport_execute_tasks() use a local *se_dev\nreference to prevent direct se_cmd-\u003ese_dev access after\ntransport_cmd_check_stop() -\u003e transport_add_tasks_from_cmd()\nhas been called, as in the current implementation we can expect\n__transport_execute_tasks() may be called from another context\nthat may have already completed the I/O.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4355a9110eeb2eaf1dd44fcab16ccbd1c8c5fad4",
      "tree": "6cfb4d1fc3cb5c71f67ab158ab41430cfe7a6e0c",
      "parents": [
        "a63607855224702ea17e6016ecf3f7d544e83625"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 22 21:41:54 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:42:08 2011 +0000"
      },
      "message": "tcm_fc: Convert ft_send_work to use target_submit_cmd\n\nThis patch converts the main ft_send_work() I/O path to use\ntarget_submit_cmd() with a single se_cmd-\u003ecmd_kref reference\nthat is released via the existing ft_check_stop_free() response\npath callback.\n\nIt also makes ft_send_tm() use transport_init_se_cmd() and\ntarget_get_sess_cmd() to also use single se_cmd-\u003ecmd_kref\nreference.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a63607855224702ea17e6016ecf3f7d544e83625",
      "tree": "844d9a7dbdc636ba657763f04945b91ca8da9ba7",
      "parents": [
        "7481deb413be132a22193e8a0bce88b311ecb3c2"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 18 20:36:22 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:40:56 2011 +0000"
      },
      "message": "target: Add target_submit_cmd() for process context fabric submission\n\nThis patch adds a target_submit_cmd() caller that can be used by fabrics\nto submit an uninitialized se_cmd descriptor to an struct se_session +\nunpacked_lun from workqueue process context.  This call will invoke the\nfollowing steps:\n\n- transport_init_se_cmd() to setup se_cmd specific pointers\n- Obtain se_cmd-\u003ecmd_kref references with target_get_sess_cmd()\n- set se_cmd-\u003et_tasks_bidi\n- transport_lookup_cmd_lun() to setup struct se_cmd-\u003ese_lun from\n  the passed unpacked_lun\n- transport_generic_allocate_tasks() to setup the passed *cdb, and\n- transport_handle_cdb_direct() handle READ dispatch or WRITE\n  ready-to-transfer callback to fabric\n\nv2 changes from hch feedback:\n\n*) Add target_sc_flags_table for target_submit_cmd flags\n*) Rename bidi parameter to flags, add TARGET_SCF_BIDI_OP\n*) Convert checks to BUG_ON\n*) Add out_check_cond for transport_send_check_condition_and_sense\n   usage\n\nv3 changes:\n\n*) Add TARGET_SCF_ACK_KREF for target_submit_cmd into\n   target_get_sess_cmd to determine when the fabric caller is expecting\n   a second kref_put() from fabric packet acknowledgement.\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": "7481deb413be132a22193e8a0bce88b311ecb3c2",
      "tree": "6d417c6856f983cb28fae0717563f4efcd6019e1",
      "parents": [
        "ce136176fea522fc8f4c16dcae7e8ed1d890ca39"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Nov 12 00:32:17 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:38:29 2011 +0000"
      },
      "message": "target: Make target_put_sess_cmd use target_release_cmd_kref\n\nThis patch moves target_put_sess_cmd() to use a se_cmd-\u003ecmd_kref\ncallback target_release_cmd_kref when performing driver release of\nfabric-\u003ese_cmd descriptor memory.  It sets the default cmd_kref\ncount value to \u00272\u0027 within target_get_sess_cmd() setup, and\ncurrently assumes TFO-\u003echeck_stop_free() usage.\n\nIt drops se_tfo-\u003echeck_release_cmd() usage in the main\ntransport_release_cmd codepath.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ce136176fea522fc8f4c16dcae7e8ed1d890ca39",
      "tree": "fc6258199ef01f584f3e2a46ac16c38117d2dc4a",
      "parents": [
        "ced38c8c00962c9b6c1fcd330572406162d150b9"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Dec 06 10:02:09 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:38:28 2011 +0000"
      },
      "message": "target: Set response format in INQUIRY response\n\nCurrent SCSI specs say that the \"response format\" field in the standard\nINQUIRY response should be set to 2, and all the real SCSI devices I\nhave do put 2 here.  So let\u0027s do that too.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2e88efd3aaafa0df05593cdfa5fd17afe922781d",
      "tree": "41f1f2c6c425d394fb55927b5fcec3a651660515",
      "parents": [
        "0877eafd1618ef683e2ff2273acdeca5f1b077b9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Nov 29 03:20:41 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:28:11 2011 +0000"
      },
      "message": "tcm_loop: bump max_sectors\n\nThere is not reason to artifically limit max_sectors in tcm_loop, set\nit to UINT_MAX to allow stressing the large I/O handling in the target\ncore using the loopback driver.  Also remove various superflous defines\nhiding the values set in the host template.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "0877eafd1618ef683e2ff2273acdeca5f1b077b9",
      "tree": "351ac3d06813fc78f2285180f2d4e93a75f5aa1a",
      "parents": [
        "bc704fb58f507deea84a4c047a3a71351f0c55aa"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Mon Nov 28 13:57:25 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:28:10 2011 +0000"
      },
      "message": "target/configs: remove trailing newline from udev_path and alias\n\nThis patch strips the trailing newline from backend device udev_path and\nalias attributes.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "bc704fb58f507deea84a4c047a3a71351f0c55aa",
      "tree": "64372a6e7fbf1a54214fda904a81637d8bba1402",
      "parents": [
        "8359cf43b9dccddeebb0d247146719a14ce6371a"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Nov 28 01:02:07 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:28:09 2011 +0000"
      },
      "message": "iscsi-target: fix chap identifier simple_strtoul usage\n\nThis patch makes chap_server_compute_md5() use proper unsigned long\nusage for the CHAP_I (identifier) and check for values beyond 255 as\nper RFC-1994.\n\nReported-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8359cf43b9dccddeebb0d247146719a14ce6371a",
      "tree": "25421cb0e06d878709a826edf8d724ca102ab441",
      "parents": [
        "feae85644f1460b3373ef5141183ee43e6191b58"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Thu Nov 24 02:05:51 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:28:07 2011 +0000"
      },
      "message": "target: remove useless casts\n\nA reader should spend an extra moment whenever noticing a cast,\nbecause either something special is going on that deserves extra\nattention or, as is all too often the case, the code is wrong.\n\nThese casts, afaics, have all been useless.  They cast a foo* to a\nfoo*, cast a void* to the assigned type, cast a foo* to void*, before\nassigning it to a void* variable, etc.\n\nIn a few cases I also removed an additional \u0026...[0], which is equally\nuseless.\n\nLastly I added three FIXMEs where, to the best of my judgement, the\ncode appears to have a bug.  It would be good if someone could check\nthese.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "feae85644f1460b3373ef5141183ee43e6191b58",
      "tree": "e7f8dc735f0c1ca4d5cb4b6ede6f0a956a0708a1",
      "parents": [
        "c165f69c2ccbbb4ecf16c5d29d65922286bf62ff"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Thu Nov 24 02:05:12 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:27:55 2011 +0000"
      },
      "message": "target: simplify target_check_cdb_and_preempt\n\n- rename to target_check_cdb_and_preempt\n- use non-safe list_for_each_entry\n- move common check into callee (simplifying callers)\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c165f69c2ccbbb4ecf16c5d29d65922286bf62ff",
      "tree": "2899166c0d1354cb37346c6b4d8b417f60a55c21",
      "parents": [
        "90c161b643d9531d271110876a14e68b49172d8a"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Thu Nov 24 02:04:42 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:27:34 2011 +0000"
      },
      "message": "target: Move core_scsi3_check_cdb_abort_and_preempt\n\nAnd make it static afterwards.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "90c161b643d9531d271110876a14e68b49172d8a",
      "tree": "2427163f641294c15e1fc881993994f0ebe26d8b",
      "parents": [
        "1880807adb21d741f08b747956c90bf4a6f95fbf"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Nov 23 20:53:17 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:27:23 2011 +0000"
      },
      "message": "target: use \\n as a separator for configuration\n\nThe command\n| echo rd_pages\u003d32768 \u003e ramdisk/control\n\nDoes not work because it writes \"rd_pages\u003d32768\\n\" and the parser which\nmatches for \"rd_pages\u003d%d\" does not recognize it due to the \\n. One way\nof fixing this would be using \"echo -n\" instead.\nThis patch adds \\n to the list of separators so we don\u0027t have to use the\n-n argument which I find is more convinient.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1880807adb21d741f08b747956c90bf4a6f95fbf",
      "tree": "fb3815bf85679116bb455ded1a678049950a3d9f",
      "parents": [
        "41e16e981679124c78c30f046d4f0b71d86ff1b2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Nov 23 06:54:36 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:27:02 2011 +0000"
      },
      "message": "target: make the se_task task_state_active a normal bool\n\nThere is no need to make task_state_active an atomic_t given that it is\nalways set under the execute_task_lock so we can make it a simple bool.\nAlso rename it to t_state_active to be closer to the list it guards,\nand make sure all checks before the list addion/removal actually happen\nunder execute_task_lock.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "41e16e981679124c78c30f046d4f0b71d86ff1b2",
      "tree": "2db886814e0f8b9b39d8e8b836e3598d128d14e1",
      "parents": [
        "ef804a849ffae058a783e9dddd24cc1a555bbdb4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Nov 23 06:54:15 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:26:44 2011 +0000"
      },
      "message": "target: remove the se_task task_error_status field\n\nWe only reach transport_complete_task once per task, so the test and set on\ntask_error_status is never going to have an effect.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ef804a849ffae058a783e9dddd24cc1a555bbdb4",
      "tree": "e67737300936c2b94359ded96d9113981cb610aa",
      "parents": [
        "c4795fb20edf2fe2c862c8fe9f8b681edeb79ac1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Nov 23 06:53:58 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:26:27 2011 +0000"
      },
      "message": "target: fold se_task.task_sense into task_flags\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c4795fb20edf2fe2c862c8fe9f8b681edeb79ac1",
      "tree": "506a8cb0a12ea2b56c5ebed5e6bc2a0d842c069d",
      "parents": [
        "e26d99aed42ec6cdc9540d19c77ac5d4dd2c5b00"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Nov 16 09:46:48 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 11:26:05 2011 +0000"
      },
      "message": "target: header reshuffle, part2\n\nThis reorganized the headers under include/target into:\n\n - target_core_base.h stays as is with all target-wide data stuctures and defines\n - target_core_backend.h contains the whole interface to I/O backends\n - target_core_fabric.h contains the whole interface to fabric modules\n\nExcept for those only the various configfs macro headers stay around.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e26d99aed42ec6cdc9540d19c77ac5d4dd2c5b00",
      "tree": "9c0424f81877d6c5cfaf7746447e0c9decf8e82e",
      "parents": [
        "dc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Nov 14 12:30:30 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Dec 14 08:51:12 2011 +0000"
      },
      "message": "target: reshuffle headers\n\nCreate a new headers, drivers/target/target_core_internal.h that is supposed\nto hold all target_core-internal prototypes.  Move all non-exported includes\nfrom include/target to it, and merge the smaller prototype-only includes\ninside drivers/target into it as well.  Mark functions that were found to\nnot be called outside their implementation file static.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ddca8f3ed36c5d25363dab6762829868af09cb02",
      "tree": "a954dea7351e0f36fa2872ad39b9c4ea5f2cc5d8",
      "parents": [
        "c638830d040696ff2bae07785fd4277e7e3fe7c4"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 05:24:19 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:59 2011 +0000"
      },
      "message": "iscsi-target: Fix hex2bin warn_unused compile message\n\nFix the following compile warning with hex2bin() usage:\n\ndrivers/target/iscsi/iscsi_target_auth.c: In function ‘chap_string_to_hex’:\ndrivers/target/iscsi/iscsi_target_auth.c:35: warning: ignoring return value of ‘hex2bin’, declared with attribute warn_unused_result\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c638830d040696ff2bae07785fd4277e7e3fe7c4",
      "tree": "d81f55b5ecbbecadcd3dc81edfd9f0dedc9901b8",
      "parents": [
        "65b0c78d5a0ca2cb82b7b9f54f855896e0d7fc10"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Wed Nov 30 12:11:50 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:58 2011 +0000"
      },
      "message": "target: Don\u0027t return an error if disabling unsupported features\n\nIf an attribute is present (but not yet supported) it should be OK\nto write 0 (a no-op) to the attribute.\n\nThis is an issue because userspace should be able to save and restore all\nset attribute values without error.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "65b0c78d5a0ca2cb82b7b9f54f855896e0d7fc10",
      "tree": "64a27fa0aa08795154674909ccbf2106f56783eb",
      "parents": [
        "5bff9e8584fbcdb361dada5a0425724b9e31e608"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Nov 30 10:48:30 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:58 2011 +0000"
      },
      "message": "target/rd: fix or rewrite the copy routine\n\nSo the code assumes that the sg list is only a array while in reality\nloopback SGL memory via scsi_cmnd into target-core may be already\nchained.  This patch converts ramdisk code to use sg_miter logic from\nscatterlist.h in order to properly support passthrough SGL usage with\ntransport_generic_map_mem_to_cmd() via loopback.\n\nWith this patch the bug goes away. However after umount/mount of the\ndevice my files are gone. So something is still not right. After looking\nat it for a while I decided to rewrite the that part of the code and now\nthings do work for me.\n\nFor reference:\n- http://article.gmane.org/gmane.linux.scsi.target.devel/595\n  the sg_next() conversion\n- http://article.gmane.org/gmane.linux.scsi.target.devel/602\n  the rewrite of the copy code\n\n(nab: Fix compile warning in rd_MEMCPY)\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5bff9e8584fbcdb361dada5a0425724b9e31e608",
      "tree": "a16f405f1165e03f0bf7a8d6053aa772b8545a5d",
      "parents": [
        "6f21475576dde397cd2580262209d4080fbd5458"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Fri Nov 25 22:18:45 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:57 2011 +0000"
      },
      "message": "target/rd: simplify the page/offset computation\n\nBreakout rd_MEMCPY_do_task() usage of do_div() to tmp value during\nrd_request-\u003erd_page assignment.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6f21475576dde397cd2580262209d4080fbd5458",
      "tree": "2fa1831eaec0722b2e48278e447a3aa57b52a9fc",
      "parents": [
        "9649fa1b8764f64c8cc4293e197e14cd46fe7205"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Nov 29 03:29:59 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:57 2011 +0000"
      },
      "message": "target: remove the unused se_dev_list\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "9649fa1b8764f64c8cc4293e197e14cd46fe7205",
      "tree": "c22257cf450c45ae663db66604ee09e230939e4d",
      "parents": [
        "5c73b678f729ea087ef57b59a5d7b5dd3a97042b"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Mon Nov 28 12:33:10 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:57 2011 +0000"
      },
      "message": "target/file: walk properly over sg list\n\nThis patch changes fileio to use for_each_sg() when walking se_task-\u003etask_sg\nmemory passed into from loopback LLD struct scsi_cmnd scatterlist memory.\n\nThis addresses an issue where FILEIO backends with loopback where hitting the\nfollowing OOPs with mkfs.ext2:\n\n|kernel BUG at include/linux/scatterlist.h:97!\n|invalid opcode: 0000 [#1] PREEMPT SMP\n|Modules linked in: sd_mod tcm_loop target_core_stgt scsi_tgt target_core_pscsi target_core_file target_core_iblock target_core_mod configfs scsi_mod\n|\n|Pid: 671, comm: LIO_fileio Not tainted 3.1.0-rc10+ #139 Bochs Bochs\n|EIP: 0060:[\u003ce0afd746\u003e] EFLAGS: 00010202 CPU: 0\n|EIP is at fd_do_task+0x396/0x420 [target_core_file]\n| [\u003ce0aa7884\u003e] __transport_execute_tasks+0xd4/0x190 [target_core_mod]\n| [\u003ce0aa797c\u003e] transport_execute_tasks+0x3c/0xf0 [target_core_mod]\n|EIP: [\u003ce0afd746\u003e] fd_do_task+0x396/0x420 [target_core_file] SS:ESP 0068:dea47e90\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5c73b678f729ea087ef57b59a5d7b5dd3a97042b",
      "tree": "1dfbf0564bba408d6728cb2cf1054b3f0f2eddbc",
      "parents": [
        "1289a0571c037b4757f60597d646aedb70361ec3"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Thu Nov 24 02:04:16 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:56 2011 +0000"
      },
      "message": "target: remove unused struct fields\n\nSome are never used, some are set but never read, dev_hoq_count is\nincremented and decremented, but never read.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1289a0571c037b4757f60597d646aedb70361ec3",
      "tree": "f06f863821f9b918e2fc6686e874718dae3e1528",
      "parents": [
        "9b5cd7f37e1e018432111333e2a67f78ba41edfe"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 22 13:51:34 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:56 2011 +0000"
      },
      "message": "target: Fix page length in emulated INQUIRY VPD page 86h\n\nThe LSB of the page length is at offset 3, not 2.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "9b5cd7f37e1e018432111333e2a67f78ba41edfe",
      "tree": "c1d620a534f0fcb36c354bbe35daf53f3d30a743",
      "parents": [
        "410f670202f0f13cdac8459b9c3effeeead135d1"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 22 13:51:33 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:55 2011 +0000"
      },
      "message": "target: Handle 0 correctly in transport_get_sectors_6()\n\nSBC-3 says:\n\n    A TRANSFER LENGTH field set to zero specifies that 256 logical\n    blocks shall be written.  Any other value specifies the number\n    of logical blocks that shall be written.\n\nThe old code was always just returning the value in the TRANSFER LENGTH\nbyte.  Fix this to return 256 if the byte is 0.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "410f670202f0f13cdac8459b9c3effeeead135d1",
      "tree": "dfad1b29759c54f4ce5141f6d15b8f3d18d00b6e",
      "parents": [
        "1c3d5794fc4a2afd2258b3aa6406377934a36663"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 22 13:51:32 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:55 2011 +0000"
      },
      "message": "target: Don\u0027t return an error status for 0-length READ and WRITE\n\nIO commands with a TRANSFER LENGTH of 0 are not an error; for example,\nfor READ (10) and WRITE (10), SBC-3 says:\n\n    A TRANSFER LENGTH field set to zero specifies that no logical blocks\n    shall be read. This condition shall not be considered an error.\n\nIn case we have nothing to do, just complete the command with good status.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1c3d5794fc4a2afd2258b3aa6406377934a36663",
      "tree": "9a071b1260bfc5b957f168e5a3622667c0ed2ccc",
      "parents": [
        "7ae0b1038f9f7d4c91e9afd4dbbc98210bf1a241"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Thu Nov 17 23:43:40 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:55 2011 +0000"
      },
      "message": "iscsi-target: Use kmemdup rather than duplicating its implementation\n\nThe semantic patch that makes this change is available\nin scripts/coccinelle/api/memdup.cocci.\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7ae0b1038f9f7d4c91e9afd4dbbc98210bf1a241",
      "tree": "f022457108c11b5a90d10634f2abbbf1147b2271",
      "parents": [
        "7e46cf02687e40197ae07c623e660be2a2720064"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Nov 27 22:25:14 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:54 2011 +0000"
      },
      "message": "iscsi-target: Add missing F_BIT for iscsi_tm_rsp\n\nThis patch sets the missing ISCSI_FLAG_CMD_FINAL bit in\niscsit_send_task_mgt_rsp() for a struct iscsi_tm_rsp PDU.\n\nThis usage is hardcoded for all TM response PDUs in RFC-3720\nsection 10.6.\n\nReported-by: whucecil \u003cwhucecil1999@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7e46cf02687e40197ae07c623e660be2a2720064",
      "tree": "47e6b57863e2716dfa5a6347b12a23c063e446cd",
      "parents": [
        "fef58a6096770ed6ab49103a430cc755254a74d9"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 15 23:59:00 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:54 2011 +0000"
      },
      "message": "iscsi-target: Fix residual count hanlding + remove iscsi_cmd-\u003eresidual_count\n\nThis patch fixes iscsi-target handling of underflow where residual data is\ncausing an OOPs by using the incorrect iscsi_cmd_t-\u003edata_length initially\nassigned in iscsit_allocate_se_cmd().  It resets iscsi_cmd_t-\u003edata_length\nfrom se_cmd_t-\u003edata_length after transport_generic_allocate_tasks()\nhas been invoked in iscsit_handle_scsi_cmd() RX context, and converts\niscsi_cmd-\u003eresidual_count usage to access iscsi_cmd-\u003ese_cmd.residual_count\nto get the proper residual count set by target-core.\n\nReported-by: \u003clists@internyc.net\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "fef58a6096770ed6ab49103a430cc755254a74d9",
      "tree": "e59f7c7074c32e604a9b1a9f15550c0249e12546",
      "parents": [
        "6fd126ffebef3897d8fca98644a9fd1cc5c7a5e3"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Nov 15 22:13:24 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:53 2011 +0000"
      },
      "message": "target: Reject SCSI data overflow for fabrics using transport_generic_map_mem_to_cmd\n\nThis patch changes transport_generic_map_mem_to_cmd() to reject SCSI data\noverflow and to send exception status with CHECK_CONDITION + TCM_INVALID_CDB_FIELD\nfor fabrics that are passing a pre-populated struct scatterlist (eg: tcm_loop\nand iscsi-target) being mapped into se_cmd-\u003et_data_sg and se_cmd-\u003et_data_nents.\n\nThis addresses an OOPs where transport_allocate_data_tasks() would walk\nthe incorrect post OVERFLOW cmd-\u003edata_length value beyond the end of\nthe passed scatterlist.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "33c3fafc43e56a22be60ebe67bec5ba763d51010",
      "tree": "87a482353c77ff469b4d7b4fab8df105087d8cf9",
      "parents": [
        "2d3a4b51df4db2ee0415f42a63b9629a7977b975"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Nov 14 11:36:30 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:53 2011 +0000"
      },
      "message": "target: remove the t_tasks_bidi se_cmd field\n\nAnd use a SCF_BIDI flag instead.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2d3a4b51df4db2ee0415f42a63b9629a7977b975",
      "tree": "fd83d9881b4d2041061d62271fea53af8a81be44",
      "parents": [
        "aad13ca20d960ab74b739d7bbe876dac4502f546"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Nov 14 11:36:29 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:52 2011 +0000"
      },
      "message": "target: remove the t_tasks_fua se_cmd field\n\nAnd use a SCF_FUA flag instead.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "aad13ca20d960ab74b739d7bbe876dac4502f546",
      "tree": "be24d2405a4f53449a7368cbd8218edc06ad8828",
      "parents": [
        "58a2801a4b9ad97d3685bb7a3344e17d60292908"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Nov 14 11:36:28 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:52 2011 +0000"
      },
      "message": "target: remove the se_ordered_node se_cmd field\n\nWe never walk ordered_cmd_list in the se_device, so remove all code related\nto supporting it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "58a2801a4b9ad97d3685bb7a3344e17d60292908",
      "tree": "57326befbef1dfdf86b20b2237939c333e1cddbc",
      "parents": [
        "6297b07cbc42eb6b53eb88fce70a4727ea230797"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Nov 14 11:36:27 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:52 2011 +0000"
      },
      "message": "target: remove the se_obj_ptr and se_orig_obj_ptr se_cmd fields\n\nWe already have a perfectly valid se_device pointer in the command, so\nremove the mostly useless duplicates.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6297b07cbc42eb6b53eb88fce70a4727ea230797",
      "tree": "34996a19baaa466e274b361e4437da97b85d249f",
      "parents": [
        "97c34f3b04978799fd6eada69e1a8d84b74d9599"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Nov 12 09:29:51 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:51 2011 +0000"
      },
      "message": "target: Drop config_item_name usage in fabric TFO-\u003efree_wwn()\n\nThis patch removes config_item_name() informational usage of\nTFO-\u003efree_wwn() treewide in loopback, tcm_fc, ib_srpt and\ntcm_vhost module code.\n\nUsing v4 target_core_fabric_configfs.c logic, a fabric call for\nconfig_item_name() in TFO-\u003edrop_wwn() context returns NULL as\ntarget_fabric_drop_wwn() invoking config_item_put() -\u003e\nconfig_group_put() will release fabric_port-\u003eport_wwn.wwn_group\nbefore the last config_item_put() -\u003e TFO-\u003edrop_wwn() is\ninvoked.\n\nReported-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "97c34f3b04978799fd6eada69e1a8d84b74d9599",
      "tree": "f4879bcd2091e21fd83b6a0c466d5171a256ac38",
      "parents": [
        "5f655e8d2a7cdc41943f929e86054051d7441ec5"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Nov 10 11:22:47 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:51 2011 +0000"
      },
      "message": "target: Get rid of unused se_cmd_cache\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "330694a50f5b80e983136237c10516810fb427a9",
      "tree": "cd07658fcbe5aafd1e87bde8f96e7c6d9141be5c",
      "parents": [
        "0957627a99604f379d35831897a2aa15272528fc"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sun Nov 06 18:37:23 2011 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:50 2011 +0000"
      },
      "message": "target: Improve system responsivity during I/O\n\nWhile testing ib_srpt I noticed that the target system became\nrather unresponsive during intensive I/O. The patch below made\nmy target system responsive again during I/O without decreasing\nperformance.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "0957627a99604f379d35831897a2aa15272528fc",
      "tree": "250335ec7dcc6816a7b8135076058a494745f689",
      "parents": [
        "03e98c9eb916f3f0868c1dc344dde2a60287ff72"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 04 11:36:38 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:49 2011 +0000"
      },
      "message": "iscsi-target: Fix sess allocation leak in iscsi_login_zero_tsih_s1\n\nThis patch adds missing kfree() for an allocation in iscsi_login_zero_tsih_s1()\ncode, and make transport_init_session() check for IS_ERR() returns.\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "03e98c9eb916f3f0868c1dc344dde2a60287ff72",
      "tree": "cfa47c1cec5b0a589b868c34310ee25f6a6a1939",
      "parents": [
        "5611cc4572e889b62a7b4c72a413536bf6a9c416"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 04 02:36:16 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Dec 06 06:00:49 2011 +0000"
      },
      "message": "target: Address legacy PYX_TRANSPORT_* return code breakage\n\nThis patch removes legacy usage of PYX_TRANSPORT_* return codes in a number\nof locations and addresses cases where transport_generic_request_failure()\nwas returning the incorrect sense upon CHECK_CONDITION status after the\nv3.1 converson to use errno return codes.\n\nThis includes the conversion of transport_generic_request_failure() to\nprocess cmd-\u003escsi_sense_reason and handle extra TCM_RESERVATION_CONFLICT\nbefore calling transport_send_check_condition_and_sense() to queue up\nresponse status.  It also drops PYX_TRANSPORT_OUT_OF_MEMORY_RESOURCES legacy\nusgae, and returns TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE w/ a response\nfor these cases.\n\ntransport_generic_allocate_tasks(), transport_generic_new_cmd(), backend\nSCF_SCSI_DATA_SG_IO_CDB -\u003edo_task(), and emulated -\u003eexecute_task() have\nall been updated to set se_cmd-\u003escsi_sense_reason and return errno codes\nuniversally upon failure.  This includes cmd-\u003escsi_sense_reason assignment\nin target_core_alua.c, target_core_pr.c and target_core_cdb.c emulation code.\n\nFinally it updates fabric modules to remove the legacy usage, and for\nTFO-\u003enew_cmd_map() callers forwards return values outside of fabric code.\niscsi-target has also been updated to remove a handful of special cases\nrelated to the cleanup and signaling QUEUE_FULL handling w/ ft_write_pending()\n\n(v2: Drop extra SCF_SCSI_CDB_EXCEPTION check during failure from\n     transport_generic_new_cmd, and re-add missing task-\u003etask_error_status\n     assignment in transport_complete_task)\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "6aad3738f6a79fd0ca480eaceefe064cc471f6eb",
      "tree": "08fb9ec4824bf3320af01f29fe84b75f814c0fa0",
      "parents": [
        "02ebbbd481635fd3ce7018e5bb19c18c0f1e4561",
        "5bda90c8f20f0af93375721533f4081a40fa6f41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:00:42 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:00:42 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:\n  target: use -\u003eexectute_task for all CDB emulation\n  target: remove SCF_EMULATE_CDB_ASYNC\n  target: refactor transport_emulate_control_cdb\n  target: pass the se_task to the CDB emulation callback\n  target: split core_scsi3_emulate_pr\n  target: split core_scsi2_emulate_crh\n  target: Add generic active I/O shutdown logic\n  target: add back error handling in transport_complete_task\n  target/pscsi: blk_make_request() returns an ERR_PTR()\n  target: Remove core TRANSPORT_FREE_CMD_INTR usage\n  target: Make TFO-\u003echeck_stop_free return free status\n  iscsi-target: Fix non-immediate TMR handling\n  iscsi-target: Add missing CMDSN_LOWER_THAN_EXP check in iscsit_handle_scsi_cmd\n  target: Avoid double list_del for aborted se_tmr_req\n  target: Minor cleanups to core_tmr_drain_tmr_list\n  target: Fix wrong se_tmr being added to drain_tmr_list\n  target: Fix incorrect se_cmd assignment in core_tmr_drain_tmr_list\n  target: Check -ENOMEM to signal QUEUE_FULL from fabric callbacks\n  tcm_loop: Add explict read buffer memset for SCF_SCSI_CONTROL_SG_IO_CDB\n  target: Fix compile warning w/ missing module.h include\n"
    },
    {
      "commit": "5bda90c8f20f0af93375721533f4081a40fa6f41",
      "tree": "0ac0395e80359e8b4b8fc4220effc7a6225d259b",
      "parents": [
        "d29a5b6acc4b63d4e05ff554509df6fbeaf527cd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Nov 03 17:50:45 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 04 10:44:35 2011 +0000"
      },
      "message": "target: use -\u003eexectute_task for all CDB emulation\n\nInstead of calling into transport_emulate_control_cdb from\n__transport_execute_tasks for some CDBs always set up -\u003eexectute_tasks\nin the command sequence and use it uniformly.\n\n(nab: Add default passthrough break for SERVICE_ACTION_IN)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d29a5b6acc4b63d4e05ff554509df6fbeaf527cd",
      "tree": "edd94dc0420982dea35a811827757b3145689df0",
      "parents": [
        "6ed5a557905f1c4e9ca5f8a6d607303a12d097e1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Nov 03 17:50:44 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 04 10:43:35 2011 +0000"
      },
      "message": "target: remove SCF_EMULATE_CDB_ASYNC\n\nAll -\u003eexecute_task instances now need to complete the I/O explicitly,\nwhich can either happen synchronously or asynchronously.\n\nNote that a lot of the CDB emulations appear to return success even if\nsome lowlevel operations failed.  Given that this is an existing issue\nthis patch doesn\u0027t change that fact.\n\n(nab: Adding missing switch breaks in PR-IN + PR_OUT)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6ed5a557905f1c4e9ca5f8a6d607303a12d097e1",
      "tree": "044b1acc91c0e3ebf2816856c262dd7c951346f2",
      "parents": [
        "e76a35d6c809bd1638e3b1b535bb780ac731c380"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Nov 03 17:50:43 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 04 08:00:17 2011 +0000"
      },
      "message": "target: refactor transport_emulate_control_cdb\n\nEncapsulate each CDB emulation into a function of its own, to prepare\nsetting -\u003eexectute_task to these routines.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e76a35d6c809bd1638e3b1b535bb780ac731c380",
      "tree": "a67bbbbc16cb4e612015da8b0f86fe981d1a5f77",
      "parents": [
        "617c0e06c1b30b799d8b25f92eefdc1b098cb9f8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Nov 03 17:50:42 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 04 08:00:17 2011 +0000"
      },
      "message": "target: pass the se_task to the CDB emulation callback\n\nWe want to be able to handle all CDBs through it and remove hacks like\nalways using the first task in a CDB in target_report_luns.\n\nAlso rename the callback to -\u003eexecute_task to better describe its use.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "617c0e06c1b30b799d8b25f92eefdc1b098cb9f8",
      "tree": "c256c38e2bbf9fb1a17cd5d821efca0839060821",
      "parents": [
        "eacac00ce5bfde8086cd0615fb53c986f7f970fe"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Nov 03 17:50:41 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 04 08:00:17 2011 +0000"
      },
      "message": "target: split core_scsi3_emulate_pr\n\nSplit core_scsi2_emulate_crh into one routine each for the\nPERSISTENT_RESERVE_IN and PERSISTENT_RESERVE_OUT side.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "eacac00ce5bfde8086cd0615fb53c986f7f970fe",
      "tree": "e58c10a9f55b3704f1eed16eb3e5cfc5038336eb",
      "parents": [
        "a17f091d1a7c570804cfc2c77701634da88f8ecf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Nov 03 17:50:40 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 04 08:00:08 2011 +0000"
      },
      "message": "target: split core_scsi2_emulate_crh\n\nSplit core_scsi2_emulate_crh into one routine each for the reserve and\nrelease side.  The common code now is in a helper called by both\nroutines.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a17f091d1a7c570804cfc2c77701634da88f8ecf",
      "tree": "50884063148c31cb5ee7b9a3f13bcc41f585cb92",
      "parents": [
        "2235007c4d3245c0eca5e49497aafe5a111c00fb"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 21:52:08 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Nov 04 07:50:26 2011 +0000"
      },
      "message": "target: Add generic active I/O shutdown logic\n\nThis patch adds the initial pieces of generic active I/O shutdown logic.\nThis is intended to be a \u0027opt-in\u0027 feature for fabric modules that\nincludes the following functions to provide a mechinism for fabric\nmodules to track se_cmd via se_session-\u003esess_cmd_list:\n\n*) target_get_sess_cmd() - Add se_cmd to sess-\u003esess_cmd_list, called\n   from fabric module incoming I/O path.\n*) target_put_sess_cmd() - Check for completion or drop se_cmd from\n   -\u003esess_cmd_list\n*) target_splice_sess_cmd_list() - Splice active I/O list from\n   -\u003esess_cmd_list to -\u003esess_wait_list, can called with HW fabric\n   lock held.\n*) target_wait_for_sess_cmds() - Walk -\u003esess_wait_list waiting on\n   individual -\u003ecmd_wait_comp.  Optional transport_wait_for_tasks()\n   call.\n\ntarget_splice_sess_cmd_list() is allowed to be called under HW fabric\nlock, and performs the splice into se_sess-\u003esess_wait_list and set\nse_cmd-\u003ecmd_wait_set.  Then target_wait_for_sess_cmds() walks the list\nwaiting for individual target_put_sess_cmd() fabric callbacks to\ncomplete.\n\nIt also adds TFO-\u003echeck_release_cmd() to split the completion and memory\nrelease calls, where a fabric module uses target_put_sess_cmd() to check\nfor I/O completion during session shutdown.  This is currently pushed out\ninto fabric modules as current fabric code may sleep here waiting for\nTFO-\u003echeck_stop_free() to complete in main response path, and because\ntarget_wait_for_sess_cmds() calling TFO-\u003erelease_cmd() to free fabric\ndescriptor memory directly.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2235007c4d3245c0eca5e49497aafe5a111c00fb",
      "tree": "dc7af94f5ac99d6558098b4fca2ed14d6ba828dc",
      "parents": [
        "ed327ed337a6ee6919ee092c82ac3edeb63bd4de"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Nov 02 05:06:35 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 16:21:10 2011 +0000"
      },
      "message": "target: add back error handling in transport_complete_task\n\nThe commit\n\n    target: use a workqueue for I/O completions\n\naccidentally removed setting t_tasks_failed in transport_complete_task.\nAdd it back in a slightly cleaner way; now it is set for every failed task\ninstead of special casing the last one completing by using the success\nargument directly for it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ed327ed337a6ee6919ee092c82ac3edeb63bd4de",
      "tree": "cb9db4d1386aae18a115e2d5de330ecb02d18316",
      "parents": [
        "3151d069e9e77043b0e791719bc65896cf24d9f0"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Nov 02 08:48:15 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 15:58:47 2011 +0000"
      },
      "message": "target/pscsi: blk_make_request() returns an ERR_PTR()\n\nThe check is wrong here because blk_make_request() returns an\nERR_PTR() and it doesn\u0027t return NULL.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3151d069e9e77043b0e791719bc65896cf24d9f0",
      "tree": "7913988d9a7efc0ac7ef6cd44ca892243adcb9bd",
      "parents": [
        "88dd9e26d6d3e743f9c7e4562b94b2ad3c2994d3"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 08:28:20 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 15:58:46 2011 +0000"
      },
      "message": "target: Remove core TRANSPORT_FREE_CMD_INTR usage\n\nThis patch drops TRANSPORT_FREE_CMD_INTR usage from target core, which\nincludes the removal of transport_generic_free_cmd_intr() symbol,\nTRANSPORT_FREE_CMD_INTR usage in transport_processing_thread(), and\nspecial case LUN_RESET handling to skip TRANSPORT_FREE_CMD_INTR processing\nin core_tmr_drain_cmd_list().  We now expect that fabric modules will\nuse an internal workqueue to provide process context when releasing\nse_cmd descriptor resources via transport_generic_free_cmd().\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Madhuranath Iyengar \u003cmni@risingtidesystems.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "88dd9e26d6d3e743f9c7e4562b94b2ad3c2994d3",
      "tree": "452154b4137170de74d4445c5fcbbf62ce2f04fd",
      "parents": [
        "5a4c8666c6d576f076a7c6824589cdbb984c0f84"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 03:33:16 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 15:58:30 2011 +0000"
      },
      "message": "target: Make TFO-\u003echeck_stop_free return free status\n\nThis patch converts target_core_fabric_ops-\u003echeck_stop_free() usage in\ntransport_cmd_check_stop() and associated fabric module usage to\nreturn \u00271\u0027 when the passed se_cmd has been released directly within\n-\u003echeck_stop_free(), or return \u00270\u0027 when the passed se_cmd has not\nbeen released.\n\nThis addresses an issue where transport_cmd_finish_abort() -\u003e\ntransport_cmd_check_stop_to_fabric() was leaking descriptors during\nLUN_RESET for modules using -\u003echeck_stop_free(), but not directly\nreleasing se_cmd in all cases.\n\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "5a4c8666c6d576f076a7c6824589cdbb984c0f84",
      "tree": "cd4eb1d2c67ff7cf99b4de4e9420c6c1df5b1085",
      "parents": [
        "7e32da55e26b80d57961681e53aa67938268db3f"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Oct 28 13:37:19 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 15:57:13 2011 +0000"
      },
      "message": "iscsi-target: Fix non-immediate TMR handling\n\nThis patch addresses two issues with non immediate TMR handling in\niscsit_handle_task_mgt_cmd().  The first involves breakage due to\nv3.1-rc conversion of iscsit_sequence_cmd(), which upon good status\nwould hit the iscsit_add_reject_from_cmd() block of code.  This patch\nadds an explict check for CMDSN_ERROR_CANNOT_RECOVER.\n\nThe second adds a check to return when non immediate TMR operation is\ndetected after iscsit_ack_from_expstatsn(), as iscsit_sequence_cmd()\n-\u003e iscsit_execute_cmd() will have called transport_generic_handle_tmr()\nfor the non immediate TMR case already.\n\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7e32da55e26b80d57961681e53aa67938268db3f",
      "tree": "c56edb6b8267a1bfeaebdfe5ae6f8bcff3e7f592",
      "parents": [
        "b8a11d7399173dcf23b6d0ca4f416bdf1eba982e"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Oct 28 13:32:35 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 15:57:12 2011 +0000"
      },
      "message": "iscsi-target: Add missing CMDSN_LOWER_THAN_EXP check in iscsit_handle_scsi_cmd\n\nThis patch adds a missing CMDSN_LOWER_THAN_EXP return check for\niscsit_sequence_cmd() in iscsit_handle_scsi_cmd() that was incorrectly\ndropped during the v3.1-rc cleanups to use iscsit_sequence_cmd().\n\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b8a11d7399173dcf23b6d0ca4f416bdf1eba982e",
      "tree": "18d1c607b6aaad5e082a1ffd4d0c5406ff9482a3",
      "parents": [
        "abc1fd4f92d86168790a9eaf9834713a41da788e"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Oct 27 15:44:46 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 15:56:41 2011 +0000"
      },
      "message": "target: Avoid double list_del for aborted se_tmr_req\n\nAfter the list_del() in core_tmr_drain_tmr_list(),\ncore_tmr_release_req() would list_del() the same object again.\n\nCall graph:\n        core_tmr_drain_tmr_list\n        transport_cmd_finish_abort_tmr\n        transport_generic_remove\n        transport_free_se_cmd\n        core_tmr_release_req\n\nSo use list_del_init(), as list_del() of an initialized list_head is\nsafe and essentially a nop.  In the CONFIG_DEBUG_LIST case, list_del()\nactually poisons the list_head, but that is fine as we free the object\ndirectly afterwards.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "827509e38e5a4a5ba65a745ec7b4b0278656d1ca",
      "tree": "9b7c3cb15548495f87aa4996b2bc44fb5786fc4e",
      "parents": [
        "c53181af838fb9d82eebbb62b7175b0466d5a7a0"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue Aug 30 14:20:44 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:59 2011 -0400"
      },
      "message": "drivers/target: Add module.h to drivers/target files as required.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "c53181af838fb9d82eebbb62b7175b0466d5a7a0",
      "tree": "afb4fb9a78349b9ef21b0f1c17778a14b1a44a64",
      "parents": [
        "07c92739455520541c22f6529683467aa3058b7c"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue Aug 30 18:16:43 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:58 2011 -0400"
      },
      "message": "drivers/target: Add export.h to files as required.\n\nSo that they have access to EXPORT_SYMBOL variants and THIS_MODULE.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "abc1fd4f92d86168790a9eaf9834713a41da788e",
      "tree": "d511435edbec33a4ffe283cd1e6de8fef06653a8",
      "parents": [
        "6eb40b2af4908e9aee71e43e7a384243128c56dd"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed Oct 26 14:22:19 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Oct 27 01:00:29 2011 +0000"
      },
      "message": "target: Minor cleanups to core_tmr_drain_tmr_list\n\nThis patch adds a handful minor cleanups to core_tmr_drain_tmr_list() that\nremove an unnecessary NULL check, use list_for_each_entry_safe() instead of\nlist_entry(), and makes the drain_tmr_list walk use *tmr_p instead of\ndirectly referencing the passed *tmr function parameter.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nReviewed-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6eb40b2af4908e9aee71e43e7a384243128c56dd",
      "tree": "4c2c2a1c7da25bbc176e7b38faaf5792f6176886",
      "parents": [
        "80ccbc8e00f7001d79dd503c2781487906b98611"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed Oct 26 13:37:56 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Oct 27 01:00:21 2011 +0000"
      },
      "message": "target: Fix wrong se_tmr being added to drain_tmr_list\n\nThis patch fixes another bug from LUN_RESET re-org fallout in\ncore_tmr_drain_tmr_list() that was adding the wrong se_tmr_req\ninto the local drain_tmr_list to be walked + released.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nReviewed-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "80ccbc8e00f7001d79dd503c2781487906b98611",
      "tree": "156726945115c87aa7f95f4c09f3ae53ceced6cc",
      "parents": [
        "f147abb475ab47ce620cf3d18de5b3192c9fa7ed"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Oct 25 22:08:43 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Oct 27 01:00:11 2011 +0000"
      },
      "message": "target: Fix incorrect se_cmd assignment in core_tmr_drain_tmr_list\n\nThis patch fixes a bug in core_tmr_drain_tmr_list() where drain_tmr_list\nwas using the wrong se_tmr_req for cmd assignment due to a typo during the\nLUN_RESET re-org.  This was resulting in general protection faults while\nusing the leftover bogus *tmr_p pointer from list_for_each_entry_safe().\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f147abb475ab47ce620cf3d18de5b3192c9fa7ed",
      "tree": "2dddc11716663c387df52f102658c9812c62c54a",
      "parents": [
        "8cd79f24350826b81e16990d9e12bc878e67d385"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 25 23:57:41 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Oct 27 01:00:06 2011 +0000"
      },
      "message": "target: Check -ENOMEM to signal QUEUE_FULL from fabric callbacks\n\nThis patch changes target core to also check for -ENOMEM from fabric callbacks\nto signal QUEUE_FULL status, instead of just -EAGAIN in order to catch a\nlarger set of fabric failure cases that want to trigger QUEUE_FULL logic.\nThis includes the callbacks for -\u003ewrite_pending(), -\u003equeue_data_in() and\n-\u003equeue_status().\n\nIt also makes transport_generic_write_pending() return zero upon QUEUE_FULL,\nand removes two unnecessary -EAGAIN checks to catch write pending QUEUE_FULL\ncases from transport_generic_new_cmd() failures in transport_handle_cdb_direct()\nand transport_processing_thread():TRANSPORT_NEW_CMD_MAP state.\n\nReported-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8cd79f24350826b81e16990d9e12bc878e67d385",
      "tree": "14421b42c8c7eeb566e5793c1dfd45d051cd74d6",
      "parents": [
        "c9abb9bb0b8451588509192bd53005d65c02986c"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 13:35:37 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Oct 26 20:42:13 2011 +0000"
      },
      "message": "tcm_loop: Add explict read buffer memset for SCF_SCSI_CONTROL_SG_IO_CDB\n\nThis patch addresses an issue with buggy userspace code sending I/O\nvia scsi-generic that does not explictly clear their associated read\nbuffers.  It adds an explict memset of the first SGL entry within\ntcm_loop_new_cmd_map() for SCF_SCSI_CONTROL_SG_IO_CDB payloads that\nare currently guaranteed to be a single SGL by target-core code.\n\nThis issue is a side effect of the v3.1-rc1 merge to remove the\nextra memcpy between certain control CDB types using a contigious\n+ cleared buffer in target-core, and performing a memcpy into the\nSGL list within tcm_loop.\n\nIt was originally mainfesting itself by udev + scsi_id + scsi-generic\nnot properly setting up the expected /dev/disk/by-id/ symlinks because\nthe INQUIRY payload was containing extra bogus data preventing the\nproper NAA IEEE WWN from being parsed by userspace.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c9abb9bb0b8451588509192bd53005d65c02986c",
      "tree": "73f376d40d187276777df5b01c10446cc3542db8",
      "parents": [
        "2e982ab92dff057c639d4a43ccfa275be62f5e59"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 25 06:43:29 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Oct 26 20:42:13 2011 +0000"
      },
      "message": "target: Fix compile warning w/ missing module.h include\n\nThis patch fixes the following compile warning in target_core_cdb.c in\nrecent linux-next code due to the new use of EXPORT_SYMBOL() for\ntarget_get_task_cdb().\n\ndrivers/target/target_core_cdb.c:1316: warning: data definition has no type or storage class\ndrivers/target/target_core_cdb.c:1316: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL’\ndrivers/target/target_core_cdb.c:1316: warning: parameter names (without types) in function declaration\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "59e52534172d845ebffb0d7e85fc56fb7b857051",
      "tree": "49552e03f1bdb413cd8b5f7542e91770688d7047",
      "parents": [
        "73692d9bb58ecc2fa73f4b2bfcf6eadaa6d49a26",
        "0d89e54c8249645404283436d952afc261a04e1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:11:02 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:11:02 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)\n  MAINTAINERS: linux-m32r is moderated for non-subscribers\n  linux@lists.openrisc.net is moderated for non-subscribers\n  Drop default from \"DM365 codec select\" choice\n  parisc: Kconfig: cleanup Kernel page size default\n  Kconfig: remove redundant CONFIG_ prefix on two symbols\n  cris: remove arch/cris/arch-v32/lib/nand_init.S\n  microblaze: add missing CONFIG_ prefixes\n  h8300: drop puzzling Kconfig dependencies\n  MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers\n  tty: drop superfluous dependency in Kconfig\n  ARM: mxc: fix Kconfig typo \u0027i.MX51\u0027\n  Fix file references in Kconfig files\n  aic7xxx: fix Kconfig references to READMEs\n  Fix file references in drivers/ide/\n  thinkpad_acpi: Fix printk typo \u0027bluestooth\u0027\n  bcmring: drop commented out line in Kconfig\n  btmrvl_sdio: fix typo \u0027btmrvl_sdio_sd6888\u0027\n  doc: raw1394: Trivial typo fix\n  CIFS: Don\u0027t free volume_info-\u003eUNC until we are entirely done with it.\n  treewide: Correct spelling of successfully in comments\n  ...\n"
    },
    {
      "commit": "7c1953ddb609f1c161bf4a11a5e4e4577e82e557",
      "tree": "283244582f4fafd15a2ddf52971e0e5ff048af47",
      "parents": [
        "1bc67188c3843b8e16caaa8624beeb0e2823c1f8",
        "b91bf5bf7fb0f35a8119a662e8e6b71ed950f443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 11:17:39 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 11:17:39 2011 +0200"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (62 commits)\n  target: Fix compile warning w/ missing module.h include\n  target: Remove legacy se_task-\u003etask_timer and associated logic\n  target: Fix incorrect transport_sent usage\n  target: re-use the command S/G list for single-task commands\n  target: Fix BIDI t_task_cdb handling in transport_generic_new_cmd\n  target: remove transport_allocate_tasks\n  target: merge transport_new_cmd_obj into transport_generic_new_cmd\n  target: remove the task_sg_bidi field se_task and pSCSI BIDI support\n  target: transport_subsystem_check_init cleanups\n  target: use a workqueue for I/O completions\n  target: remove unused TRANSPORT_ states\n  target: remove TRANSPORT_DEFERRED_CMD state\n  target: remove the TRANSPORT_REMOVE state\n  target: move depth_left manipulation out of transport_generic_request_failure\n  target: stop task timers earlier\n  target: remove TF_TIMER_STOP\n  target: factor some duplicate code for stopping a task\n  target: fix list walking in transport_free_dev_tasks\n  target: use transport_cmd_check_stop_to_fabric consistently\n  target: do not pass the queue object to transport_remove_cmd_from_queue\n  ...\n"
    },
    {
      "commit": "36b8d186e6cc8e32cb5227f5645a58e1bc0af190",
      "tree": "1000ad26e189e6ff2c53fb7eeff605f59c7ad94e",
      "parents": [
        "cd85b557414fe4cd44ea6608825e96612a5fe2b2",
        "c45ed235abf1b0b6666417e3c394f18717976acd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 09:45:31 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 09:45:31 2011 +0200"
      },
      "message": "Merge branch \u0027next\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027next\u0027 of git://selinuxproject.org/~jmorris/linux-security: (95 commits)\n  TOMOYO: Fix incomplete read after seek.\n  Smack: allow to access /smack/access as normal user\n  TOMOYO: Fix unused kernel config option.\n  Smack: fix: invalid length set for the result of /smack/access\n  Smack: compilation fix\n  Smack: fix for /smack/access output, use string instead of byte\n  Smack: domain transition protections (v3)\n  Smack: Provide information for UDS getsockopt(SO_PEERCRED)\n  Smack: Clean up comments\n  Smack: Repair processing of fcntl\n  Smack: Rule list lookup performance\n  Smack: check permissions from user space (v2)\n  TOMOYO: Fix quota and garbage collector.\n  TOMOYO: Remove redundant tasklist_lock.\n  TOMOYO: Fix domain transition failure warning.\n  TOMOYO: Remove tomoyo_policy_memory_lock spinlock.\n  TOMOYO: Simplify garbage collector.\n  TOMOYO: Fix make namespacecheck warnings.\n  target: check hex2bin result\n  encrypted-keys: check hex2bin result\n  ...\n"
    },
    {
      "commit": "b91bf5bf7fb0f35a8119a662e8e6b71ed950f443",
      "tree": "73f376d40d187276777df5b01c10446cc3542db8",
      "parents": [
        "2e982ab92dff057c639d4a43ccfa275be62f5e59"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 25 06:43:29 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 25 06:43:29 2011 +0000"
      },
      "message": "target: Fix compile warning w/ missing module.h include\n\nThis patch fixes the following compile warning in target_core_cdb.c in\nrecent linux-next code due to the new use of EXPORT_SYMBOL() for\ntarget_get_task_cdb().\n\ndrivers/target/target_core_cdb.c:1316: warning: data definition has no type or storage class\ndrivers/target/target_core_cdb.c:1316: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL’\ndrivers/target/target_core_cdb.c:1316: warning: parameter names (without types) in function declaration\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2e982ab92dff057c639d4a43ccfa275be62f5e59",
      "tree": "8c8467e06736efa042006b11210281894c75bd95",
      "parents": [
        "415a090ade7e674018e3fa4255938e4c312339b3"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Oct 23 18:46:36 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:22:08 2011 +0000"
      },
      "message": "target: Remove legacy se_task-\u003etask_timer and associated logic\n\nThis patch removes the legacy usage of se_task-\u003etask_timer and associated\ninfrastructure that originally was used as a way to help manage buggy backend\nSCSI LLDs that in certain cases would never return back an outstanding task.\n\nThis includes the removal of target_complete_timeout_work(), timeout logic\nfrom transport_complete_task(), transport_task_timeout_handler(),\ntransport_start_task_timer(), the per device task_timeout configfs attribute,\nand all task_timeout associated structure members and defines in\ntarget_core_base.h\n\nThis is being removed in preparation to make transport_complete_task() run\nin lock-less mode.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    }
  ],
  "next": "415a090ade7e674018e3fa4255938e4c312339b3"
}
