)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "415a090ade7e674018e3fa4255938e4c312339b3",
      "tree": "075991035ca3410cdd2a9110d2cde1c1ca485e4d",
      "parents": [
        "af3f00c75949369d937f499f49118e879939724d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Oct 23 18:16:13 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:22:06 2011 +0000"
      },
      "message": "target: Fix incorrect transport_sent usage\n\nThis patch converts target-core to use se_cmd-\u003et_transport_sent instead of\na duplicated se_cmd-\u003etransport_sent member in a handful of locations.\nIt also updates iscsi_target to properly use -\u003et_transport_sent instead of\nit\u0027s own iscsi_cmd_t-\u003etransport_sent value that was not being assigned.\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "af3f00c75949369d937f499f49118e879939724d",
      "tree": "97be6b877cd80489eb055ccf1dd0bdb5e8c3f526",
      "parents": [
        "9ac549873d35626cd6d7718691aaf4c55f2667a7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 18 06:57:03 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:22:04 2011 +0000"
      },
      "message": "target: re-use the command S/G list for single-task commands\n\nIf we only have a single task per command (which at least in my testing\nis the by far most common case) we do not have to allocate a new per-task\nS/G list but can reuse the one from the command.\n\n(nab: Fix BIDI handling in transport_free_dev_tasks)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "9ac549873d35626cd6d7718691aaf4c55f2667a7",
      "tree": "dd4ed6ddb6d8a852242a349bc5021e20f956ff1a",
      "parents": [
        "38b400676b5b33178a418bebc2b1af6c3fb0b380"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Oct 22 04:06:23 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:22:02 2011 +0000"
      },
      "message": "target: Fix BIDI t_task_cdb handling in transport_generic_new_cmd\n\nThis patch fixes a bug for BIDI handling in transport_generic_new_cmd() where\ncmd-\u003et_task_cdbs_left and Co. where not taking into account the extra\ntask count generated during the first call to transport_allocate_data_tasks().\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "38b400676b5b33178a418bebc2b1af6c3fb0b380",
      "tree": "167cb6bbcffbbee7bc4728d6b5d2b58efe3111a2",
      "parents": [
        "da0f7619913751d45fc3cda652789379f4f435fb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 18 06:57:02 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:59 2011 +0000"
      },
      "message": "target: remove transport_allocate_tasks\n\nThere were only two callers, and one of them always wants the call\nto transport_allocate_data_tasks anyway.  Also drop the constant\nlba argument to transport_allocate_data_tasks and move the variables\ninside it into the minimum required scope.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "da0f7619913751d45fc3cda652789379f4f435fb",
      "tree": "a719ef4746505d51d13a1997de93ab5466db2687",
      "parents": [
        "7c1c6af37af69a4ac4a6485c968496d257245b5d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 18 06:57:01 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:57 2011 +0000"
      },
      "message": "target: merge transport_new_cmd_obj into transport_generic_new_cmd\n\nThese are two fairly small functions, and merging them gives a much\nmore readable control flow, and opportunities for more useful comments.\n\nIt also moves all code related to resources allocation closer together\nand allows to remove a forward declaration for transport_allocate_tasks.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7c1c6af37af69a4ac4a6485c968496d257245b5d",
      "tree": "7837a4ec24de8dc4c373810137250c7e75d9f24b",
      "parents": [
        "dbc5623eb2898f5b5dcdc0b16077bb3f58629c78"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 18 06:57:00 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:56 2011 +0000"
      },
      "message": "target: remove the task_sg_bidi field se_task and pSCSI BIDI support\n\nThis field is never used given that BIDI handling happens at the\ncommand and not the task level.  Remove it and the dead code in\npscsi that tries to work on it.\n\nIt also prevents pSCSI passthrough for the two currently enabled BIDI\ncommands now that task-\u003etask_sg_bidi support has been removed.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "dbc5623eb2898f5b5dcdc0b16077bb3f58629c78",
      "tree": "f69f4cba91f373a40bcfbbfca8b5383ee297320e",
      "parents": [
        "35e0e757537b9239172e35db773dd062727fd612"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Oct 22 01:03:54 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:54 2011 +0000"
      },
      "message": "target: transport_subsystem_check_init cleanups\n\nRemove the now unnecessary extra call to transport_subsystem_check_init() in\ntarget_core_register_fabric(), and also merge transport_subsystem_reqmods()\ndirectly into transport_subsystem_check_init().\n\nReported-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "35e0e757537b9239172e35db773dd062727fd612",
      "tree": "3a54e1e426f1a962219325eac474b715a4699924",
      "parents": [
        "59aaad1ec44d9a77c32b873b001f31c5af47fcc7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:53 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:52 2011 +0000"
      },
      "message": "target: use a workqueue for I/O completions\n\nInstead of abusing the target processing thread for offloading I/O\ncompletion in the backends to user context add a new workqueue.  This means\ncompletions can be processed as fast as available CPU time allows it,\nincluding in parallel with other completions and more importantly I/O\nsubmission or QUEUE FULL retries.  This should give much better performance\nespecially on loaded systems.\n\nAs a fallout we can merge all the completed states into a single\none.\n\nOn the downside this change complicates lun reset handling a bit by\nrequiring us to cancel a work item only for those states that have it\ninitialized.  The alternative would be to either always initialize the work\nitem to a dummy handler, or always use the same handler and do a switch on\nthe state. The long term solution will be a flag that says that the command\nhas an initialized work item, but that\u0027s only going to be useful once we\nhave more users.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f2da9dbdb54f2e9fa00dd01af6ff2ab06b4d90b7",
      "tree": "c4ae5aa2e59828b35462dcaf1758290c9d999f49",
      "parents": [
        "bfaf40ada2e15bc972cab4cd5452a88720e30647"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:51 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:49 2011 +0000"
      },
      "message": "target: remove TRANSPORT_DEFERRED_CMD state\n\nWe never check for this state, and it makes testing for a completed\nstate much harder given that it overrides the existing state.\n\nAlso remove the unused deferred_t_state which is related to it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "bfaf40ada2e15bc972cab4cd5452a88720e30647",
      "tree": "23f64315f802c1e81b14a80988e1f192813c1133",
      "parents": [
        "4499dda85890e6726def812febaab5dc064cc920"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:50 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:47 2011 +0000"
      },
      "message": "target: remove the TRANSPORT_REMOVE state\n\nWe never queue an command with this state, and only set it in a completely\nbogus place in tcm_fc.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4499dda85890e6726def812febaab5dc064cc920",
      "tree": "3b97ab6a88f58aa162a38f1e052e6655588553d0",
      "parents": [
        "cc5d0f0f61645ca43d9a7320ec2f268bad5016c5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:49 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:46 2011 +0000"
      },
      "message": "target: move depth_left manipulation out of transport_generic_request_failure\n\nWe only need to decrement dev-\u003edepth_left if failing a command from\n__transport_execute_tasks.  Instead of doing it first thing in\ntransport_generic_request_failure and requiring a pseudo-flag argument\nfor it just opencode the decrement in the two callers (which should\nbe factored into a single one anyway)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "cc5d0f0f61645ca43d9a7320ec2f268bad5016c5",
      "tree": "4e6857339fed505ed1b373941126ff1e1e37a0ba",
      "parents": [
        "e99d48a62bfc6e64548e0d5085240c5024eca471"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:48 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:44 2011 +0000"
      },
      "message": "target: stop task timers earlier\n\nCurrently we stop the timers for all tasks in a command fairly late during\nI/O completion, which is fairly pointless and requires all kinds of safety\nchecks.\n\nInstead delete pending timers early on in transport_complete_task, thus\nensuring no new timers firest after that.  We take t_state_lock a bit later\nin that function thus making sure currenly running timers are out of the\ncriticial section.  To be completely sure the timer has finished we also\nadd another del_timer_sync call when freeing the task.\n\nThis also allows removing TF_TIMER_RUNNING as it would be equivalent\nto TF_ACTIVE now.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e99d48a62bfc6e64548e0d5085240c5024eca471",
      "tree": "bf17954cdd6b995a7b2c1ac48fbc38fc2e6c3d6e",
      "parents": [
        "cdbb70bb4c17dad0ee23a357030021892a0f60f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:47 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:42 2011 +0000"
      },
      "message": "target: remove TF_TIMER_STOP\n\nTF_TIMER_STOP is useless as it only helps to mitigate a tiny race during\ndeleting the timer.  But given that we have cleared TF_ACTIVE at this point\nwe already have another mitigation a few lines down the function.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "cdbb70bb4c17dad0ee23a357030021892a0f60f0",
      "tree": "8387550cc921a1fb92de73b455b25fdd3cc98e92",
      "parents": [
        "0c2cfe5fe78e682d6235a1d32a363460b1c77528"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:46 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:41 2011 +0000"
      },
      "message": "target: factor some duplicate code for stopping a task\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "0c2cfe5fe78e682d6235a1d32a363460b1c77528",
      "tree": "fae9d86d8415ea163a49df6bf290aaef8901702e",
      "parents": [
        "b7b8bef7f8c1c9b3358127608e867db7cd928022"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:45 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:39 2011 +0000"
      },
      "message": "target: fix list walking in transport_free_dev_tasks\n\nlist_for_each_entry_safe only protects against deletions from the list,\nbut not against any concurrent modifications.  Given that we drop\nt_state_lock inside the loop it is not safe in transport_free_dev_tasks.\n\nInstead of use a local dispose_list that we move all tasks that are\nto be deleted to.  This is safe because we never do list_emptry checks\non t_list to check if a command is on the list anywhere.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b7b8bef7f8c1c9b3358127608e867db7cd928022",
      "tree": "00649c38974f180008d382f80a7ccbc3db8f6433",
      "parents": [
        "3df8d40ba3fea72c35ab092c091b19a599df1e81"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:44 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:37 2011 +0000"
      },
      "message": "target: use transport_cmd_check_stop_to_fabric consistently\n\nChange one remaining user of transport_cmd_check_stop(cmd, 2, 0) to the\ntransport_cmd_check_stop_to_fabric wrapper.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3df8d40ba3fea72c35ab092c091b19a599df1e81",
      "tree": "910896f429892ff39f1caa72473582d84a40487a",
      "parents": [
        "f7a5cc0b310af887f5391ba886d3d9254ac8920a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:43 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:36 2011 +0000"
      },
      "message": "target: do not pass the queue object to transport_remove_cmd_from_queue\n\nWe always operated on the same queue, so move finding it into the function,\njust like we do for all other helpers operating on it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f7a5cc0b310af887f5391ba886d3d9254ac8920a",
      "tree": "c764805c79e4e4ff573a999573eb5dfa6965c461",
      "parents": [
        "e057f53308a5f071556ee80586b99ee755bf07f5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:42 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:34 2011 +0000"
      },
      "message": "target: remove SCF_EMULATE_QUEUE_FULL\n\nAdd a new boolean at_head parameter to transport_add_cmd_to_queue and thus\nobsolete the SCF_EMULATE_QUEUE_FULL flag.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e057f53308a5f071556ee80586b99ee755bf07f5",
      "tree": "560174961d64837f53b32f56bced6f9109717b8b",
      "parents": [
        "f55918fa3202a646dad2404f7de008108edc5048"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 17 13:56:41 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:32 2011 +0000"
      },
      "message": "target: remove the transport_qf_callback se_cmd callback\n\nRemove the need for the transport_qf_callback callback by making\nsure we have specific states with specific handlers for the two\nqueue full cases.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f55918fa3202a646dad2404f7de008108edc5048",
      "tree": "6b39361985ad31ce9511763e504dfdf89e92412b",
      "parents": [
        "df5fa691ce61aedd3e4dbcf960ee44f05b797d8b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Oct 14 07:30:17 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:31 2011 +0000"
      },
      "message": "target: clean up the backend interface to caching parameters\n\nRemove the dpo_emulated, fua_write_emulated, fua_read_emulated and\nwrite_cache_emulated methods, and replace them with a simple bitfields in\nse_subsystem_api in those cases where they ever returned one.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "df5fa691ce61aedd3e4dbcf960ee44f05b797d8b",
      "tree": "9acd9f28f37eb697247f6f7256650b03932ede8a",
      "parents": [
        "6b20fa9aaf0c2f69ee6f9648e20ab2be0206705e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Oct 14 07:29:58 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:29 2011 +0000"
      },
      "message": "target: make iblock_emulate_sync_cache asynchronous\n\nDo not block the submitting thread when handling a SYNCHRONIZE CACHE command,\nbut implement it asynchronously by sending the FLUSH command ourself and\ncalling transport_complete_sync_cache from the completion handler.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6b20fa9aaf0c2f69ee6f9648e20ab2be0206705e",
      "tree": "468f2d3ed5583cf31c3718dd5c15902676e527c7",
      "parents": [
        "b937d27052e5759b1308782166fe47bc76e05b4d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 18 23:48:04 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:19 2011 +0000"
      },
      "message": "target: Fix REPORT TARGET PORT GROUPS handling with small allocation length\n\nThis patch fixes a bug with the handling of REPORT TARGET PORT GROUPS\ncontaining a smaller allocation length than the payload requires causing\nmemory writes beyond the end of the buffer.  This patch checks for the\nminimum 4 byte length for the response payload length, and also checks\nupon each loop of T10_ALUA(su_dev)-\u003etg_pt_gps_list to ensure the Target\nport group and Target port descriptor list is able to fit into the\nremaining allocation length.\n\nIf the response payload exceeds the allocation length length, then rd_len\nis still increments to indicate to the initiator that the payload has\nbeen truncated.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "b937d27052e5759b1308782166fe47bc76e05b4d",
      "tree": "eb5a99096bb695d208b5cacd27637c167e9bb8f5",
      "parents": [
        "485fd0d1e3b8010b538bd0b209f3592acc825677"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 12 11:09:13 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:15 2011 +0000"
      },
      "message": "target: remove the -\u003etransport_split_cdb callback in se_cmd\n\nAdd a switch statement implementing the CDB LBA/len update directly\nin target_get_task_cdb and remove the old -\u003etransport_split_cdb\ncallback and all its implementations.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "485fd0d1e3b8010b538bd0b209f3592acc825677",
      "tree": "a13b8785b9b24fcec032b9f28fd06597edae7256",
      "parents": [
        "6193f06e6fe27c9475e407cb3cf2b0d4cd2725b0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 12 11:09:12 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:13 2011 +0000"
      },
      "message": "target: replace -\u003eget_cdb with a target_get_task_cdb helper\n\nInstead of calling out to the backends from the core to get a per-task\nCDB and then modify it for the LBA/len pair used for this CDB provide\na helper that writes the adjusted CDB into a provided buffer and call\nthis method from -\u003edo_task in pscsi.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6193f06e6fe27c9475e407cb3cf2b0d4cd2725b0",
      "tree": "a876548f54088886ca0bbc084bb5c560175b5094",
      "parents": [
        "3189b067eeae4646f3c7fa0ed0d14659a682baa8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 12 11:09:11 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:11 2011 +0000"
      },
      "message": "target: make the -\u003eget_cdb method optional\n\nThe most commonly used file, iblock and rd backends have no use for\na per-task CDB and thus don\u0027t need a method to copy it into their\notherwise unused CDB fields.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "04629b7bde553e3703577779f53cb0ba1eddd2c0",
      "tree": "0ad137523361599cdd4c16daad11d6bab2893511",
      "parents": [
        "6c76bf951cb099f5573954b1f56c1121c3a41c72"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 12 11:07:04 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:08 2011 +0000"
      },
      "message": "target: Remove unnecessary se_task members\n\nThis is a squashed version of the following unnecessary se_task structure\nmember removal patches:\n\ntarget: remove the task_execute_queue field in se_task\n\n    Instead of using a separate flag we can simply do list_emptry checks\n    on t_execute_list if we make sure to always use list_del_init to remove\n    a task from the list.  Also factor some duplicate code into a new\n    __transport_remove_task_from_execute_queue helper.\n\ntarget: remove the read-only task_no field in se_task\n\n    The task_no field never was initialized and only used in debug printks,\n    so kill it.\n\ntarget: remove the task_padded_sg field in se_task\n\n    This field is only check in one place and not actually needed there.\n\n    Rationale:\n    - transport_do_task_sg_chain asserts that we have task_sg_chaining\n      set early on\n    - we only make use of the sg_prev_nents field we calculate based on it\n      if there is another sg list that gets chained onto this one, which\n      never happens for the last (or only) task.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    }
  ],
  "next": "6c76bf951cb099f5573954b1f56c1121c3a41c72"
}
