)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "6c76bf951cb099f5573954b1f56c1121c3a41c72",
      "tree": "e9b739b4fb28ae7e2be2fdf400dc4772d63360b8",
      "parents": [
        "42bf829eee0e36371a3df43978b14572c716cbe7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 12 11:07:03 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:06 2011 +0000"
      },
      "message": "target: make more use of the task_flags field in se_task\n\nReplace various atomic_t variables that were mostly under t_state_lock\nwith new flags in task_flags.  Note that the execution error path\ndidn\u0027t take t_state_lock before, so add it there.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "42bf829eee0e36371a3df43978b14572c716cbe7",
      "tree": "2f488a819a713a2cfb8c093e4779ffe312291cc3",
      "parents": [
        "c0427f155614908ca1147cd5b6a0d5cdcaef8327"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 12 11:07:00 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:05 2011 +0000"
      },
      "message": "target: Cleanup unused se_task bits\n\nThis is a squashed version of the following se_task cleanup patches:\n\n    target: remove the unused task_state_flags field in se_task\n    target: remove the unused se_obj_ptr field in se_task\n    target: remove the se_dev field in se_task\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c0427f155614908ca1147cd5b6a0d5cdcaef8327",
      "tree": "a4c4d59078679302ccea165080213d0752b1369d",
      "parents": [
        "0a020436d8baf412bcf5997aee7796276ea773ae"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Oct 12 11:06:56 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:03 2011 +0000"
      },
      "message": "target: Cleanup unused target_core_base.h bits\n\nThis is a squashed version of the following target_core_base.h\ncleanup patches:\n\n    target: remove the unused SHUTDOWN_SIGS defintion\n    target: remove unused se_mem leftovers\n    target: remove the unused map_func_t typedef\n    target: move TRANSPORT_IOV_DATA_BUFFER to the iscsi-specific code\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "0a020436d8baf412bcf5997aee7796276ea773ae",
      "tree": "6fec66de13bb35b467f7753889521018dfeb3645",
      "parents": [
        "ce8762f6cd1e0e6d87a6d0b536635993aef0a697"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 10 19:44:05 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:01 2011 +0000"
      },
      "message": "loopback: Prevent uninitialized use of tl_tpg in tcm_loop_queuecommand\n\nThis patch fixes a bug with tcm_loop where performing a scsi_host rescan was\ncausing an oops due to a received scsi_cmnd-\u003edevice-\u003eid value not matching a\npreviously configured tcm_loop_tpg entry in tcm_loop_hba-\u003etl_hba_tpgs[]\nobtained from within tcm_loop_queuecommand() code.\n\nThis fix adds an explict check for tcm_loop_tpg-\u003etl_hba in order to ensure\ntcm_loop_make_naa_tpg() has already been invoked to initialize a given\ntcm_loop_tpg entry, and also adds an explict clear of tcm_loop_tpg-\u003etl_hba\nfrom within the tcm_loop_drop_naa_tpg() release path.\n\nThis bug was manifesting itself with the following OOPs:\n\n[176289.430909] BUG: unable to handle kernel NULL pointer dereference at 0000000000000090\n[176289.431337] IP: [\u003cffffffffa0395617\u003e] transport_processing_thread+0x1e3/0x794 [target_core_mod]\n[176289.431399] PGD 22e9b067 PUD 23375067 PMD 0\n[176289.431399] Oops: 0000 [#1] SMP\n[176289.431815] CPU 1\n[176289.431815] Modules linked in: tcm_loop target_core_stgt target_core_pscsi target_core_file target_core_iblock target_core_mod crc32c ib_cm ib_sa ib_mad ib_core qla2xxx scsi_tgt configfs fcoe libfcoe libfc scsi_transport_fc ipv6 iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi sr_mod cdrom sd_mod ata_piix libata e1000 mptspi mptscsih mptbase [last unloaded: target_core_mod]\n[176289.431815]\n[176289.431815] Pid: 12339, comm: LIO_iblock Tainted: G        W   3.1.0-rc8+\n[176289.431815] RIP: 0010:[\u003cffffffffa0395617\u003e]  [\u003cffffffffa0395617\u003e] transport_processing_thread+0x1e3/0x794 [target_core_mod]\n[176289.431815] RSP: 0018:ffff880023bfbe10  EFLAGS: 00010283\n[176289.431815] RAX: 0000000000000000 RBX: ffff88002d600040 RCX: ffff88002d600108\n[176289.431815] RDX: ffff88000c9e50bc RSI: 0000000000000246 RDI: 0000000000000246\n[176289.431815] RBP: ffff880023bfbee0 R08: ffff88002d600108 R09: 0000000000000000\n[176289.431815] R10: ffff88002fc8cc80 R11: ffffffff81671b60 R12: ffff88002d600108\n[176289.431815] R13: ffff88000c9e4f38 R14: ffff88000c9e50b8 R15: 0000000000000000\n[176289.431815] FS:  0000000000000000(0000) GS:ffff88002fc80000(0000) knlGS:0000000000000000\n[176289.431815] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[176289.431815] CR2: 0000000000000090 CR3: 000000002a33f000 CR4: 00000000000006e0\n[176289.431815] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[176289.431815] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[176289.431815] Process LIO_iblock (pid: 12339, threadinfo ffff880023bfa000, task ffff88002a2e0000)\n[176289.431815] Stack:\n[176289.431815]  0000000000011280 0000000000000246 ffff88002a2e0000 ffff880023a58900\n[176289.431815]  ffff880023bfbed0 ffff880023bfa000 ffff880023bfa000 ffff88000c9e50d0\n[176289.431815]  ffff88000c9e50c0 ffff88000c9e50bc ffff880023bfa000 ffff880023bfbfd8\n[176289.431815] Call Trace:\n[176289.431815]  [\u003cffffffff81056657\u003e] ? wake_up_bit+0x25/0x25\n[176289.431815]  [\u003cffffffffa0395434\u003e] ? transport_handle_cdb_direct+0x92/0x92 [target_core_mod]\n[176289.431815]  [\u003cffffffff8105619a\u003e] kthread+0x7d/0x85\n[176289.431815]  [\u003cffffffff813cbcb4\u003e] kernel_thread_helper+0x4/0x10\n[176289.431815]  [\u003cffffffff8105611d\u003e] ? kthread_worker_fn+0x16d/0x16d\n[176289.431815]  [\u003cffffffff813cbcb0\u003e] ? gs_change+0x13/0x13\n[176289.431815] Code: 67 05 00 00 41 8b 84 24 4c ff ff ff ff c8 83 f8 11 0f 87 f0 04 00 00 89 c0 ff 24 c5 b0 c6 39 a0 0f 0b eb fe 48 8b 83 d8 00 00 00\n[176289.431815] RIP  [\u003cffffffffa0395617\u003e] transport_processing_thread+0x1e3/0x794 [target_core_mod]\n[176289.431815]  RSP \u003cffff880023bfbe10\u003e\n[176289.431815] CR2: 0000000000000090\n[176295.041004] ---[ end trace 85dc6865b23b8f3e ]---\n\nReported-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nCc: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ce8762f6cd1e0e6d87a6d0b536635993aef0a697",
      "tree": "e59be88ea03a2b315afffad194a23b3ff1c652bc",
      "parents": [
        "8dc52b54207f361f7abf6cbe26f5199ae8b7cf23"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Oct 09 02:19:01 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:59 2011 +0000"
      },
      "message": "target: Remove legacy + unused device active I/O shutdown code\n\nThis patch removes the legacy device active I/O shutdown code that was\noriginally called from transport_processing_thread() context during shutdown\nincluding transport_processing_shutdown() and transport_release_all_cmds().\n\nThis is due to the fact that in modern configfs control plane code by the\ntime shutdown of an se_device instance in transport_processing_thread()\nis allowed to occur via:\n\n\trmdir /sys/kernel/config/target/core/$HBA/$DEV\n\nall active I/O will already have been ceased while removing active configfs\nfabric Port/LUN symlinks.  Eg: the removal of an active se_device is protected\nby inter-module VFS references from active Port/LUN symlinks.\n\nTwo WARN_ON() checks have been added in their place before exiting\ntransport_processing_thread() to watch out for any leaked descriptors.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8dc52b54207f361f7abf6cbe26f5199ae8b7cf23",
      "tree": "71b328bf052940a44af314b1524a2a7a3765337e",
      "parents": [
        "d270190a75e5b859c6d8eed8d4095fbb45f78264"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Oct 09 02:02:51 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:58 2011 +0000"
      },
      "message": "target: Merge transport_cmd_finish_abort_tmr into transport_cmd_finish_abort\n\nThis patch merges transport_cmd_finish_abort_tmr() logic into a single\ntransport_cmd_finish_abort() function by adding a cmd-\u003ese_tmr_req check\naround transport_lun_remove_cmd(), and updates the single caller within\ncore_tmr_drain_tmr_list().\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": "d270190a75e5b859c6d8eed8d4095fbb45f78264",
      "tree": "61f3a7a031433a7a31d5d38f7662f445d3441fa3",
      "parents": [
        "d14921d6ad192868184686b3af5bb99cf3380510"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Oct 09 01:48:14 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:56 2011 +0000"
      },
      "message": "iscsi-target: Remove SCF_SE_LUN_CMD flag abuses\n\nThis patch removes a number of SCF_SE_LUN_CMD flag abuses within iscsi-target\ncode to determine when iscsit_release_cmd() or transport_generic_free_cmd()\nshould be called while releasing an individual iscsi_cmd descriptor.\n\nIn the place of SCF_SE_LUN_CMD checks, this patch converts existing code to\nuse a new iscsit_free_cmd() that inspects iscsi_cmd-\u003eiscsi_opcode types to\ndetermine which of the above functions should be invoked.  It also removes the\nnow unnecessary special case checking in iscsit_release_commands_from_conn().\n\n(hch: Use iscsit_free_cmd instead of open-coded alternative)\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": "d14921d6ad192868184686b3af5bb99cf3380510",
      "tree": "a6ffc3a5a695d6dc50ca1885cf41f2c372607fca",
      "parents": [
        "dd503a5fcc0dfb8b5fd887bd967b6f431176864b"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Oct 09 01:00:58 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:54 2011 +0000"
      },
      "message": "target: Convert -\u003etransport_wait_for_tasks usage to transport_generic_free_cmd\n\nThis patch converts se_cmd-\u003etransport_wait_for_tasks(se_cmd, 1) usage to use\ntransport_generic_free_cmd() directly in target-core and iscsi-target fabric\nusage.  The includes:\n\n*) Removal of the optional transport_generic_free_cmd() call from within\n   transport_generic_wait_for_tasks()\n*) Usage of existing SCF_SUPPORTED_SAM_OPCODE to determine when\n   transport_generic_wait_for_tasks() processing may occur instead of\n   checking se_cmd-\u003etransport_wait_for_tasks()\n*) Move transport_generic_wait_for_tasks() call ahead of core_dec_lacl_count()\n   and transport_lun_remove_cmd() in transport_generic_free_cmd() to follow\n   existing logic for iscsi-target w/ se_cmd-\u003etransport_wait_for_tasks(se_cmd, 1)\n*) Removal of se_cmd-\u003etransport_wait_for_tasks() function pointer\n*) Rename transport_generic_wait_for_tasks() -\u003e transport_wait_for_tasks(), and\n   add docbook comment.\n*) Add EXPORT_SYMBOL for transport_wait_for_tasks()\n\nFor the case in iscsi_target_erl2.c:iscsit_prepare_cmds_for_realligance()\nwhere se_cmd-\u003etransport_wait_for_tasks(se_cmd, 0) is called, this patch\nadds a direct call to transport_wait_for_tasks().\n\n(hch: Fix transport_generic_free_cmd() usage in iscsit_release_commands_from_conn)\n(nab: Add patch: Ensure that TMRs hit wait_for_tasks logic during release)\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": "dd503a5fcc0dfb8b5fd887bd967b6f431176864b",
      "tree": "59d5bd7db7d4040ea91def8676cca5334f9926a6",
      "parents": [
        "942d82646e16725ac366d44087b8c992f2cb2190"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:56:16 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:53 2011 +0000"
      },
      "message": "target: Have core_tmr_alloc_req() take an explicit GFP_xxx flag\n\nTesting in_interrupt() to know when sleeping is allowed is not really\nreliable (since eg it won\u0027t be true if the caller is holding a spinlock).\nInstead have the caller tell core_tmr_alloc_req() what GFP_xxx to use;\nevery caller except tcm_qla2xxx can use GFP_KERNEL.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "942d82646e16725ac366d44087b8c992f2cb2190",
      "tree": "983f09609d6369d731487940bba21b6682dde27f",
      "parents": [
        "635a2b3f3e561278cb5b837ea305e50e3fa7f063"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Sun Oct 02 01:59:13 2011 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:51 2011 +0000"
      },
      "message": "target: Make pscsi_create_virtdevice use ERR_CAST\n\nThis patch changes pscsi_create_virtdevice() to properly return ERR_CAST\ninstead of a raw pointer upon scsi_host_lookup() failure.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "635a2b3f3e561278cb5b837ea305e50e3fa7f063",
      "tree": "5247707ab19c1f766b9fadb12adf06587fbcd8aa",
      "parents": [
        "f2b56afd406b455fba339a35f43bfc4ada198073"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Fri Sep 30 14:45:40 2011 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:49 2011 +0000"
      },
      "message": "tcm_fc: remove custom hex_to_bin in ft_parse_wwn\n\nThis patch converts ft_parse_wwn() to use hex_to_bin() instead of custom\nconversion code.\n\n(Andy: Re-add missing strict \u0026\u0026 isupper(c) check)\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: \"Nicholas A. Bellinger\" \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f2b56afd406b455fba339a35f43bfc4ada198073",
      "tree": "f11190e11015c65d75b24ffbd8dee08db2e409e5",
      "parents": [
        "a3eedc227bfa7c9e21ef3cebe164d06a4c507a71"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Fri Sep 30 14:39:54 2011 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:48 2011 +0000"
      },
      "message": "iscsi-target: use native hex2bin for chap_string_to_hex\n\nThis patch converts chap_string_to_hex() to use hex2bin() instead of\nthe internal chap_asciihex_to_binaryhex().\n\n(nab: Fix up minor compile breakage + typo)\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: \"Nicholas A. Bellinger\" \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a3eedc227bfa7c9e21ef3cebe164d06a4c507a71",
      "tree": "276a9003777f55abd8633a23c9e4151509c8d0f4",
      "parents": [
        "02b1a7463420e1cebe86c6755c44d3bd9489829e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Sep 25 14:56:43 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:46 2011 +0000"
      },
      "message": "target: remove unused se_subsystem_api methods\n\nThe cdb_none, map_data_SG and map_control_SG methods have no callers left\nand can be removed now.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "02b1a7463420e1cebe86c6755c44d3bd9489829e",
      "tree": "59ec8003f5c8a7937c0b9faee84c926793814ba8",
      "parents": [
        "dbbf3e94c2b26988d3c41af63e50189e9133eb28"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Sep 25 14:56:32 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:44 2011 +0000"
      },
      "message": "target: cleanup pscsi request submission\n\nMove the entirely request allocation, mapping and submission into -\u003edo_task.\nThis\n\n a) avoids blocking the I/O submission thread unessecarily, and\n b) simplifies the code greatly\n\nNote that the code seems to have various error handling issues, mostly\nrelated to bidi handling in the current form.  I\u0027ve added comments about\nthose but not tried to fix them in this commit.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "dbbf3e94c2b26988d3c41af63e50189e9133eb28",
      "tree": "4cb6f91946d2229c7eb521fa460bc0c2407107a5",
      "parents": [
        "b6b4e61ff4e26d6721b2607ea23402825a38c402"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Sep 25 14:56:24 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:43 2011 +0000"
      },
      "message": "target: cleanup iblock bio submission\n\nMove the entirely bio allocation, mapping and submission into -\u003edo_task.\nThis\n\n a) avoids blocking the I/O submission thread unessecarily, and\n b) simplifies the code greatly\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b6b4e61ff4e26d6721b2607ea23402825a38c402",
      "tree": "4bff0e5f62a908ae864e71df59b8c0bd205712fa",
      "parents": [
        "39c05f321a4b27f3036392eed68bd94ce2267155"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Sep 19 11:11:21 2011 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:41 2011 +0000"
      },
      "message": "target: simplify target_parse_naa_6h_vendor_specific()\n\nThis patch adds a minor simplfication in target_parse_naa_6h_vendor_specific()\nto remove direct isxdigit() + ctype.h usage.\n\n(nab: Fix next assignment breakage in for loop)\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "39c05f321a4b27f3036392eed68bd94ce2267155",
      "tree": "28f5db67b1ac89444428cc03d043481b51fbac71",
      "parents": [
        "82f1c8a4e7739eae9f1c32c2c419efdc19b8af41"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Oct 08 13:59:52 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:39 2011 +0000"
      },
      "message": "target: Remove session_reinstatement parameter from -\u003etransport_wait_for_tasks\n\nThis patch removes the unnecessary session_reinstatement parameter from\nse_cmd-\u003etransport_wait_for_tasks(), logic in transport_generic_wait_for_tasks,\nand usage within iscsi-target code.\n\nThis also includes the removal of the \u0027bool\u0027 return from transport_put_cmd() +\ntransport_generic_free_cmd() that is no longer necessary.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "82f1c8a4e7739eae9f1c32c2c419efdc19b8af41",
      "tree": "e4b9141c59cbc1402b96fb34003205fe90d362df",
      "parents": [
        "e6a2573f1f5d66f0456c433afdfc63f33fdf9008"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Sep 13 23:09:01 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:38 2011 +0000"
      },
      "message": "target: push session reinstatement out of transport_generic_free_cmd\n\nPush session reinstatement out of transport_generic_free_cmd into the only\ncaller that actually needs it.  Clean up transport_generic_free_cmd a bit,\nand remove the useless comment.  I\u0027d love to add a more useful kerneldoc\ncomment for it, but as this point I\u0027m still a bit confused in where it\nstands in the command release stack.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e6a2573f1f5d66f0456c433afdfc63f33fdf9008",
      "tree": "90b36ed3403ab420521134e86f050e339d270b7b",
      "parents": [
        "4911e3ccbec047ed1f728e19a70ad87729a3fb01"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Sep 13 23:08:50 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:36 2011 +0000"
      },
      "message": "target: remove transport_generic_remove\n\nAll callers that never have the session_reinstatement flag set can trivially\nbe converted to transport_put_cmd.  Opencode the session reinstatement code\nin transport_generic_free_cmd, which was the only caller ever asking for it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4911e3ccbec047ed1f728e19a70ad87729a3fb01",
      "tree": "710a5799da6c38843560b412b7918b7d3c63bf29",
      "parents": [
        "d3df7825aed2e69e12732f9e32ef9093b01302d8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Sep 13 23:08:42 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:34 2011 +0000"
      },
      "message": "target: simplify transport_put_cmd\n\nInline two simple functions only used by it, and replace a goto\nwith a simple if else construct.\n\nNote that the code moved from transport_dec_and_check seems fairly\nbuggy - the atomic_read check on a variable where we\u0027d do an\natomic_dec_and_test looks racy if we\u0027ll ever get someone increment\nit without the lock held around them (which it looks like we do),\nand not decrementing the second counter if the first one doesn\u0027t\nhit zero also at least needs an explanation.\n\n(nab: Fix transport_put_cmd breakage)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d3df7825aed2e69e12732f9e32ef9093b01302d8",
      "tree": "582bb19c5eb961945beeae347000c6c4a8d7b896",
      "parents": [
        "2dbc43d256c5371ebc294e3534620663eb80a5ce"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Sep 13 23:08:32 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:33 2011 +0000"
      },
      "message": "target: simplify transport_generic_remove\n\nInstead of duplicating the code from transport_release_fe_cmd re-use it by\nallowing transport_release_fe_cmd to return wether it actually freed the\ncommand or not.  Also rename transport_release_fe_cmd to transport_put_cmd\nand add a kerneldoc comment for it to make the use case more obvious.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2dbc43d256c5371ebc294e3534620663eb80a5ce",
      "tree": "f23de858027389d0eaa85a17b35748139d8275b2",
      "parents": [
        "31afc39c0c93edec5a117371f1bd2a264cceafac"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Sep 13 23:08:19 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:31 2011 +0000"
      },
      "message": "target: remove transport_free_se_cmd\n\nIt is only called by transport_release_cmd, so inline it there.  Also add\na kerneldoc comment for transport_release_cmd while we are at it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    }
  ],
  "next": "31afc39c0c93edec5a117371f1bd2a264cceafac"
}
