)]}'
{
  "log": [
    {
      "commit": "40b054970afcf067896d62cd6f7e617c62665304",
      "tree": "5596f2b4fa1c1f41f599caf21bd5d10681ab152b",
      "parents": [
        "2ff017f5b4299e24a7f22d9a336dd162bf52bb54"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Sep 16 16:55:47 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Sep 16 23:47:07 2011 +0000"
      },
      "message": "iscsi-target: Fix sendpage breakage with proper padding+DataDigest iovec offsets\n\nThis patch fixes a bug in the iscsit_fe_sendpage_sg() transmit codepath that\nwas originally introduced with the v3.1 iscsi-target merge that incorrectly\nuses hardcoded cmd-\u003eiov_data_count values to determine cmd-\u003eiov_data[] offsets\nfor extra outgoing padding and DataDigest payload vectors.\n\nThis code is obviously incorrect for the DataDigest enabled case with sendpage\noffload, and this fix ensures correct operation for padding + DataDigest,\npadding only, and DataDigest only cases.  The bug was introduced during a\npre-merge change in iscsit_fe_sendpage_sg() to natively use struct scatterlist\ninstead of the legacy v3.0 struct se_mem logic.\n\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2ff017f5b4299e24a7f22d9a336dd162bf52bb54",
      "tree": "71b896a42d7576dd751abf65adbf85f4a7726641",
      "parents": [
        "784eb99ebad91db4c8c231c4b17f203147ab827b"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Sep 16 01:44:54 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Sep 16 19:37:18 2011 +0000"
      },
      "message": "iscsi-target: Disable markers + remove dangerous local scope array usage\n\nThis patch makes iscsi-target explictly disable OFMarker\u003dYes and IFMarker\u003dyes\nparameter key usage during iscsi login by setting IFMarkInt_Reject and\nOFMarkInt_Reject values in iscsi_enforce_integrity_rules() to effectively\ndisable iscsi marker usage.  With this patch, an initiator proposer asking\nto enable either marker parameter keys will be issued a \u0027No\u0027 response, and\nthe target sets OFMarkInt + IFMarkInt parameter key response to \u0027Irrelevant\u0027.\n\nWith markers disabled during iscsi login, this patch removes the problematic\non-stack local-scope array for marker intervals in iscsit_do_rx_data() +\niscsit_do_tx_data(), and other related marker code in iscsi_target_util.c.\nThis fixes a potentional stack smashing scenario with small range markers\nenabled and a large MRDSL as reported by DanC here:\n\n[bug report] target: stack can be smashed\nhttp://www.spinics.net/lists/target-devel/msg00453.html\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "784eb99ebad91db4c8c231c4b17f203147ab827b",
      "tree": "49c3e78a7a0f8cc056fe1705b37bae4343fd4915",
      "parents": [
        "58fc73d10f3e92bfcd1e9a8391eb3e49b68df8e5"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Sep 16 01:31:28 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Sep 16 19:36:56 2011 +0000"
      },
      "message": "target: Skip non hex characters for VPD\u003d0x83 NAA IEEE Registered Extended\n\nThis patch adds target_parse_naa_6h_vendor_specific() to address a bug where the\nconversion of PRODUCT SERIAL NUMBER to use hex2bin() in target_emulate_evpd_83()\nwas not doing proper isxdigit() checking.  This conversion of the vpd_unit_serial\nconfigifs attribute is done while generating a VPD\u003d0x83 NAA IEEE Registered\nExtended DESIGNATOR format\u0027s 100 bits of unique VENDOR SPECIFIC IDENTIFIER +\nVENDOR SPECIFIC IDENTIFIER EXTENSION area.\n\nThis patch allows vpd_unit_serial (VPD\u003d0x80) and the T10 Vendor ID DESIGNATOR\nformat (VPD\u003d0x83) to continue to use free-form variable length ASCII values,\nand now skips any non hex characters for fixed length NAA IEEE Registered Extended\nDESIGNATOR format (VPD\u003d0x83) requring the binary conversion.\n\nThis was originally reported by Martin after the v3.1-rc1 change to use hex2bin()\nin commit 11650b859681e03fdbf26277fcfc5f1f62186703 where the use of non hex\ncharacters in vpd_unit_serial generated different values than the original\nv3.0 internal hex -\u003e binary code.  This v3.1 change caused a problem with\nfilesystems who write a NAA DESIGNATOR onto it\u0027s ondisk metadata, and this patch\nwill (again) change existing values to ensure that non hex characters are not\nincluded in the fixed length NAA DESIGNATOR.\n\nNote this patch still expects vpd_unit_serial to be set via existing userspace\nmethods of uuid generation, and does not do strict formatting via configfs input.\n\nThe original bug report and thread can be found here:\n\nNAA breakage\nhttp://www.spinics.net/lists/target-devel/msg00477.html\n\nThe v3.1-rc1 formatting of VPD\u003d0x83 w/o this patch:\n\nVPD INQUIRY: Device Identification page\n  Designation descriptor number 1, descriptor length: 20\n    designator_type: NAA,  code_set: Binary\n    associated with the addressed logical unit\n      NAA 6, IEEE Company_id: 0x1405\n      Vendor Specific Identifier: 0xffde35ebf\n      Vendor Specific Identifier Extension: 0x3092f498ffa820f9\n      [0x6001405ffde35ebf3092f498ffa820f9]\n  Designation descriptor number 2, descriptor length: 56\n    designator_type: T10 vendor identification,  code_set: ASCII\n    associated with the addressed logical unit\n      vendor id: LIO-ORG\n      vendor specific: IBLOCK:ffde35ec-3092-4980-a820-917636ca54f1\n\nThe v3.1-final formatting of VPD\u003d0x83 w/ this patch:\n\nVPD INQUIRY: Device Identification page\n  Designation descriptor number 1, descriptor length: 20\n    designator_type: NAA,  code_set: Binary\n    associated with the addressed logical unit\n      NAA 6, IEEE Company_id: 0x1405\n      Vendor Specific Identifier: 0xffde35ec3\n      Vendor Specific Identifier Extension: 0x924980a82091763\n      [0x6001405ffde35ec30924980a82091763]\n  Designation descriptor number 2, descriptor length: 56\n    designator_type: T10 vendor identification,  code_set: ASCII\n    associated with the addressed logical unit\n      vendor id: LIO-ORG\n      vendor specific: IBLOCK:ffde35ec-3092-4980-a820-917636ca54f1\n\n(v2: Fix parsing code to dereference + check for string terminator instead\n     of null pointer to ensure a zeroed payload for vpd_unit_serial less\n     than 100 bits of NAA DESIGNATOR VENDOR SPECIFIC area.  Also, remove\n     the unnecessary bitwise assignment)\n\nReported-by: Martin Svec \u003cmartin.svec@zoner.cz\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "58fc73d10f3e92bfcd1e9a8391eb3e49b68df8e5",
      "tree": "0be84c4241f9080cfa01a369675e883114ed37cf",
      "parents": [
        "079587b4eb4d3b78a4d65d142f662aa9d7eedab4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 26 09:25:38 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Sep 16 09:50:09 2011 +0000"
      },
      "message": "tcm_fc: Work queue based approach instead of managing own thread and event based mechanism\n\nProblem: Changed from wake_up_interruptible -\u003e wake_up_process and\nwait_event_interruptible-\u003e schedule_timeout_interruptible broke the FCoE\ntarget.  Earlier approach of wake_up_interruptible was also looking at\n\u0027queue_cnt\u0027 which is not necessary, because it increment of \u0027queue_cnt\u0027\nwith wake_up_inetrriptible / waker_up_process introduces race condition.\n\nFix: Instead of fixing the code which used wake_up_process and remove\n\u0027queue_cnt\u0027, using work_queue based approach is cleaner and acheives\nsame result. As well, work queue based approach has less programming\noverhead and OS manages threads which processes work queues.\n\nThis patch is developed by Christoph Hellwig and reviwed+validated by\nKiran Patil.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "079587b4eb4d3b78a4d65d142f662aa9d7eedab4",
      "tree": "1316ea524dac4cfd2979f040b3908699c02df840",
      "parents": [
        "bcac364a24c894c4cf8cf219b7863c192cd34079"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Fri Aug 26 09:25:25 2011 -0700"
      },
      "committer": {
        "name": "Nicholas A. Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Sep 16 09:29:27 2011 +0000"
      },
      "message": "tcm_fc: Invalidation of DDP context for FCoE target in error conditions\n\nProblem: HW DDP context wasn;t invalidated in case of ABORTS, etc...\nThis leads to the problem where memory pages which are used for DDP\nas user descriptor could get reused for some other purpose (such as to\nsatisfy new memory allocation request either by kernel or user mode threads)\nand since HW DDP context was not invalidated, HW continue to write to\nthose pages, hence causing memory corruption.\n\nFix: Either on incoming ABORTS or due to exchange time out, allowed the\ntarget to cleanup HW DDP context if it was setup for respective ft_cmd.\nAdded new function to perform this cleanup, furthur it can be enhanced\nfor other cleanup activity.\n\nAdditinal Notes: To avoid calling ddp_done from multiple places, composed\nthe functionality in helper function \"ft_invl_hw_context\" and it is being\ncalled from multiple places. Cleaned up code in function \"ft_recv_write_data\"\nw.r.t DDP.\n\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "bcac364a24c894c4cf8cf219b7863c192cd34079",
      "tree": "121757157452bf6e546c53c0efd2a3d463f4aa2e",
      "parents": [
        "a7f934d4f16144cb9521b62e9b8c9ac0118097da"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sat Aug 27 21:33:16 2011 -0700"
      },
      "committer": {
        "name": "Nicholas A. Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Sep 16 09:29:20 2011 +0000"
      },
      "message": "target: Fix race between multiple invocations of target_qf_do_work()\n\nWhen work is scheduled with schedule_work(), the work can end up\nrunning on multiple CPUs at the same time -- this happens if\nthe work is already running on one CPU and schedule_work() is called\non another CPU.  This leads to list corruption with target_qf_do_work(),\nwhich is roughly doing:\n\n\tspin_lock(...);\n\tlist_for_each_entry_safe(...) {\n\t\tlist_del(...);\n\t\tspin_unlock(...);\n\n\t\t// do stuff\n\n\t\tspin_lock(...);\n\t}\n\nWith multiple CPUs running this code, one CPU can end up deleting the\nlist entry that the other CPU is about to work on.\n\nFix this by splicing the list entries onto a local list and then\noperating on that in the work function.  This way, each invocation of\ntarget_qf_do_work() operates on its own local list and so multiple\ninvocations don\u0027t corrupt each other\u0027s list.  This also avoids dropping\nand reacquiring the lock for each list entry.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "28638887f351d11867562322b7abaa014dd5528a",
      "tree": "6540c800b66ef3045e942125e57b756053fc84b5",
      "parents": [
        "e63a8e1933a2218cf801e46dd01bd8cca4a555ec"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Aug 16 09:40:01 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:28:36 2011 +0000"
      },
      "message": "target: Convert acl_node_lock to be IRQ-disabling\n\nWith qla2xxx, acl_node_lock is taken inside qla2xxx\u0027s hardware_lock,\nwhich is taken in hardirq context.  This means acl_node_lock must become\nan IRQ-disabling lock; in particular this fixes lockdep warnings along\nthe lines of\n\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    [ INFO: HARDIRQ-safe -\u003e HARDIRQ-unsafe lock order detected ]\n\n     (\u0026(\u0026se_tpg-\u003eacl_node_lock)-\u003erlock){+.....}, at: [\u003cffffffffa026f872\u003e] transport_deregister_session+0x92/0x140 [target_core_mod]\n\n    and this task is already holding:\n     (\u0026(\u0026ha-\u003ehardware_lock)-\u003erlock){-.-...}, at: [\u003cffffffffa017c5e7\u003e] qla_tgt_stop_phase1+0x57/0x2c0 [qla2xxx]\n    which would create a new lock dependency:\n     (\u0026(\u0026ha-\u003ehardware_lock)-\u003erlock){-.-...} -\u003e (\u0026(\u0026se_tpg-\u003eacl_node_lock)-\u003erlock){+.....}\n\n    but this new dependency connects a HARDIRQ-irq-safe lock:\n     (\u0026(\u0026ha-\u003ehardware_lock)-\u003erlock){-.-...}\n\n    to a HARDIRQ-irq-unsafe lock:\n     (\u0026(\u0026se_tpg-\u003eacl_node_lock)-\u003erlock){+.....}\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e63a8e1933a2218cf801e46dd01bd8cca4a555ec",
      "tree": "10c1affafe6dfc5db25006953477e836b658d1ab",
      "parents": [
        "4e0f05297ff615a9a4e269da301ff77f660a3ab0"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Aug 12 16:01:02 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:33 2011 +0000"
      },
      "message": "target: Make locking in transport_deregister_session() IRQ safe\n\nAt least the tcm_qla2xxx fabric driver calls into transport_deregister_session()\nwhile holding an IRQ-disabled spinlock, so the inner locking needs to\nuse spin_lock_irqsave() instead of spin_lock_bh().\n\nThis fixes warnings seen with tcm_qla2xxx like:\n\n    WARNING: at kernel/softirq.c:159 local_bh_enable_ip+0x98/0xb0()\n    Call Trace:\n     [\u003cffffffff8104e65f\u003e] warn_slowpath_common+0x7f/0xc0\n     [\u003cffffffff8104e6ba\u003e] warn_slowpath_null+0x1a/0x20\n     [\u003cffffffff81055368\u003e] local_bh_enable_ip+0x98/0xb0\n     [\u003cffffffff814d5284\u003e] _raw_spin_unlock_bh+0x14/0x20\n     [\u003cffffffffa027b7f6\u003e] transport_deregister_session+0x96/0x180 [target_core_mod]\n     [\u003cffffffffa00f7731\u003e] tcm_qla2xxx_free_session+0xd1/0x170 [tcm_qla2xxx]\n     [\u003cffffffffa01b9173\u003e] qla_tgt_sess_put+0xc3/0x140 [qla2xxx]\n     [\u003cffffffffa01bf40f\u003e] qla_tgt_stop_phase1+0x8f/0x2c0 [qla2xxx]\n     [\u003cffffffffa00f735e\u003e] tcm_qla2xxx_tpg_store_enable+0x6e/0xd0 [tcm_qla2xxx]\n     [\u003cffffffffa026ca29\u003e] target_fabric_tpg_attr_store+0x39/0x40 [target_core_mod]\n     [\u003cffffffffa00a575d\u003e] configfs_write_file+0xbd/0x120 [configfs]\n     [\u003cffffffff811464a6\u003e] vfs_write+0xc6/0x180\n     [\u003cffffffff811467c1\u003e] sys_write+0x51/0x90\n     [\u003cffffffff814dd382\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4e0f05297ff615a9a4e269da301ff77f660a3ab0",
      "tree": "d0cc6e5419248685907afe0a693e25de1fdd7f98",
      "parents": [
        "f15ea5780d08e4c96930c0d607d05e480ec588c8"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Aug 12 10:16:52 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:32 2011 +0000"
      },
      "message": "tcm_fc: init/exit functions should not be protected by \"#ifdef MODULE\"\n\nThere\u0027s no need for the #ifdef protection when building into the kernel,\nand in fact we need the module_init() for the initialization function to\nbe called.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f15ea5780d08e4c96930c0d607d05e480ec588c8",
      "tree": "46dde386b4eaebaa626b692c95cb0be6c5948d7e",
      "parents": [
        "ba7736696341ad4253125055c0c85aa9f42959a0"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Aug 12 10:01:24 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:31 2011 +0000"
      },
      "message": "target: Print subpage too for unhandled MODE SENSE pages\n\nMake a log message more useful by printing both the page and subpage\nthat an initiator is requesting.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ba7736696341ad4253125055c0c85aa9f42959a0",
      "tree": "7433fc8fa41e8dd54c56d4eea4a031c0f7d9f780",
      "parents": [
        "6626a0572657a0945a7b9ccf4a6d6ad1750f9adc"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Aug 13 22:35:00 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:30 2011 +0000"
      },
      "message": "iscsi-target: Fix iscsit_allocate_se_cmd_for_tmr failure path bugs\n\nThis patch fixes two bugs in allocation failure handling in\niscsit_allocate_se_cmd_for_tmr():\n\nThis first reported by DanC is a free-after call to transport_free_se_cmd(), this\npatch drops the transport_free_se_cmd() call all together, as iscsit_release_cmd()\nwill release existing allocations as expected.\n\nThe second is a bug where iscsi_cmd_t was being leaked on a cmd-\u003etmr_req allocation\nfailure, so make this jump to iscsit_release_cmd() as well.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6626a0572657a0945a7b9ccf4a6d6ad1750f9adc",
      "tree": "65db4e143b121c6dbb101f1a076b943bb91a4a8f",
      "parents": [
        "c3c74c7a33d837be391ab61aaae39bb21f16736a"
      ],
      "author": {
        "name": "Chris Boot",
        "email": "bootc@bootc.net",
        "time": "Sat Aug 13 22:10:46 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:29 2011 +0000"
      },
      "message": "iscsi-target: Implement iSCSI target IPv6 address printing.\n\nThe iSCSI target configfs code to print out an initiator\u0027s IPv6 address\nis not fully implemented. This patch uses snprintf() with the \"%pI6c\"\nformat string to format the IPv6 address for display purposes.\n\nSigned-off-by: Chris Boot \u003cbootc@bootc.net\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c3c74c7a33d837be391ab61aaae39bb21f16736a",
      "tree": "376a28bf46562dbdb0aaa545a0c2c302717e9444",
      "parents": [
        "525a48a21da259d00d6ebc5b60563b5bcf022c26"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Aug 13 05:30:31 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:28 2011 +0000"
      },
      "message": "target: Fix task SGL chaining breakage with transport_allocate_data_tasks\n\nThis patch fixes two bugs associated with transport_do_task_sg_chain()\noperation where transport_allocate_data_tasks() was incorrectly setting\ntask_padded_sg for all tasks, and causing bogus task-\u003etask_sg_nents\nassignments + OOPsen with fabrics depending upon this code.  The first bit\nhere adds a task_sg_nents_padded check in transport_allocate_data_tasks()\nto include an extra SGL vector when necessary for tasks that expect to\nbe linked using sg_chain().\n\nThe second change involves making transport_do_task_sg_chain() properly\naccount for the extra SGL vector when task-\u003etask_padded_sg is set for\nthe non trailing -\u003etask_sg or single -\u003etask_sg allocations.  Note this\npatch also removes the BUG_ON(!task-\u003etask_padded_sg) check within\ntransport_do_task_sg_chain() as we expect this to happen normally\nwith the updated logic in transport_allocate_data_tasks(), along with\nbeing bogus for CONTROL_SG_IO_CDB type payloads.\n\nSo far this bugfix has been tested with tcm_qla2xxx and iblock backends\nin (task_count \u003e 1)( and (task_count \u003d\u003d 1) operation.\n\nReported-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "525a48a21da259d00d6ebc5b60563b5bcf022c26",
      "tree": "79843b0aacbef9b130eec8f5352fe92b6422ab18",
      "parents": [
        "01cde4d54327884a0b61ce8666092f5703557d4b"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Aug 13 02:11:38 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:27 2011 +0000"
      },
      "message": "target: Fix task count \u003e 1 handling breakage and use max_sector page alignment\n\nThis patch addresses recent breakage with multiple se_task (task_count \u003e 1)\noperation following backend dev-\u003ese_sub_dev-\u003ese_dev_attrib.max_sectors in new\ntransport_allocate_data_tasks() code.  The initial bug here was a bogus\ntask-\u003etask_sg_nents assignment in transport_allocate_data_tasks() based on\nthe passed parameter, which now uses DIV_ROUND_UP(task_size, PAGE_SIZE) to\ndetermine the proper number of per task SGL entries for the (task_count \u003e 1)\ncase.\n\nThis also means we now need to enforce a PAGE_SIZE aligned max_sector count\nvalue for this to work as expected without bringing back the pre v3.1\ntransport_map_mem_to_sg() logic to handle SGL offsets across multiple tasks.\nSo this patch adds se_dev_align_max_sectors() to round down max_sectors as\nnecessary to ensure this alignment via se_dev_set_default_attribs() and\nse_dev_align_max_sectors() and keeps it simple for (task_count \u003e 1)\noperation.\n\nSo far this bugfix has been tested with (task_count \u003e 1) operation\nusing iscsi-target and iblock backends.\n\nReported-by: Chris Boot \u003cbootc@bootc.net\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "01cde4d54327884a0b61ce8666092f5703557d4b",
      "tree": "ec692d6516775c8362cacd0788f4374c62e9d56f",
      "parents": [
        "7abbe7f3e4243e28a9169ee1b8d76f10a6f5d37c"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Aug 10 00:59:58 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:26 2011 +0000"
      },
      "message": "target: Add missing DATA_SG_IO transport_cmd_get_valid_sectors check\n\nThis patch adds the missing transport_cmd_get_valid_sectors() check for\nSCF_SCSI_DATA_SG_IO_CDB type payloads to ensure that a received LBA + range\ndoes not exeed past the end of associated backend struct se_device.\n\nThis patch also fixes a bug in the failure path of transport_new_cmd_obj()\nwhere this check can fail, so change to use a signed \u0027rc\u0027 and return \u0027-EINVAL\u0027\nto signal proper transport_generic_request_failure() handling.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7abbe7f3e4243e28a9169ee1b8d76f10a6f5d37c",
      "tree": "7edb86180f5b093cbef210562af8712d2d98d7fa",
      "parents": [
        "72f4ba1e32a1e5da31dcf14ea4b8985ae88a8bdb"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Aug 10 18:41:14 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:25 2011 +0000"
      },
      "message": "target: Fix SYNCHRONIZE_CACHE zero LBA + range breakage\n\nThis patch fixes a SYNCHRONIZE_CACHE CDB handling bug with IBLOCK/FILEIO\nbackends where transport_cmd_get_valid_sectors() was incorrectly rejecting\na zero LBA + range CDB from being processed, and returning CHECK_CONDITION.\n\nThis includes changing transport_cmd_get_valid_sectors() to return \u00270\u0027 on\nsuccess and \u0027-EINVAL\u0027 on failure (this makes more sense than sectors),\nand to only check transport_cmd_get_valid_sectors() when a non zero LBA +\nrange SYNCHRONIZE_CACHE operation has been receieved for the non passthrough\ncase.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "72f4ba1e32a1e5da31dcf14ea4b8985ae88a8bdb",
      "tree": "fdef968c60122a837d22282aef136cda1b6f84ed",
      "parents": [
        "12850626e2717f866a94e6ced724e3efe5a0aab8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Aug 09 22:53:02 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:23 2011 +0000"
      },
      "message": "target: Remove duplicate task completions in transport_emulate_control_cdb\n\nThis patch removes a duplicate set of transport_complete_task() calls in\ntarget_emulate_unmap() and target_emulate_write_same() as the completion\ncall is already done within transport_emulate_control_cdb()\n\nThis patch also adds a check in transport_emulate_control_cdb() for the\nexisting SCF_EMULATE_CDB_ASYNC flag currently used by SYNCHRONIZE_CACHE\nin order to handle IMMEDIATE processing.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "12850626e2717f866a94e6ced724e3efe5a0aab8",
      "tree": "9585f7c65f46167d5af355f49faaa49639683bf4",
      "parents": [
        "706d5860969b3b24d65d9a57bd3bb5e4a1419c08"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 08 19:08:23 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:22 2011 +0000"
      },
      "message": "target: Fix WRITE_SAME usage with transport_get_size\n\nFor all flavours of WRITE_SAME, we only expect to handle a single block\nof data-out buffer payload, regardless of the number of logical blocks\npresented in the CDB.  This patch changes all flavours of WRITE_SAME in\ntransport_generic_cmd_sequencer() to pass \u00271\u0027 into transport_get_size()\ninstead of the extracted \u0027sectors\u0027 to properly handle the default usage\nof sg_write_same without the --xferlen parameter.\n\nReported-by: Eric Seppanen \u003ceric@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "706d5860969b3b24d65d9a57bd3bb5e4a1419c08",
      "tree": "a6293f322a5327d3c317c09197b33d66e22d010e",
      "parents": [
        "16ab8e60a0ebc22cfbe61d84e620457a15f3a0bc"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jul 28 00:07:03 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:21 2011 +0000"
      },
      "message": "target: Add WRITE_SAME (10) parsing and refactor passthrough checks\n\nThis patch adds initial WRITE_SAME (10) w/ UNMAP\u003d1 support following updates in\nsbcr26 to allow UNMAP\u003d1 for the non 16 + 32 byte CDB case.  It also refactors\ncurrent pSCSI passthrough passthrough checks into target_check_write_same_discard()\nahead of UNMAP\u003d0 w/ write payload support into target_core_iblock.c.\n\nThis includes the support for handling WRITE_SAME in transport_emulate_control_cdb(),\nand converts target_emulate_write_same to accept num_blocks directly for\nWRITE_SAME, WRITE_SAME_16 and WRITE_SAME_32.\n\nReported-by: Eric Seppanen \u003ceric@purestorage.com\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "16ab8e60a0ebc22cfbe61d84e620457a15f3a0bc",
      "tree": "a6ccaf22e12140045f70678d6dd213154cd11087",
      "parents": [
        "387e96c05299ca7a0ade874f343f91f0b01086a0"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 08 19:03:38 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:20 2011 +0000"
      },
      "message": "target: Fix write payload exception handling with -\u003enew_cmd_map\n\nThis patch fixes a bug for fabrics using tfo-\u003enew_cmd_map() that\nare expect transport_generic_request_failure() to be calling\ntransport_send_check_condition_and_sense() for both READ and WRITE,\ninstead of only for READ exceptions.\n\nThis was originally observed with a failed WRITE_SAME_16 w/ unmap\u003d0\nusing tcm_loop.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "387e96c05299ca7a0ade874f343f91f0b01086a0",
      "tree": "308be01da85fb7bf9466d8a2968db173905485ec",
      "parents": [
        "c2337c709102b343bd917ae00c79b266fb15b871"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Aug 08 14:06:44 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:19 2011 +0000"
      },
      "message": "iscsi-target: forever loop bug in iscsit_attach_ooo_cmdsn()\n\nThis patch fixes a forever loop bug in iscsit_attach_ooo_cmdsn()\nwhile walking sess-\u003esess_ooo_cmdsn_list when the received\nCmdSN is less than the tail of the list.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c2337c709102b343bd917ae00c79b266fb15b871",
      "tree": "542f9e6f5d14e714e9dc8f0ae73292b8a8e643f0",
      "parents": [
        "6fc6148865c9a17cee33f251723f6a056f022ecd"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Aug 08 14:02:27 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:18 2011 +0000"
      },
      "message": "iscsi-target: remove duplicate return\n\nWe returned on the line before already.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6fc6148865c9a17cee33f251723f6a056f022ecd",
      "tree": "c8b486908f294cebd62ba14054253cea7013733d",
      "parents": [
        "9be08c5804ae4ad96ec22d0b1e71e630803a85ea"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Aug 02 12:35:02 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:17 2011 +0000"
      },
      "message": "target: Convert target_core_rd.c to use use BUG_ON\n\nUse BUG_ON(x) rather than if(x) BUG();\n\nThe semantic patch that fixes this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@ identifier x; @@\n-if (x) BUG();\n+BUG_ON(x);\n\n@@ identifier x; @@\n-if (!x) BUG();\n+BUG_ON(!x);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "9be08c5804ae4ad96ec22d0b1e71e630803a85ea",
      "tree": "c49610a94f3441db14a384ee2c8d533707781e9c",
      "parents": [
        "e1750ba20f0d850c38820190ccbf0f647723091a"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Tue Aug 02 10:26:36 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:16 2011 +0000"
      },
      "message": "iscsi-target: Fix leak on failure in iscsi_copy_param_list()\n\nWe leak memory if the allocations for \u0027new_param-\u003ename\u0027 or\n\u0027new_param-\u003evalue\u0027 fail in iscsi_target_parameters.c::iscsi_copy_param_list()\n\nWe also do a lot of variable assignments that are completely pointless\nif the allocations fail.\n\nSo, let\u0027s move the allocations before the assignments and also make\nsure that we free whatever was allocated to one if the allocation fail.\n\nThere\u0027s also some small CodingStyle fixups in there (curly braces on\nboth branches of if statement, only one variable per line) since I was\nin the area anyway. And finally, error messages in the function are\nput on a single line for easy grep\u0027abillity.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e1750ba20f0d850c38820190ccbf0f647723091a",
      "tree": "5026dff79f550661ed0dfb4a6e4bc0b649a29e7b",
      "parents": [
        "052605c6caa3e1edf8eee8fe5fe6d53f5721f39a"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Mon Aug 01 23:58:18 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:26:15 2011 +0000"
      },
      "message": "target: Use ERR_CAST inlined function\n\nUse ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))\n\nThe semantic patch that makes this output is available\nin scripts/coccinelle/api/err_cast.cocci.\n\nMore information about semantic patching is available at\nhttp://coccinelle.lip6.fr/\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "052605c6caa3e1edf8eee8fe5fe6d53f5721f39a",
      "tree": "87997618fff7f63a4c5bef8a6a093d522d424266",
      "parents": [
        "eb39d34004888afcc0a44d9c36383cd69fa3b3b9"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Jul 26 17:48:43 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:25:35 2011 +0000"
      },
      "message": "target: Make standard INQUIRY return \u0027not connected\u0027 for tpg_virt_lun0\n\nThis patch changes target_emulate_inquiry_std() to set the \u0027not connected\u0027\n(0x35) bit in standard INQUIRY response data when we are processing a\nrequest to a virtual LUN\u003d0 mapping from struct se_device *g_lun0_dev that\nhave been setup for us in transport_lookup_cmd_lun().\n\nThis addresses an issue where qla2xxx FC clients need to be able\nto create demo-mode I_T FC Nexuses by default, but should not be\nexposing the default set of TPG LUNs to all FC clients.  This includes\nadding an new optional target_core_fabric_ops-\u003etpg_check_demo_mode_login_only()\ncaller to allow demo_mode nexuses to skip the old default of bulding\na demo-mode MappedLUNs list via core_tpg_add_node_to_devs().\n\n(roland: Add missing tpg_check_demo_mode_login_only check in core_dev_add_lun)\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "eb39d34004888afcc0a44d9c36383cd69fa3b3b9",
      "tree": "ad00a2a971d35afc7005fc412d6bc46dcaa88f9a",
      "parents": [
        "93ee7a9340d64f20295aacc3fb6a22b759323280"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Jul 26 16:59:00 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Aug 17 00:50:02 2011 +0000"
      },
      "message": "target: Change TCM_NON_EXISTENT_LUN response to ASC\u003dLOGICAL UNIT NOT SUPPORTED\n\nThis patch changes transport_send_check_condition_and_sense() for\nTCM_NON_EXISTENT_LUN emulation to use 0x25 (LOGICAL UNIT NOT SUPPORTED)\ninstead of the original 0x20 (INVALID COMMAND OPERATION CODE).  This is\nhelpful to distinguish between TCM_UNSUPPORTED_SCSI_OPCODE ASC\u003d0x20\nexceptions.\n\nSigned-off-by: Nicholas A. Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "a9e4e6e14c322e08d1c615afc8f504fb415f9613",
      "tree": "7c842bbfdc322b5ff99644e8b1bc7b415669233e",
      "parents": [
        "27665ffa22b9b83bab226bf12c61424f7f1f8995",
        "dcd998ccdbf74a7d8fe0f0a44e85da1ed5975946"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:12:09 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:12:09 2011 -1000"
      },
      "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  tcm_fc: Handle DDP/SW fc_frame_payload_get failures in ft_recv_write_data\n  target: Fix bug for transport_generic_wait_for_tasks with direct operation\n  target: iscsi_target depends on NET\n  target: Fix WRITE_SAME_16 lba assignment breakage\n  MAINTAINERS: Add target-devel list for drivers/target/\n  iscsi-target: Fix CONFIG_SMP\u003dn and CONFIG_MODULES\u003dn build failure\n  iscsi-target: Fix snprintf usage with MAX_PORTAL_LEN\n  iscsi-target: Fix uninitialized usage of cmd-\u003epad_bytes\n  iscsi-target: strlen() doesn\u0027t count the terminator\n  iscsi-target: Fix NULL dereference on allocation failure\n"
    },
    {
      "commit": "dcd998ccdbf74a7d8fe0f0a44e85da1ed5975946",
      "tree": "1f8464657afdff8b1ca63c8f060b50ffb1bc73be",
      "parents": [
        "dd8ae59d48790d5c25f47ebbe502c8ca379fdde0"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Wed Aug 03 09:20:01 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Aug 03 09:38:21 2011 +0000"
      },
      "message": "tcm_fc: Handle DDP/SW fc_frame_payload_get failures in ft_recv_write_data\n\nProblem: HW DDP context was not invalidated in case of ABORTS, etc...\nThis leads to the problem where memory pages which are used for DDP\nas user descriptor could get reused for some other purpose (such as to\nsatisfy new memory allocation request either by kernel or user mode threads)\nand since HW DDP context was not invalidated, HW continue to write to\nthose pages, hence causing memory corruption.\n\nFix: Either on incoming ABORTS or due to exchange time out, allowed the\ntarget to cleanup HW DDP context if it was setup for respective ft_cmd.\nAdded new function to perform this cleanup, furthur it can be enhanced\nfor other cleanup activity.  Fix ft_recv_write_data() to properly handle\nfc_frame_payload_get to return pointer to payload if it exist. If there is\nno payload which is most common case (+ve case in case if DDP is working\nas expected, it will return NULL. Yes, scope of buf is limited to printk.\nInvalidation of HW context (which is done inside ft_invl_hw_context() is\nnecessary in SUCCESS and FAILURE case of DDP. Hence invalidation is DONE\nas long as there was DDP setup (whether it worked correctly or not,\n\nNOTE: For some reason, if there is any error w.r.t DDP such as out of\norder packet reception, HW simply post the full packet in rx queue.\n\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: Robert W Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "dd8ae59d48790d5c25f47ebbe502c8ca379fdde0",
      "tree": "16a7b7094108099836446f9e52f299045d559c4f",
      "parents": [
        "d52a10d003694e48d28cf0218db16372ed61f1bd"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Jul 30 05:03:58 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Jul 30 12:01:25 2011 +0000"
      },
      "message": "target: Fix bug for transport_generic_wait_for_tasks with direct operation\n\nThis patch fixes a bug in transport_handle_cdb_direct() usage with target_core\nwhere transport_generic_wait_for_tasks() was bypassing active I/O + usage of\ncmd-\u003et_transport_stop_comp because cmd-\u003et_transport_active\u003d1 was not being set\nbefore dispatching with transport_generic_new_cmd().  The fix follows existing\nusage in transport_generic_handle_cdb*() -\u003e transport_add_cmd_to_queue() and\nset these directly, as well as handle transport_generic_new_cmd() exceptions\nfor QUEUE_FULL and CHECK_CONDITION instead of propigating up to RX context\nfabric code.\n\nThe bug was manifesting itself with the following SLUB poison overwritten\nwarnings with iscsi-target v4.1 LUNs using the new process context direct\noperation during session reinstatement with active I/O exception handling:\n\n[885410.498267] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[885410.621622] BUG lio_cmd_cache: Poison overwritten\n[885410.621791] -----------------------------------------------------------------------------\n[885410.621792]\n[885410.623420] INFO: 0xffff880000cf3750-0xffff880000cf378d. First byte 0x6a instead of 0x6b\n[885410.626332] INFO: Allocated in iscsit_allocate_cmd+0x1c/0xd4 [iscsi_target_mod] age\u003d345 cpu\u003d1 pid\u003d22554\n[885411.855189] INFO: Freed in iscsit_release_cmd+0x208/0x217 [iscsi_target_mod] age\u003d1410 cpu\u003d1 pid\u003d22554\n[885411.856048] INFO: Slab 0xffffea000002d480 objects\u003d22 used\u003d0 fp\u003d0xffff880000cf7300 flags\u003d0x4080\n[885411.856368] INFO: Object 0xffff880000cf33c0 @offset\u003d13248 fp\u003d0xffff880000cf6780\n\n\u003cSNIP\u003e\n\n[885411.955678] Pid: 22554, comm: iscsi_trx Not tainted 3.0.0-rc7+ #30\n[885411.956040] Call Trace:\n[885411.957029]  [\u003cffffffff810e5cf9\u003e] print_trailer+0x12e/0x137\n[885412.752879]  [\u003cffffffff810e61d9\u003e] check_bytes_and_report+0xb9/0xfd\n[885412.754933]  [\u003cffffffff810e62d2\u003e] check_object+0xb5/0x192\n[885412.755099]  [\u003cffffffff810e6445\u003e] __free_slab+0x96/0x13a\n[885412.757008]  [\u003cffffffff810e652a\u003e] discard_slab+0x41/0x43\n[885412.758171]  [\u003cffffffff810e7a4c\u003e] __slab_free+0xf3/0xfe\n[885412.761027]  [\u003cffffffffa030a536\u003e] ? iscsit_release_cmd+0x208/0x217 [iscsi_target_mod]\n[885412.761354]  [\u003cffffffff810e7e95\u003e] kmem_cache_free+0x6f/0xac\n[885412.761536]  [\u003cffffffffa030a536\u003e] iscsit_release_cmd+0x208/0x217 [iscsi_target_mod]\n[885412.762056]  [\u003cffffffffa020e467\u003e] ? iblock_free_task+0x34/0x39 [target_core_iblock]\n[885412.762368]  [\u003cffffffffa0314131\u003e] lio_release_cmd+0x10/0x12 [iscsi_target_mod]\n[885412.764129]  [\u003cffffffffa02c2254\u003e] transport_release_cmd+0x2f/0x33 [target_core_mod]\n[885412.805024]  [\u003cffffffffa02c230e\u003e] transport_generic_remove+0xb6/0xc3 [target_core_mod]\n[885412.806424]  [\u003cffffffff81035b5f\u003e] ? try_to_wake_up+0x1bd/0x1bd\n[885412.809033]  [\u003cffffffffa02c241f\u003e] transport_generic_free_cmd+0x75/0x7d [target_core_mod]\n[885412.810066]  [\u003cffffffffa02c2643\u003e] transport_generic_wait_for_tasks+0x21c/0x22b [target_core_mod]\n[885412.811056]  [\u003cffffffff8139f0b1\u003e] ? mutex_lock+0x11/0x32\n[885412.813059]  [\u003cffffffff8139f0b1\u003e] ? mutex_lock+0x11/0x32\n[885412.813200]  [\u003cffffffffa030b81d\u003e] iscsit_close_connection+0x1d5/0x63a [iscsi_target_mod]\n[885412.813517]  [\u003cffffffffa0300a82\u003e] iscsit_take_action_for_connection_exit+0xdb/0xe0 [iscsi_target_mod]\n[885412.813851]  [\u003cffffffffa03111e9\u003e] iscsi_target_rx_thread+0x11f6/0x1221 [iscsi_target_mod]\n[885412.829024]  [\u003cffffffff81033e8d\u003e] ? pick_next_task_fair+0xbe/0x10e\n[885412.831010]  [\u003cffffffffa030fff3\u003e] ? iscsit_handle_scsi_cmd+0x91d/0x91d [iscsi_target_mod]\n[885412.833011]  [\u003cffffffffa030fff3\u003e] ? iscsit_handle_scsi_cmd+0x91d/0x91d [iscsi_target_mod]\n[885412.835010]  [\u003cffffffff8105388a\u003e] kthread+0x7d/0x85\n[885412.837022]  [\u003cffffffff813a7124\u003e] kernel_thread_helper+0x4/0x10\n[885412.838008]  [\u003cffffffff8105380d\u003e] ? kthread_worker_fn+0x145/0x145\n[885412.840047]  [\u003cffffffff813a7120\u003e] ? gs_change+0x13/0x13\n[885412.842007] FIX lio_cmd_cache: Restoring 0xffff880000cf3750-0xffff880000cf378d\u003d0x6\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d52a10d003694e48d28cf0218db16372ed61f1bd",
      "tree": "b7b66ae33a6c961a6d63ad94be48c2c7b16fa08d",
      "parents": [
        "5db0753ba5aabcd9fa298029f03b32b3c96b5a39"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Thu Jul 28 09:48:19 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jul 28 20:16:18 2011 +0000"
      },
      "message": "target: iscsi_target depends on NET\n\niscsi target code uses lots on network interface functions, so it\nshould depend on NET.  Fixes many build errors when NET is not enabled:\n\nERROR: \"kernel_sendmsg\" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!\nERROR: \"in_aton\" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!\nERROR: \"sock_release\" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!\nERROR: \"kernel_listen\" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!\nERROR: \"kernel_setsockopt\" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!\nERROR: \"kernel_recvmsg\" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!\nERROR: \"kernel_accept\" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!\nERROR: \"sock_create\" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!\nERROR: \"kernel_bind\" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!\nERROR: \"in6_pton\" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5db0753ba5aabcd9fa298029f03b32b3c96b5a39",
      "tree": "d7c9fbc3c2e4c7737d0f9df91cd90d768ec2200f",
      "parents": [
        "b9f5edc25036779bbff1272f8f94860d2d7a483b"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jul 27 22:18:52 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jul 28 06:14:49 2011 +0000"
      },
      "message": "target: Fix WRITE_SAME_16 lba assignment breakage\n\nThis patch fixes a bug in WRITE_SAME_16 LBA assignment where get_unaligned_be16()\nis incorrectly being used instead of get_unaligned_be64() for a 64-bit LBA.\n\nThis was introduced with:\n\ncommit a1d8b49abd60ba5d09e7c968731abcb0f8f1cbf6\nAuthor: Andy Grover \u003cagrover@redhat.com\u003e\nDate:   Mon May 2 17:12:10 2011 -0700\n\n    target: Updates from AGrover and HCH (round 3)\n\n    (target: inline struct se_transport_task into struct se_cmd)\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "aadcec010127a20599500c7007fbe9998744be41",
      "tree": "3ac7a379936e62e675081c0abb649e954ca39afc",
      "parents": [
        "7bbb654e9c77a8692425dbd2c704ad245b86ec8a"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jul 27 20:13:22 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jul 27 20:28:49 2011 +0000"
      },
      "message": "iscsi-target: Fix CONFIG_SMP\u003dn and CONFIG_MODULES\u003dn build failure\n\nThis patch fixes the following CONFIG_SMP\u003dn and CONFIG_MODULES\u003dn build\nfailure, because iscsit_thread_get_cpumask() is defined as a macro in\niscsi_target.c, but needed by iscsi_target_login.c\n\ndrivers/built-in.o: In function `iscsi_post_login_handler\u0027:\niscsi_target_login.c:(.text+0x13a315): undefined reference to `iscsit_thread_get_cpumask\u0027\niscsi_target_login.c:(.text+0x13a4b4): undefined reference to `iscsit_thread_get_cpumask\u0027\nmake: *** [.tmp_vmlinux1] Error 1\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7bbb654e9c77a8692425dbd2c704ad245b86ec8a",
      "tree": "86c251ae2311c899de00f1c5054aff1e6a167e32",
      "parents": [
        "76f1928e8831961a692459924cfac0ca1b0d303a"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jul 27 12:37:03 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jul 27 20:28:38 2011 +0000"
      },
      "message": "iscsi-target: Fix snprintf usage with MAX_PORTAL_LEN\n\nThis patch makes lio_target_call_addnptotpg() use sprintf() with\nMAX_PORTAL_LEN + 1 to address the following smatch warning:\n\ndrivers/target/iscsi/iscsi_target_configfs.c +184 lio_target_call_addnptotpg(21)\n        error: snprintf() chops off the last chars of \u0027name\u0027: 257 vs 256\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "76f1928e8831961a692459924cfac0ca1b0d303a",
      "tree": "99c2ff11bc6e863e82bd285b7db1a392526f1df9",
      "parents": [
        "8f50c7f5d63b0e4a29f6f96e8cfaca782e0c458d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jul 27 12:16:22 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jul 27 20:28:31 2011 +0000"
      },
      "message": "iscsi-target: Fix uninitialized usage of cmd-\u003epad_bytes\n\nThis patch fixes an uninitialized usage of cmd-\u003epad_bytes inside of\niscsit_handle_text_cmd() introduced during a v4.1 change to use cmd\nmembers instead of local pad_bytes variables.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8f50c7f5d63b0e4a29f6f96e8cfaca782e0c458d",
      "tree": "bc2f8064a1170be3755b4443f813ee50bf85e3fd",
      "parents": [
        "4a28a3fa8c37193b105807193b3695048f0050a4"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Jul 27 14:11:43 2011 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jul 27 20:28:16 2011 +0000"
      },
      "message": "iscsi-target: strlen() doesn\u0027t count the terminator\n\nThis patch fixes an off by one check in iscsit_add_tiqn() because the\nNULL terminator isn\u0027t taken into consideration.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4a28a3fa8c37193b105807193b3695048f0050a4",
      "tree": "60c42c12dd1f09a75af0f0a35f98acef4ac7ae0f",
      "parents": [
        "277c5f27a2c86a9a733c0ec0f6a9b1032dfa3e15"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Jul 27 12:58:17 2011 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jul 27 20:28:04 2011 +0000"
      },
      "message": "iscsi-target: Fix NULL dereference on allocation failure\n\nThis patch fixes a bug in iscsi_target_init_negotiation() where\nthe \"goto out\" path dereferences \"login\" which is NULL upon a\nmemory allocation failure.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "91d41fdf31f74e6e2e5f3cb018eca4200e36e202",
      "tree": "81ef11f06bd8047031a2d93706dc263fa1bacd56",
      "parents": [
        "c1095c6da518b0b64e724f629051fa67655cd8d9",
        "277c5f27a2c86a9a733c0ec0f6a9b1032dfa3e15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 13:21:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 13:21:40 2011 -0700"
      },
      "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: Convert to DIV_ROUND_UP_SECTOR_T usage for sectors / dev_max_sectors\n  kernel.h: Add DIV_ROUND_UP_ULL and DIV_ROUND_UP_SECTOR_T macro usage\n  iscsi-target: Add iSCSI fabric support for target v4.1\n  iscsi: Add Serial Number Arithmetic LT and GT into iscsi_proto.h\n  iscsi: Use struct scsi_lun in iscsi structs instead of u8[8]\n  iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi\n"
    },
    {
      "commit": "277c5f27a2c86a9a733c0ec0f6a9b1032dfa3e15",
      "tree": "e2b09b9c0ffa657590981bc4d2af8908efa2f11d",
      "parents": [
        "36a26c69b4c70396ef569c3452690fba0c1dec08"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Jul 26 00:38:40 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Jul 26 09:40:34 2011 +0000"
      },
      "message": "target: Convert to DIV_ROUND_UP_SECTOR_T usage for sectors / dev_max_sectors\n\nThis patch adds the new macro usage of include/linux/kernel.h:DIV_ROUND_UP_SECTOR_T\nfor the new DIV_ROUND_UP_ULL() usage for 32-bit architectures with unsigned long long\nsector_t division in transport_allocate_data_tasks() usage for target_core_mod v4.1\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e48354ce078c079996f89d715dfa44814b4eba01",
      "tree": "7a593b6dd4864073944160fe227aae5d54e587ab",
      "parents": [
        "8304bbceee505742925b487fd8ea56e1f8b4b805"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Jul 23 06:43:04 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Jul 26 09:16:43 2011 +0000"
      },
      "message": "iscsi-target: Add iSCSI fabric support for target v4.1\n\nThe Linux-iSCSI.org target module is a full featured in-kernel\nsoftware implementation of iSCSI target mode (RFC-3720) for the\ncurrent WIP mainline target v4.1 infrastructure code for the v3.1\nkernel.  More information can be found here:\n\nhttp://linux-iscsi.org/wiki/ISCSI\n\nThis includes support for:\n\n   * RFC-3720 defined request / response state machines and support for\n     all defined iSCSI operation codes from Section 10.2.1.2 using libiscsi\n     include/scsi/iscsi_proto.h PDU definitions\n   * Target v4.1 compatible control plane using the generic layout in\n     target_core_fabric_configfs.c and fabric dependent attributes\n     within /sys/kernel/config/target/iscsi/ subdirectories.\n   * Target v4.1 compatible iSCSI statistics based on RFC-4544 (iSCSI MIBS)\n   * Support for IPv6 and IPv4 network portals in M:N mapping to TPGs\n   * iSCSI Error Recovery Hierarchy support\n   * Per iSCSI connection RX/TX thread pair scheduling affinity\n   * crc32c + crc32c_intel SSEv4 instruction offload support using libcrypto\n   * CHAP Authentication support using libcrypto\n   * Conversion to use internal SGl allocation with iscsit_alloc_buffs() -\u003e\n     transport_generic_map_mem_to_cmd()\n\n(nab: Fix iscsi_proto.h struct scsi_lun usage from linux-next in commit:\n      iscsi: Use struct scsi_lun in iscsi structs instead of u8[8])\n(nab: Fix 32-bit compile warnings)\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Andy Grover \u003cagrover@redhat.com\u003e\nAcked-by: Roland Dreier \u003croland@kernel.org\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d3ec4844d449cf7af9e749f73ba2052fb7b72fc2",
      "tree": "c515913e85f7e50878c83da2a88bc5a7269d087c",
      "parents": [
        "0003230e8200699860f0b10af524dc47bf8aecad",
        "df2e301fee3c2c2a87592151397ad7699bb14c37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "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: (43 commits)\n  fs: Merge split strings\n  treewide: fix potentially dangerous trailing \u0027;\u0027 in #defined values/expressions\n  uwb: Fix misspelling of neighbourhood in comment\n  net, netfilter: Remove redundant goto in ebt_ulog_packet\n  trivial: don\u0027t touch files that are removed in the staging tree\n  lib/vsprintf: replace link to Draft by final RFC number\n  doc: Kconfig: `to be\u0027 -\u003e `be\u0027\n  doc: Kconfig: Typo: square -\u003e squared\n  doc: Konfig: Documentation/power/{pm \u003d\u003e apm-acpi}.txt\n  drivers/net: static should be at beginning of declaration\n  drivers/media: static should be at beginning of declaration\n  drivers/i2c: static should be at beginning of declaration\n  XTENSA: static should be at beginning of declaration\n  SH: static should be at beginning of declaration\n  MIPS: static should be at beginning of declaration\n  ARM: static should be at beginning of declaration\n  rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check\n  Update my e-mail address\n  PCIe ASPM: forcedly -\u003e forcibly\n  gma500: push through device driver tree\n  ...\n\nFix up trivial conflicts:\n - arch/arm/mach-ep93xx/dma-m2p.c (deleted)\n - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)\n - drivers/net/r8169.c (just context changes)\n"
    },
    {
      "commit": "d4e06701b89286a306b31e20ec69a904fae374a1",
      "tree": "f6adefd65b021ccddb7655109ea8b9ab4e714292",
      "parents": [
        "e4980371059ca4a81ccdcb4381c41af8869ca711",
        "87045b033a62777337ae4aa62834876da09b5fb5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 23 11:13:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 23 11:13:11 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (77 commits)\n  [SCSI] fix crash in scsi_dispatch_cmd()\n  [SCSI] sr: check_events() ignore GET_EVENT when TUR says otherwise\n  [SCSI] bnx2i: Fixed kernel panic due to illegal usage of sc-\u003erequest-\u003ecpu\n  [SCSI] bfa: Update the driver version to 3.0.2.1\n  [SCSI] bfa: Driver and BSG enhancements.\n  [SCSI] bfa: Added support to query PHY.\n  [SCSI] bfa: Added HBA diagnostics support.\n  [SCSI] bfa: Added support for flash configuration\n  [SCSI] bfa: Added support to obtain SFP info.\n  [SCSI] bfa: Added support for CEE info and stats query.\n  [SCSI] bfa: Extend BSG interface.\n  [SCSI] bfa: FCS bug fixes.\n  [SCSI] bfa: DMA memory allocation enhancement.\n  [SCSI] bfa: Brocade-1860 Fabric Adapter vHBA support.\n  [SCSI] bfa: Brocade-1860 Fabric Adapter PLL init fixes.\n  [SCSI] bfa: Added Fabric Assigned Address(FAA) support\n  [SCSI] bfa: IOC bug fixes.\n  [SCSI] bfa: Enable ASIC block configuration and query.\n  [SCSI] bnx2i: Updated copyright and bump version\n  [SCSI] bnx2i: Modified to skip CNIC registration if iSCSI is not supported\n  ...\n\nFix up some trivial conflicts in:\n - drivers/scsi/bnx2fc/{bnx2fc.h,bnx2fc_fcoe.c}:\n\tCrazy broadcom version number conflicts\n - drivers/target/tcm_fc/tfc_cmd.c\n\tJust trivial cleanups done on adjacent lines\n"
    },
    {
      "commit": "11650b859681e03fdbf26277fcfc5f1f62186703",
      "tree": "1073305aa356589d05cf59c70dae748c4c0e8b75",
      "parents": [
        "163cd5fa9fcb7ccc73a9e39d5f601cfd41a23bfa"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Jul 18 22:26:40 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:49 2011 +0000"
      },
      "message": "target: remove custom hex2bin() implementation\n\nThis patch drops transport_asciihex_to_binaryhex() in favor of proper\nhex2bin usage from include/linux/kernel.h:hex2bin()\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "163cd5fa9fcb7ccc73a9e39d5f601cfd41a23bfa",
      "tree": "54f6d4bd12189c241f7b3fa8d33a722f6cb69f59",
      "parents": [
        "5de619a31d9cb051d1f818e661af4e54def82316"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Jul 18 22:17:43 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:49 2011 +0000"
      },
      "message": "target: fix typo Assoication -\u003e Association\n\nAdditionally this patch brings proper apply of the designator type.\nHowever, the original code luckily has no bug, because the association\nequals to 0.\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: James Bottomley \u003cjbottomley@parallels.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5de619a31d9cb051d1f818e661af4e54def82316",
      "tree": "bbdf282c42fe3818607fff4f3a4f7d1b74ee064e",
      "parents": [
        "1d20bb6147954d4fbd337a3d1b40c7eeae254cd7"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Jul 17 02:57:58 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:49 2011 +0000"
      },
      "message": "target: Update QUEUE ALGORITHM MODIFIER control page default\n\nThis patch adds the default \u0027Unrestricted reordering allowed\u0027 for SCSI\ncontrol mode page QUEUE ALGORITHM MODIFIER on a per se_device basis in\ntarget_modesense_control() following spc4r23.  This includes a new\nemuluate_rest_reord configfs attribute that currently (only) accepts\nzero to signal \u0027Unrestricted reordering allowed\u0027 in control mode page\nusage by the backend target device.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "1d20bb6147954d4fbd337a3d1b40c7eeae254cd7",
      "tree": "23dcdd9376c5e26acfd2817812e2d5ccfbf81149",
      "parents": [
        "6708bb27bb2703da238f21f516034263348af5be"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jul 21 04:41:48 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: -\u003emap_task_SG conversion to -\u003emap_control_SG and -\u003emap_data_SG\n\nThis patch breaks up the -\u003emap_task_SG() backend call into two seperate\n-\u003emap_control_SG() and -\u003emap_data_SG() in order to better address\nIBLOCK and pSCSI.  IBLOCK only allocates bios for -\u003emap_data_SG(), and\npSCSI will allocate a struct request for both cases.\n\nThis patch fixes incorrect usage of -\u003emap_task_SG() for all se_cmd descriptors\nin transport_generic_new_cmd() by moving the call into it\u0027s proper location\ndirectly inside of transport_allocate_data_tasks()\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6708bb27bb2703da238f21f516034263348af5be",
      "tree": "a23e1f9eab22933d773d6b6ad6263d6751379a00",
      "parents": [
        "ec98f7825c6eaa4a9afb0eb518826efc8a2ed4a2"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Wed Jun 08 10:36:43 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: Follow up core updates from AGrover and HCH (round 4)\n\nThis patch contains the squashed version of forth round series cleanups\nfrom Andy and Christoph following the post heavy lifting in the preceeding:\n\u0027Eliminate usage of struct se_mem\u0027 and \u0027Make all control CDBs scatter-gather\u0027\nchanges.  This also includes a conversion of target core and the v3.0\nmainline fabric modules (loopback and tcm_fc) to use pr_debug and the\nCONFIG_DYNAMIC_DEBUG infrastructure!\n\nThese have been squashed into this third and final round for v3.1.\n\ntarget: Remove ifdeffed code in t_g_process_write\ntarget: Remove direct ramdisk code\ntarget: Rename task_sg_num to task_sg_nents\ntarget: Remove custom debug macros for pr_debug. Use pr_err().\ntarget: Remove custom debug macros in mainline fabrics\ntarget: Set WSNZ\u003d1 in block limits VPD. Abort if WRITE_SAME sectors \u003d 0\ntarget: Remove transport do_se_mem_map callback\ntarget: Further simplify transport_free_pages\ntarget: Redo task allocation return value handling\ntarget: Remove extra parentheses\ntarget: change alloc_task call to take *cdb, not *cmd\n\n(nab: Fix bogus struct file assignments in fd_do_readv and fd_do_writev)\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ec98f7825c6eaa4a9afb0eb518826efc8a2ed4a2",
      "tree": "b4ccee24db5d7d54ccfa5e3be2441d3a4e37f295",
      "parents": [
        "3a86720567fd92819b449df10db85a2f73447d87"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Wed Jul 20 19:28:46 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: Eliminate usage of struct se_mem\n\nBoth backstores and fabrics use arrays of struct scatterlist to describe\ndata buffers. However TCM used struct se_mems, basically a linked list\nof scatterlist entries. We are able to simplify the code by eliminating\nthis intermediate data structure and just using struct scatterlist[]\nthroughout.\n\nAlso, moved attachment of task to cmd out of transport_generic_get_task\nand into allocate_control_task and allocate_data_tasks. The reasoning\nis that it\u0027s nonintuitive that get_task should automatically add it to\nthe cmd\u0027s task list -- it should just return an allocated, initialized\ntask. That\u0027s all it should do, based on the function\u0027s name, so either the\nfunction shouldn\u0027t do it, or the name should change to encapsulate the\nentire essence of what it does.\n\n(nab: Fix compile warnings in tcm_fc, and make transport_kmap_first_data_page\n honor sg-\u003eoffset for SGLs from contigious memory with TCM_Loop, and\n fix control se_cmd descriptor memory leak)\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3a86720567fd92819b449df10db85a2f73447d87",
      "tree": "2d971854eabe7b4bc8ff091b0e9d91dca8377bbe",
      "parents": [
        "d0229ae3fed59b4009e33f836d9ad4e312294d46"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Jun 28 10:31:18 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: Pass 2nd param of transport_split_cdb by value\n\nSince sectors is not modified, it\u0027s more straightforward to do this.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d0229ae3fed59b4009e33f836d9ad4e312294d46",
      "tree": "148f60e1db4efa563d3f4ee5e7bc735358b57a13",
      "parents": [
        "05d1c7c0d0db4cc25548d9aadebb416888a82327"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Fri Jul 08 17:04:53 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: Enforce 1 page max for control cdb buffer sizes\n\nDue to all cdbs\u0027 data buffers being referenced by scatterlists, buffers\nof more than a page are not contiguous. Instead of handling this in all\ncontrol command handlers, we may be able to get away with just limiting\ncontrol cdb data buffers to one page. The only control CDBs we handle that\nhave potentially large data buffers are REPORT LUNS and UNMAP, so if we\ndidn\u0027t want to live with this limitation, they would need to be modified\nto walk the pages in the data buffer\u0027s sgl.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "05d1c7c0d0db4cc25548d9aadebb416888a82327",
      "tree": "290243526d188a7f6a683b0e13a63c7207471fa1",
      "parents": [
        "e22a7f075226c51f3f71b922e9eeb4f99fac1475"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Wed Jul 20 19:13:28 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: Make all control CDBs scatter-gather\n\nPreviously, some control CDBs did not allocate memory in pages for their\ndata buffer, but just did a kmalloc. This patch makes all cdbs allocate\npages.\n\nThis has the benefit of streamlining some paths that had to behave\ndifferently when we used two allocation methods. The downside is that\nall accesses to the data buffer need to kmap it before use, and need to\nhandle data in page-sized chunks if more than a page is needed for a given\ncommand\u0027s data buffer.\n\nFinally, note that cdbs with no data buffers are handled a little\ndifferently. Before, SCSI_NON_DATA_CDBs would not call get_mem at all\n(they\u0027d be in the final else in transport_allocate_resources) but now\nthese will make it into generic_get_mem, but just not allocate any\nbuffers.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e22a7f075226c51f3f71b922e9eeb4f99fac1475",
      "tree": "e0a04f974153136eafe13793ee59be58c37c5ffc",
      "parents": [
        "b2eb705e00a9b9a9b3122192a7ab3e9058f0c48a"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 05 13:34:52 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:47 2011 +0000"
      },
      "message": "target: Implement Block Device Characteristics VPD page\n\nImplement page B1h, Block Device Characteristics, so that we can report\na medium rotation rate of 1 (non-rotating / solid state) if the\nis_nonrot device attribute is set; we update the iblock backend to set\nthis attribute if the underlying Linux block device has its nonrot\nflag set.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b2eb705e00a9b9a9b3122192a7ab3e9058f0c48a",
      "tree": "3eec44a2dcec8d389a5363f2d7b0748a904eceae",
      "parents": [
        "f5fbed856931faa1e94a76caf0f0c273c67f0d32"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 05 13:34:51 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:47 2011 +0000"
      },
      "message": "target: Fix reporting of supported VPD pages\n\nThe current handling of VPD page 00h (Supported VPD Pages) for INQUIRY\ncommands has a couple of problems:\n\n - The page length field is incorrectly set to 3, so the entry for 86h\n   (Extended INQUIRY Data) is ignored since it is in the fourth slot.\n - Even though the code handles pages B0h and B2h, those pages aren\u0027t\n   mentioned in the Supported VPD Pages list, so eg the Linux SCSI stack\n   won\u0027t actually try to use them.\n\nFix these problems and make things more robust to avoid future problems\nby moving to a table of supported VPD pages, which means that any added\nVPD page support will automatically get reported on page 0.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f5fbed856931faa1e94a76caf0f0c273c67f0d32",
      "tree": "477499feebf9a32714ad25993f577a43eeb1e3d2",
      "parents": [
        "2be18149d9d7ebfde7c3081d60f7c9d8d3b6f8c7"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 05 13:34:50 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:47 2011 +0000"
      },
      "message": "target: Allow for built-in target modules\n\nIn target_fabric_configfs_init(), we should allow fabric_mod to be NULL,\nsince THIS_MODULE is NULL for built-in modules.  The main method of\nusing the target code may be as modules, but having everything built-in\nis useful eg to be able to do quick testing with \"qemu -kernel\".\n\nIn any case, we shouldn\u0027t bomb out fabric registration for a perfectly\nvalid configuration, so simply drop the check of fabric_mod.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2be18149d9d7ebfde7c3081d60f7c9d8d3b6f8c7",
      "tree": "2d6d602112049f4e6188d8ee3412168760e302ae",
      "parents": [
        "a1fa3759583ef2379da6e2cc346ee9f99dfba309"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 27 13:58:48 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:47 2011 +0000"
      },
      "message": "tcm_fc: Convert to wake_up_process and schedule_timeout_interruptible\n\nThis patch converts ft_queue_cmd() to use wake_up_process() and\nft_thread() to use schedule_timeout_interruptible(MAX_SCHEDULE_TIMEOUT)\ninstead of wait_event_interruptible().  This fixes a potential race with\nthe wait_event_interruptible() conditional with qobj-\u003equeue_cnt in\nft_thread().\n\nThis patch also drops the unnecessary set_user_nice(current, -20) in\nft_thread(), and drops extra () around two if (!(acl)) conditionals in\ntfc_conf.c.\n\nReported-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a1fa3759583ef2379da6e2cc346ee9f99dfba309",
      "tree": "3878c51563d8847a51ad5b7ae3c612e9ebdca916",
      "parents": [
        "a57b5d36453cc9335f75ae191ffd682a250d08ba"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 27 13:34:20 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:47 2011 +0000"
      },
      "message": "tcm_fc: Makefile cleanups\n\nThis patch removes the unnecessary EXTRA_CFLAGS includes, and drops the\nunused -DTCM_FC_DEBUG define.\n\nReported-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a57b5d36453cc9335f75ae191ffd682a250d08ba",
      "tree": "4879b45aec4865ee6c7df64cf7a71b56f75e9238",
      "parents": [
        "824cc5ff37a0dc3ec8c9e7002e3b1ca0b408917e"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Tue Jun 28 00:30:17 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:46 2011 +0000"
      },
      "message": "loopback: Fix memory leak in tcm_loop_make_scsi_hba()\n\nThere is a memory leak in tcm_loop_make_scsi_hba().\n\nIf all the strstr() calls return NULL and we end up at return ERR_PTR(-EINVAL);\nthen we\u0027ll be leaking the memory previously allocated to tl_hba as\nthat variable goes out of scope.\n\nThis patch should fix the leak.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "824cc5ff37a0dc3ec8c9e7002e3b1ca0b408917e",
      "tree": "75a56399479a48cdcf365aaf3b216cb5980ade67",
      "parents": [
        "12f09ccb4612734a53e47ed5302e0479c10a50f8"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Wed Jun 22 01:55:50 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:46 2011 +0000"
      },
      "message": "loopback: Remove duplicate scsi/scsi_tcq.h include\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "12f09ccb4612734a53e47ed5302e0479c10a50f8",
      "tree": "6bbd52b7ac29fd768ccc12eca076a188a0eb07cf",
      "parents": [
        "21bca31c9678edda8eb1dc823be00d190965c53b"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Apr 02 14:32:47 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:46 2011 +0000"
      },
      "message": "loopback: off by one in tcm_loop_make_naa_tpg()\n\nThis is an off by one \u0027tgpt\u0027 check in tcm_loop_make_naa_tpg() that could result\nin memory corruption.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "21bca31c9678edda8eb1dc823be00d190965c53b",
      "tree": "bef78367227b6d71a25e7842ea9b6c419df844b1",
      "parents": [
        "8f3d14e2b0352e41c8e64a39c95c7d9498c96e89"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 05 15:35:02 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:46 2011 +0000"
      },
      "message": "target/iblock: Remove unused iblock_dev members\n\nibd_depth and ibd_force are used write-only.  Remove them.\nibd_major/minor can be easily retrieved from ibd_bd, so get\nrid of them too.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8f3d14e2b0352e41c8e64a39c95c7d9498c96e89",
      "tree": "607a72e745b87c18a9e594e9f3c8167ffdbb42bf",
      "parents": [
        "5e1be919820175a2becc3c72051050aaa3fae954"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jun 22 01:32:20 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:45 2011 +0000"
      },
      "message": "target/iblock: Use request_queue-\u003enr_request for se_device defaults\n\nThis patch converts iblock_create_virtdevice() to use request_queue-\u003enr_request\nfor se_dev_limits usage of -\u003ehw_queue_depth and -\u003equeue_depth for individual\nstruct se_device export.\n\nIt also removes the now unused defines for IBLOCK_DEVICE_QUEUE_DEPTH and\nIBLOCK_MAX_DEVICE_QUEUE_DEPTH\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5e1be919820175a2becc3c72051050aaa3fae954",
      "tree": "50b987bb753e481fd0d921e5723deacd17f5a97f",
      "parents": [
        "56e34ee2adb59a35bfa5714bdf4dcb3f4d14a41d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 20 09:28:56 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:45 2011 +0000"
      },
      "message": "target: Make se_tmr_lock IRQ-safe\n\ntransport_lookup_tmr_lun() can be called from interrupt context and\ntherefore needs to use IRQ-safe spinlock functions.  Fix this up, and\nto make the locking work, convert the other uses of se_tmr_lock to be\nIRQ-disabling.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "56e34ee2adb59a35bfa5714bdf4dcb3f4d14a41d",
      "tree": "80ab54908f9cd603ef26cdcc634e70ddd34c6640",
      "parents": [
        "78faae37897dc2a9ccc7c19155294a4bfdcae077"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jun 13 20:55:06 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:45 2011 +0000"
      },
      "message": "target: Make se_dev_check_online() locking IRQ-safe\n\nse_dev_check_online() is called from transport_lookup_cmd_lun(), which\nas discussed before may be called from interrupt context.  So it needs\nto use spin_lock_irqsave() instead of spin_lock_irq() to avoid\nenabling interrupts at the wrong time.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "78faae37897dc2a9ccc7c19155294a4bfdcae077",
      "tree": "36db87c44506bd34da1d21633dbfe1e59de40910",
      "parents": [
        "07bde79a5c355dbca66ca4318645aa17b4c0d859"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 20 09:09:10 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:45 2011 +0000"
      },
      "message": "target: Make transport_lookup_cmd_lun() locking IRQ-safe\n\ntransport_lookup_cmd_lun() may be called from interrupt context (eg\ntcm_loop_allocate_core_cmd() calls it, and it has a comment that says,\n\"Can be called from interrupt context\"), so it needs to use\nspin_lock_irqsave() instead of spin_lock_irq() to avoid enabling\ninterrupts at the wrong time.\n\n(And indeed the last set of lock operations, on lun_cmd_lock, were\nalready using spin_lock_irqsave(), so we just need to fix the other\ntwo locks we take)\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "07bde79a5c355dbca66ca4318645aa17b4c0d859",
      "tree": "e602132193959df436a2f5d325cd3da9984ada4f",
      "parents": [
        "695434e1cbd57f404110bf4ab187a5127ffd79bb"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Jun 13 14:46:09 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:45 2011 +0000"
      },
      "message": "target: Add SCF_EMULATE_QUEUE_FULL -\u003e transport_handle_queue_full\n\nThis patch adds SCF_EMULATE_QUEUE_FULL support using -EAGAIN failures\nvia transport_handle_queue_full() to signal queue full in completion\npath TFO-\u003equeue_data_in() and TFO-\u003equeue_status() callbacks.\n\nThis is done using a new se_cmd-\u003etransport_qf_callback() to handle\nthe following queue full exception cases within target core:\n\n*) TRANSPORT_COMPLETE_OK (for completion path queue full)\n\n*) TRANSPORT_COMPLETE_QF_WP (for TRANSPORT_WRITE_PENDING queue full)\n\n*) transport_send_check_condition_and_sense() failure paths in\n   transport_generic_request_failure() and transport_generic_complete_ok()\n\nAll logic is driven using se_device-\u003eqf_work_queue -\u003e target_qf_do_work()\nto to requeue outstanding se_cmd at the head of se_dev-\u003equeue_obj-\u003eqobj_list\nfor transport_processing_thread() execution.\n\nTested using tcm_qla2xxx with MAX_OUTSTANDING_COMMANDS\u003d128 for FCP READ\nto trigger the TRANSPORT_COMPLETE_OK queue full cases, and a simulated\nTFO-\u003ewrite_pending() -EAGAIN failure to trigger TRANSPORT_COMPLETE_QF_WP.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "695434e1cbd57f404110bf4ab187a5127ffd79bb",
      "tree": "7d014011669e28498cf3fd210427373992031735",
      "parents": [
        "35462975b2b197b990fedbb74b81f9bea9d344cb"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 03 20:59:19 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:44 2011 +0000"
      },
      "message": "target: Add transport_handle_cdb_direct optimization\n\nThis patch adds a transport_handle_cdb_direct() optimization for mapping\nand queueing tasks directly from within fabric processing context by calling\nthe newly exported transport_generic_new_cmd().  This currently expects to\nbe called from process context only, and will fail if called within interrupt\ncontext.\n\nThis patch also leaves transport_generic_handle_cdb() unmodified for the\nmoment to function as expected with existing tcm_fc and ib_srpt fabrics,\nand will be removed once these have been converted and tested with v4.1\ncode using transport_handle_cdb_direct().\n\nBased on Andy\u0027s original patch here:\n\n[PATCH 39/42] target: Call transport_new_cmd instead of adding to cmd queue\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "35462975b2b197b990fedbb74b81f9bea9d344cb",
      "tree": "72aea1508e81292f7fe7a17b39ed7f59de3dc3ce",
      "parents": [
        "db1620a2788f6c470804f6a5f983a0152188bd90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue May 31 23:56:57 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:44 2011 +0000"
      },
      "message": "target: merge release_cmd methods\n\nThe release_cmd_to_pool and release_cmd_direct methods are always the same.\nMerge them into a single release_cmd method, and clean up the fallout.\n\n(nab: fix breakage in transport_generic_free_cmd() parameter build breakage\n in drivers/target/tcm_fc/tfc_cmd.c)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "db1620a2788f6c470804f6a5f983a0152188bd90",
      "tree": "031e8ee5657121717b222bf3c0b6f3fe989d369f",
      "parents": [
        "dc2e652d5f36d7b1c8764c3c3174e28ec2d9903b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue May 31 17:06:43 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:44 2011 +0000"
      },
      "message": "target: remove the unused SCF_* flags\n\nThis patch contains a squashed version to remove unused  SCF_* flags:\n\ntarget: remove the unused SCF_SE_DISABLE_ONLINE_CHECK flag\ntarget: remove the unused SCF_CMD_PASSTHROUGH_NOALLOC flag\ntarget: remove the unused SCF_EMULATE_SYNC_UNMAP flag\ntarget: remove the unused SCF_EMULATE_SYNC_CACHE flag\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "dc2e652d5f36d7b1c8764c3c3174e28ec2d9903b",
      "tree": "08f87c10784efbffffe39384d1ee1e3c7c8094ed",
      "parents": [
        "a1d8b49abd60ba5d09e7c968731abcb0f8f1cbf6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue May 31 17:06:42 2011 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:44 2011 +0000"
      },
      "message": "target: remove the always-noop -\u003enew_cmd_failure method\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a1d8b49abd60ba5d09e7c968731abcb0f8f1cbf6",
      "tree": "8cbfd54b4829fd5f0ed206e15c81c1e626e7701d",
      "parents": [
        "dd3a5ad8e0c8706659f02c4a72b8c87f6f7ab479"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Mon May 02 17:12:10 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:44 2011 +0000"
      },
      "message": "target: Updates from AGrover and HCH (round 3)\n\nThis patch contains a squashed version of third round series cleanups,\nimprovements ,and simplfications from Andy and Christoph ahead of the\nheavy lifting between round 3 -\u003e 4 for the target core SGL conversion.\n\nThis include cleanups to the main target I/O path and other miscellaneous\nupdates.\n\ntarget: Replace custom sg\u003c-\u003ebuf functions with lib funcs\ntarget: Simplify sector limiting code\ntarget: get_cdb should never return NULL\ntarget: Simplify transport_memcpy_se_mem_read_contig\ntarget: Use assignment rather than increment for t_task_cdbs\ntarget: Don\u0027t pass dma_size to generic_get_mem\ntarget: Pass sg with type scatterlist in transport_map_sg_to_mem\ntarget: Move task_sg_num next to task_sg in struct se_task\ntarget: inline struct se_transport_task into struct se_cmd\ntarget: Change name \u0026 semantics of transport_get_sectors()\ntarget: Remove unused members of se_cmd\ntarget: Rename se_cmd.t_task_cdbs to t_task_list_num\ntarget: Fix some spelling\ntarget: Remove unused var from transport_generic_do_tmr\ntarget: map_sg_to_mem: return sg_count in return value\ntarget/pscsi: Use min_t for sector limits\ntarget/pscsi: Unused param for pscsi_get_bio()\ntarget: Rename get_cdb_count to allocate_tasks\ntarget: Make transport_generic_new_cmd() available for iscsi-target\ntarget: Remove fabric callback to allocate iovecs\ntarget: Fix transport_generic_new_cmd WRITE comment\n\n(hch: Use __GFP_ZERO usage for alloc_pages() usage)\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "dd3a5ad8e0c8706659f02c4a72b8c87f6f7ab479",
      "tree": "83e4bad30b9dcceb9f19632ffe5cf128609ad06e",
      "parents": [
        "1eb437a4ac1813f21424b8c9c39575fd61528a26"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 06 17:55:35 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:44 2011 +0000"
      },
      "message": "target: Fix WRITE_SAME_[16,32] number of blocks\u003d0 case\n\nThis patch fixes the handling of WRITE_SAME_[16,32] emulation where a\nWRITE_SAME_* CDB with number of blocks\u003d0 was being rejected by SCSI\nexpected data transfer length overflow checking in target core.\n\nIt changes both CDB cases in transport_generic_cmd_sequencer() to use\ndev-\u003ese_sub_dev-\u003ese_dev_attrib.block_size to match what sg_write_same\nis sending us with --num\u003d0.  It also fixes target_emulate_write_same()\nto properly determine the num_blocks with --num\u003d0 case to determine the\nremaining range for dev-\u003etransport-\u003edo_discard().\n\nReported-by: Chris Greiveldinger \u003cchris.greiveldinger@rnanetworks.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1eb437a4ac1813f21424b8c9c39575fd61528a26",
      "tree": "ba0fd018b7daf1ff6e725307b7ce97271ac74537",
      "parents": [
        "5951146dea1ac8ff2f177477c907084d63913cad"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue May 03 14:23:54 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:43 2011 +0000"
      },
      "message": "target: Fix WRITE_SAME_16 t_task_lba assignment bug\n\nThis patch fixes a bug in the assignment of cmd-\u003et_task.t_task_lba with\nWRITE_SAME_16 to correctly use get_unaligned_be64() for the 64-bit LBA.\n\nReported-by: Chris Greiveldinger \u003cchris.greiveldinger@rnanetworks.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5951146dea1ac8ff2f177477c907084d63913cad",
      "tree": "699cb7c498ca1799ae3e349cb4360171d9fa63e0",
      "parents": [
        "f22c119683e73498d8126581a1be75e1b7a339a3"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Jul 19 10:26:37 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:43 2011 +0000"
      },
      "message": "target: More core cleanups from AGrover (round 2)\n\nThis patch contains the squashed version of second round of target core\ncleanups and simplifications and Andy and Co.   It also contains a handful\nof fixes to address bugs the original series and other minor cleanups.\n\nHere is the condensed shortlog:\n\ntarget: Remove unneeded casts to void*\ntarget: Rename get_lun_for_{cmd,tmr} to lookup_{cmd,tmr}_lun\ntarget: Make t_task a member of se_cmd, not a pointer\ntarget: Handle functions returning \"-2\"\ntarget: Use cmd-\u003ese_dev over cmd-\u003ese_lun-\u003elun_se_dev\ntarget: Embed qr in struct se_cmd\ntarget: Replace embedded struct se_queue_req with a list_head\ntarget: Rename list_heads that are nodes in struct se_cmd to \"*_node\"\ntarget: Fold transport_device_setup_cmd() into lookup_{tmr,cmd}_lun()\ntarget: Make t_mem_list and t_mem_list_bidi members of t_task\ntarget: Add comment \u0026 cleanup transport_map_sg_to_mem()\ntarget: Remove unneeded checks in transport_free_pages()\n\n(Roland: Fix se_queue_req removal leftovers OOPs)\n(nab: Fix transport_lookup_tmr_lun failure case)\n(nab: Fix list_empty(\u0026cmd-\u003et_task.t_mem_bidi_list) inversion bugs)\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f22c119683e73498d8126581a1be75e1b7a339a3",
      "tree": "ef3fe19b414b04012a24419c2a9451ec6f255241",
      "parents": [
        "e3d6f909ed803d92a5ac9b4a2c087e0eae9b90d0"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 02 22:15:37 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:43 2011 +0000"
      },
      "message": "target: Fix double test of inquiry_prod\n\nThe code in transport_add_device_to_core_hba() really intends to make sure\nthat neither inquiry_prod nor inquiry_rev is NULL.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e3d6f909ed803d92a5ac9b4a2c087e0eae9b90d0",
      "tree": "2eb65e958a2cc35c896a0e184ec09edcb9076b3b",
      "parents": [
        "a8c6da90b823fb94ca76ca0df6bb44e6e205dc87"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Jul 19 08:55:10 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:43 2011 +0000"
      },
      "message": "target: Core cleanups from AGrover (round 1)\n\nThis patch contains the squashed version of a number of cleanups and\nminor fixes from Andy\u0027s initial series (round 1) for target core this\npast spring.  The condensed log looks like:\n\ntarget: use errno values instead of returning -1 for everything\ntarget: Rename transport_calc_sg_num to transport_init_task_sg\ntarget: Fix leak in error path in transport_init_task_sg\ntarget/pscsi: Remove pscsi_get_sh() usage\ntarget: Make two runtime checks into WARN_ONs\ntarget: Remove hba queue depth and convert to spin_lock_irq usage\ntarget: dev-\u003edev_status_queue_obj is unused\ntarget: Make struct se_queue_req.cmd type struct se_cmd *\ntarget: Remove __transport_get_qr_from_queue()\ntarget: Rename se_dev-\u003eg_se_dev_list to se_dev_node\ntarget: Remove struct se_global\ntarget: Simplify scsi mib index table code\ntarget: Make dev_queue_obj a member of se_device instead of a pointer\ntarget: remove extraneous returns at end of void functions\ntarget: Ensure transport_dump_vpd_ident_type returns null-terminated str\ntarget: Function pointers don\u0027t need to use \u0027\u0026\u0027 to be assigned\ntarget: Fix comment in __transport_execute_tasks()\ntarget: Misc style cleanups\ntarget: rename struct pr_reservation_template to pr_reservation\ntarget: Remove #defines that just perform indirection\ntarget: Inline transport_get_task_from_execute_queue()\ntarget: Minor header comment fixes\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a8c6da90b823fb94ca76ca0df6bb44e6e205dc87",
      "tree": "7954ec28c34e5115805338502665263f8f2ed499",
      "parents": [
        "efa4988d72c69d3024ee25ad1ae87c83b9f8267e"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Mar 06 11:49:36 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:43 2011 +0000"
      },
      "message": "target: Remove unused su_group usage in fabric register/dergister\n\nThis patch removes two instances of left over v3.x code performing local\nscope access to struct target_core_fabric_ops-\u003etf_subsys-\u003esu_group in\ntarget_fabric_configfs_register() and target_fabric_configfs_deregister().\n\nReported-by: Christophe Fergeau \u003ccfergeau@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "efa4988d72c69d3024ee25ad1ae87c83b9f8267e",
      "tree": "7ee08a9e843d21a0163cbaa579f9b042ed929b29",
      "parents": [
        "e434f1f182674d775c52869d49f714a2614d1c66"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Jul 19 08:09:01 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:42 2011 +0000"
      },
      "message": "target: Remove unnecessary *cdb transport_get_lun_for_cmd parameter\n\nThis patch removes the now unnecessary \u0027unsigned char *cdb\u0027 function\nparameter from transport_get_lun_for_cmd().  This also includes updating\nlio-target, tcm_loop and tcm_fc usage of transport_get_lun_for_cmd().\n\nReported-by: Fubo Chen \u003cfubo.chen@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e434f1f182674d775c52869d49f714a2614d1c66",
      "tree": "c29b66edd04941a0837fa7eecfed5248fbd61adb",
      "parents": [
        "d814495599354924eb4de84727680564d685ce9e"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Feb 21 07:49:26 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:42 2011 +0000"
      },
      "message": "target: use MAINTENANCE_IN and MAINTENANCE_OUT definitions in scsi.h\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d814495599354924eb4de84727680564d685ce9e",
      "tree": "f03248dfcd68bf297697ab7e110070033aad4dc0",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Fubo Chen",
        "email": "fubo.chen@gmail.com",
        "time": "Sun Feb 13 15:13:42 2011 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:42 2011 +0000"
      },
      "message": "target: Check LUN numbers in transport_get_lun_for_[cmd,tmr]\n\nThis patch checks the passed \u0027unpacked_lun\u0027 against TRANSPORT_MAX_LUNS_PER_TPG\nbefore reading from struct se_node_acl-\u003edevice_list[].\n\nSigned-off-by: Fubo Chen \u003cfubo.chen@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b7e9c223be8ce335e30f2cf6ba588e6a4092275c",
      "tree": "2d1e3b75606abc18df7ad65e51ac3f90cd68b38d",
      "parents": [
        "c172d82500a6cf3c32d1e650722a1055d72ce858",
        "e3bbfa78bab125f58b831b5f7f45b5a305091d72"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jul 11 14:15:48 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jul 11 14:15:55 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nSync with Linus\u0027 tree to be able to apply pending patches that\nare based on newer code already present upstream.\n"
    },
    {
      "commit": "f2f7b09ccea1717026915a4401f0452f05c97364",
      "tree": "238d65acd5bc7771b2a7e96f4c8988c8fecc977e",
      "parents": [
        "e3e65c69c3cfe8e407797c78fd11808aee1a8a81"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Mon Jun 20 16:59:41 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Jun 29 16:32:31 2011 -0500"
      },
      "message": "[SCSI] tcm_fc: Fixing reference counting problem which was causing ft_sess to be deleted.\n\nProblem: After fixing the issue in TCM core w.r.t LUN Reset (Task\nManagement request) , ran into issue where during the completing of\nthis LUN Reset command, reference count of \"ft_sess\" drops to zero\nwhich caused \"sess\" to be deleted.\n\nFix: As part of handling task management request (e.g. LUN Reset), TCM\ncore function \"transport_generic_do_tmr\" ends up calling ft_free_cmd\nwhich in turn calls \"ft_sess_put\" (which drops session\u0027s reference\ncount by 1) and then frees ft_cmd. Then function\n\"transport_generic_do_tmr\" calls \"transport_cmd_check_stop\" which in\nturn also calls ft_free_cmd (which calls ft_sess_put - which drops\nreference count of sess by 1, hence reference count of sess becomes\nzero and session gets deleted). Fix is to just send response in case\nof tmr from function \"ft_queue_resp_code\" and not delete \"ft_cmd\"\n(means don\u0027t call ft_free_cmd). Earlier code was to send the response\ncode and also free ft_cmd. ft_free_cmd will be freed later after\nsending response code as a result of \"transport_cmd_check_stop\" (which\ncalls ft_release_cmd -\u003e ft_free_cmd) being called from\n\"transport_generic_do_tmr\" after sening TMR response code.\n\nNotes/Dependencies: This bug was found after fixing NULL pointer\naccess issue in TCM core (in LUN Reset codepath)\n\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "33dc362b7f155a584688bcab2facdd4d21232001",
      "tree": "e8bcb27f2915d714f4ce60ee6740809686900672",
      "parents": [
        "480584818a4bb3655d8d0d875ed60b427fc61cc5"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Mon Jun 20 16:59:05 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Jun 29 16:28:39 2011 -0500"
      },
      "message": "[SCSI] libfc, tcm_fc: add ddp_targ() to libfc function template to supprot FCoE DDP in target mode\n\nThe fcoe driver can implement ddp_targ() similarly to ddp_setup() when fcoe\nstack works with existing target frame, e.g., tcm, where the ddp_targ() would\neventually point to the underlying hardware driver\u0027s implementation of\nndo_fcoe_ddp_targ() through net_device_ops. This new API sets up DDP context\nfor target appropriately by setting required bits for DDP context.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "95efa2863996b643083957079b9304fb3c01130f",
      "tree": "e76d1c677a36cc08588069cacfefa2b0c56af6e3",
      "parents": [
        "7c7cf3b9c31ed09822e5c186297991093ee13c49"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jun 23 23:28:46 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:09:16 2011 +0000"
      },
      "message": "tcm_fc: Fix conversion spec warning\n\nThis patch fixes the following conversion specification warning for size_t\n\ndrivers/target/tcm_fc/tfc_io.c: In function ‘ft_queue_data_in’:\ndrivers/target/tcm_fc/tfc_io.c:209: warning: format ‘%x’ expects type ‘unsigned int’, but argument 5 has type ‘size_t’\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7c7cf3b9c31ed09822e5c186297991093ee13c49",
      "tree": "9fc758477e9275b3c6657e020152e98ab6825f2b",
      "parents": [
        "61db952713a8bc1b18515db3f2eac354ec8990bd"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Jun 13 23:08:46 2011 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:09:15 2011 +0000"
      },
      "message": "tcm_fc: Fix possible lock to unlock type deadlock\n\nThere is a typo here, it should be an unlock instead of a lock.  The\noriginal code will deadlock.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "61db952713a8bc1b18515db3f2eac354ec8990bd",
      "tree": "94495bc24648a2990b39baf8c865fe0c36ccc9bf",
      "parents": [
        "60d645a4e9e7e7ddc20e534fea82aa4e6947f911"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Wed Jun 22 16:30:22 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:09:15 2011 +0000"
      },
      "message": "tcm_fc: Fix ft_send_tm LUN lookup OOPs\n\nThis patch fixes a bug in ft_send_tm() that was incorrectly calling\nft_get_lun_for_cmd() -\u003e transport_get_lun_for_cmd(), instead of using\ntransport_get_lun_for_tmr() for the proper struct se_lun lookup\nthat was triggering an OOPs in the se_cmd-\u003etmr_req failure path.\n\nThis patch fixes the issue by re-arranging the codepath where\ntransport_get_lun_for_tmr() is called after tmr request is allocated and\nmade it available as part of se_cmd.\n\nIt also drops the now unnecessary ft_get_lun_for_cmd() unpacking code, and\nuses scsilun_to_int() directly ahead of transport_get_lun_for_cmd() and\ntransport_get_lun_for_tmr() usage.\n\nSigned-off-by: Patil, Kiran \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "60d645a4e9e7e7ddc20e534fea82aa4e6947f911",
      "tree": "656848db8b14b92993df040058df24ce7012cb8b",
      "parents": [
        "5eff5be0b1993f4291f2b8c6d035b408010f96c5"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Jun 15 10:03:05 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:08:11 2011 +0000"
      },
      "message": "target: Fix incorrect strlen() NULL terminator checks\n\nThis patch fixes a number of cases in target core using an incorrectly\n\n\tif (strlen(foo) \u003e SOME_MAX_SIZE)\n\nAs strlen() returns the number of characters in the string not counting\nthe NULL character at the end.  So if you do something like:\n\n        char buf[10];\n\n        if (strlen(\"0123456789\") \u003e 10)\n                return -ETOOLONG;\n        snprintf(buf, 10, \"0123456789\");\n        printf(\"%s\\n\", buf);\n\nthen the last \"9\" gets chopped off and only \"012345678\" is printed.\n\nPlus I threw in one small related cleanup.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5eff5be0b1993f4291f2b8c6d035b408010f96c5",
      "tree": "6388265637ceb3420ab114579bd56eac43f85ca6",
      "parents": [
        "552523dcbf0f33d44d816da310be8227a2c1502a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Jun 13 23:10:49 2011 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:03:51 2011 +0000"
      },
      "message": "target: Drop bogus ERR_PTR usage in target_fabric_configfs_init\n\nIn the original code, there were several places inside the\ntarget_fabric_configfs_init() function that returned NULL on error\nand one place the returned an ERR_PTR.  There are two places that\ncall this function and they only check for NULL returns; they don\u0027t\ncheck for ERR_PTRs.  So I\u0027ve changed the ERR_PTR so now the function\nonly returns NULL on error.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "552523dcbf0f33d44d816da310be8227a2c1502a",
      "tree": "b3068ed11f76b583996b59f001d68bcc4be25156",
      "parents": [
        "233888644d80cc44330062e5e978c9e3a14c9cb9"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Jun 15 09:41:33 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:03:27 2011 +0000"
      },
      "message": "target: Fix ERR_PTR dereferencing bugs\n\ntransport_init_session() and core_tmr_alloc_req() never return NULL,\nthey only return ERR_PTRs on error.\n\nv2: Fix patch to return PTR_ERR(tl_nexus-\u003ese_sess) from Ankit Jain\u0027s\nfeedback.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Ankit Jain \u003cjankit@suse.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "233888644d80cc44330062e5e978c9e3a14c9cb9",
      "tree": "88b2b59e76a5f73d27ebda4a0e4d5a3bac49a741",
      "parents": [
        "7fd29aa920273b70be50c14c4b7e2213fb6623ce"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jun 22 01:02:21 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jun 23 23:59:45 2011 +0000"
      },
      "message": "target: Convert transport_deregister_session_configfs nacl_sess_lock to save irq state\n\nThis patch converts transport_deregister_session_configfs() to save/restore\nspinlock IRQ state for struct se_node_acl-\u003enacl_sess_lock access as tcm_qla2xxx\nlogic expects to call transport_deregister_session_configfs() code with\nirq save already held for struct qla_hw_data.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7fd29aa920273b70be50c14c4b7e2213fb6623ce",
      "tree": "e8fc3c2526db9cb1c76c91ca56434b5261f260f9",
      "parents": [
        "74d83b7eedab14e4b963a2220ff76f98fa6d4cb8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jun 23 23:48:32 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jun 23 23:59:45 2011 +0000"
      },
      "message": "target: Fix transport_get_lun_for_tmr failure cases\n\nThis patch fixes two possible NULL pointer dereferences in target v4.0\ncode where se_tmr release path in core_tmr_release_req() can OOPs upon\ntransport_get_lun_for_tmr() failure by attempting to access se_device or\nse_tmr-\u003etmr_list without a valid member of se_device-\u003etmr_list during\ntransport_free_se_cmd() release.  This patch moves the se_tmr-\u003etmr_dev\npointer assignment in transport_get_lun_for_tmr() until after possible\n-ENODEV failures during unpacked_lun lookup.\n\nThis addresses an OOPs originally reported with LIO v4.1 upstream on\n.39 code here:\n\n    TARGET_CORE[qla2xxx]: Detected NON_EXISTENT_LUN Access for 0x00000000\n    BUG: unable to handle kernel NULL pointer dereference at 0000000000000550\n    IP: [\u003cffffffff81035ec4\u003e] __ticket_spin_trylock+0x4/0x20\n    PGD 0\n    Oops: 0000 [#1] SMP\n    last sysfs file: /sys/devices/system/cpu/cpu23/cache/index2/shared_cpu_map\n    CPU 1\n    Modules linked in: netconsole target_core_pscsi target_core_file\ntcm_qla2xxx target_core_iblock tcm_loop target_core_mod configfs\nipmi_devintf ipmi_si ipmi_msghandler serio_raw i7core_edac ioatdma dca\nedac_core ps_bdrv ses enclosure usbhid usb_storage ahci qla2xxx hid\nuas e1000e mpt2sas libahci mlx4_core scsi_transport_fc\nscsi_transport_sas raid_class scsi_tgt [last unloaded: netconsole]\n\n    Pid: 0, comm: kworker/0:0 Tainted: G        W   2.6.39+ #1 Xyratex Storage Server\n    RIP: 0010:[\u003cffffffff81035ec4\u003e] [\u003cffffffff81035ec4\u003e]__ticket_spin_trylock+0x4/0x20\n    RSP: 0018:ffff88063e803c08  EFLAGS: 00010286\n    RAX: ffff880619ab45e0 RBX: 0000000000000550 RCX: 0000000000000000\n    RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000550\n    RBP: ffff88063e803c08 R08: 0000000000000002 R09: 0000000000000000\n    R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000568\n    R13: 0000000000000001 R14: 0000000000000000 R15: ffff88060cd96a20\n    FS:  0000000000000000(0000) GS:ffff88063e800000(0000) knlGS:0000000000000000\n    CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n    CR2: 0000000000000550 CR3: 0000000001a03000 CR4: 00000000000006e0\n    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n    Process kworker/0:0 (pid: 0, threadinfo ffff880619ab8000, task ffff880619ab45e0)\n    Stack:\n     ffff88063e803c28 ffffffff812cf039 0000000000000550 0000000000000568\n     ffff88063e803c58 ffffffff8157071e ffffffffa028a1dc ffff88060f7e4600\n     0000000000000550 ffff880616961480 ffff88063e803c78 ffffffffa028a1dc\n    Call Trace:\n\u003cIRQ\u003e\n     [\u003cffffffff812cf039\u003e] do_raw_spin_trylock+0x19/0x50\n     [\u003cffffffff8157071e\u003e] _raw_spin_lock+0x3e/0x70\n     [\u003cffffffffa028a1dc\u003e] ? core_tmr_release_req+0x2c/0x60 [target_core_mod]\n     [\u003cffffffffa028a1dc\u003e] core_tmr_release_req+0x2c/0x60 [target_core_mod]\n     [\u003cffffffffa028d0d2\u003e] transport_free_se_cmd+0x22/0x50 [target_core_mod]\n     [\u003cffffffffa028d120\u003e] transport_release_cmd_to_pool+0x20/0x40 [target_core_mod]\n     [\u003cffffffffa028e525\u003e] transport_generic_free_cmd+0xa5/0xb0 [target_core_mod]\n     [\u003cffffffffa0147cc4\u003e] tcm_qla2xxx_handle_tmr+0xc4/0xd0 [tcm_qla2xxx]\n     [\u003cffffffffa0191ba3\u003e] __qla24xx_handle_abts+0xd3/0x150 [qla2xxx]\n     [\u003cffffffffa0197651\u003e] qla_tgt_response_pkt+0x171/0x520 [qla2xxx]\n     [\u003cffffffffa0197a2d\u003e] qla_tgt_response_pkt_all_vps+0x2d/0x220 [qla2xxx]\n     [\u003cffffffffa0171dd3\u003e] qla24xx_process_response_queue+0x1a3/0x670 [qla2xxx]\n     [\u003cffffffffa0196281\u003e] ? qla24xx_atio_pkt+0x81/0x120 [qla2xxx]\n     [\u003cffffffffa0174025\u003e] ? qla24xx_msix_default+0x45/0x2a0 [qla2xxx]\n     [\u003cffffffffa0174198\u003e] qla24xx_msix_default+0x1b8/0x2a0 [qla2xxx]\n     [\u003cffffffff810dadb4\u003e] handle_irq_event_percpu+0x54/0x210\n     [\u003cffffffff810dafb8\u003e] handle_irq_event+0x48/0x70\n     [\u003cffffffff810dd5ee\u003e] ? handle_edge_irq+0x1e/0x110\n     [\u003cffffffff810dd647\u003e] handle_edge_irq+0x77/0x110\n     [\u003cffffffff8100d362\u003e] handle_irq+0x22/0x40\n     [\u003cffffffff8157b28d\u003e] do_IRQ+0x5d/0xe0\n     [\u003cffffffff81571413\u003e] common_interrupt+0x13/0x13\n\u003cEOI\u003e\n     [\u003cffffffff813003f7\u003e] ? intel_idle+0xd7/0x130\n     [\u003cffffffff813003f0\u003e] ? intel_idle+0xd0/0x130\n     [\u003cffffffff8144832b\u003e] cpuidle_idle_call+0xab/0x1c0\n     [\u003cffffffff8100a26b\u003e] cpu_idle+0xab/0xf0\n     [\u003cffffffff81566c59\u003e] start_secondary+0x1cb/0x1d2\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e44ba033c5654dbfda53461c9b1f7dd9bd1d198f",
      "tree": "92654523983a855e466a332e104c0e51550a642d",
      "parents": [
        "1816315b10862277a961a70ec394b6607983041d"
      ],
      "author": {
        "name": "Vitaliy Ivanov",
        "email": "vitalivanov@gmail.com",
        "time": "Mon Jun 20 16:08:07 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jun 20 16:08:19 2011 +0200"
      },
      "message": "treewide: remove duplicate includes\n\nMany stupid corrections of duplicated includes based on the output of\nscripts/checkincludes.pl.\n\nSigned-off-by: Vitaliy Ivanov \u003cvitalivanov@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "e66ecd505addaaf40e7d352796ba8d344f6359dd",
      "tree": "3a97bb4ff8936ae73150a499acd73119cb7dca04",
      "parents": [
        "d60b7a0fc918245c6fb8cc2b15e570e040d8f38b"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:14 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 13:03:56 2011 -0400"
      },
      "message": "[SCSI] target: Convert TASK_ATTR to scsi_tcq.h definitions\n\nThis patch converts target core and follwing scsi-misc upstream fabric\nmodules to use include/scsi/scsi_tcq.h includes for SIMPLE, HEAD_OF_QUEUE\nand ORDERED SCSI tasks instead of scsi/libsas.h with TASK_ATTR*\n\n*) tcm_loop: Convert tcm_loop_allocate_core_cmd() + tcm_loop_device_reset() to\n   scsi_tcq.h\n*) tcm_fc: Convert ft_send_cmd() from FCP_PTA_* to scsi_tcq.h\n\nReported-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "d60b7a0fc918245c6fb8cc2b15e570e040d8f38b",
      "tree": "954f4a6144738b17f6c08e6a72cd30f537e272fd",
      "parents": [
        "af57c3ac9947990da2608561b71f4799eb7795c6"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:13 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 13:02:42 2011 -0400"
      },
      "message": "[SCSI] target: Convert REPORT_LUNs to use int_to_scsilun\n\nThis patch converts transport_core_report_lun_response() to use\ndrivers/scsi/scsi_scan.c:int_to_scsilun instead of using the\nstruct target_core_fabric_ops-\u003epack_lun() fabric provided API vector.\n\nIt also removes the tfo-\u003epack_lun check from target_fabric_tf_ops_check()\nand removes from struct target_core_fabric_ops-\u003epack_lun() from\ntarget_core_fabric_ops.h, and the following mainline scsi-misc fabric\nmodules:\n\n*) tcm_loop: Drop tcm_loop_pack_lun() usage\n*) tcm_fc: Drop ft_pack_lun() usage\n\nReported-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "af57c3ac9947990da2608561b71f4799eb7795c6",
      "tree": "35c113646dbd8f18d14e8060220ef9428e1bee61",
      "parents": [
        "f436677262a5b524ac87675014c6d4e8ee153029"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:12 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 13:01:05 2011 -0400"
      },
      "message": "[SCSI] target: Fix task-\u003etask_execute_queue\u003d1 clear bug + LUN_RESET OOPs\n\nThis patch fixes a bug where task-\u003etask_execute_queue\u003d1 was not being\ncleared once se_task had been removed from se_device-\u003eexecute_task_list,\nresulting in an OOPs in core_tmr_lun_reset() for the task-\u003etask_active\u003d0\ncase where transport_remove_task_from_execute_queue() was incorrectly\nbeing called.\n\nThis patch fixes two cases in transport_get_task_from_execute_queue()\nand transport_remove_task_from_execute_queue() to properly clear\ntask-\u003etask_execute_queue\u003d0 once list_del(\u0026task-\u003et_execute_list) has\nbeen called.\n\nIt also adds an explict check in transport_remove_task_from_execute_queue()\nto dump_stack + return if called with task-\u003etask_execute_queue\u003d0.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "f436677262a5b524ac87675014c6d4e8ee153029",
      "tree": "c3ab2fb111163ac52eb4999b83d3063ca4fca718",
      "parents": [
        "53ab6709b4d35b1924240854d794482fd7d33d4a"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:11 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 13:00:10 2011 -0400"
      },
      "message": "[SCSI] target: Fix bug with task_sg chained transport_free_dev_tasks release\n\nThis patch addresses a bug in the target core release path for HW\noperation where transport_free_dev_tasks() was incorrectly being called\nfrom transport_lun_remove_cmd() while releasing a se_cmd reference and\ncalling struct target_core_fabric_ops-\u003equeue_data_in().\n\nThis would result in a OOPs with HW target mode when the release of\nse_task-\u003etask_sg[] would happen before pci_unmap_sg() can be called in\nHW target mode fabric module code.  This patch addresses the issue by\nmoving transport_free_dev_tasks() from transport_lun_remove_cmd() into\ntransport_generic_free_cmd(), and adding TRANSPORT_FREE_CMD_INTR and\ntransport_generic_free_cmd_intr() to allow se_cmd descriptor release\nto happen fromfrom within transport_processing_thread() process context\nwhen release of se_cmd is not possible from HW interrupt context.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "53ab6709b4d35b1924240854d794482fd7d33d4a",
      "tree": "9a1b10d03d4c6aa91076dd6ea55a3874f0db590c",
      "parents": [
        "97868c8905a1537153d406c4a3aa39a503a5c299"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:10 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 12:58:17 2011 -0400"
      },
      "message": "[SCSI] target: Fix interrupt context bug with stats_lock and core_tmr_alloc_req\n\nThis patch fixes two bugs wrt to the interrupt context usage of target\ncore with HW target mode drivers.  It first converts the usage of struct\nse_device-\u003estats_lock in transport_get_lun_for_cmd() and core_tmr_lun_reset()\nto properly use spin_lock_irq() to address an BUG with CONFIG_LOCKDEP_SUPPORT\u003dy\nenabled.\n\nThis patch also adds a \u0027in_interrupt()\u0027 check to allow GFP_ATOMIC usage from\ncore_tmr_alloc_req() to fix a \u0027sleeping in interrupt context\u0027 BUG with HW\ntarget fabrics that require this logic to function.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "97868c8905a1537153d406c4a3aa39a503a5c299",
      "tree": "3814892385b463a3ba14d81bf4101285855300f6",
      "parents": [
        "3eef6257de48ff84a5d98ca533685df8a3beaeb8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:09 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 12:56:58 2011 -0400"
      },
      "message": "[SCSI] target: Fix multi task-\u003etask_sg[] chaining logic bug\n\nThis patch fixes a bug in transport_do_task_sg_chain() used by HW target\nmode modules with sg_chain() to provide a single sg_next() walkable memory\nlayout for use with pci_map_sg() and friends.  This patch addresses an\nissue with mapping multiple small block max_sector tasks across multiple\nstruct se_task-\u003etask_sg[] mappings for HW target mode operation.\n\nThis was causing OOPs with (cmd-\u003et_task-\u003et_tasks_no \u003e 1) I/O traffic for\nHW target drivers using transport_do_task_sg_chain(), and has been tested\nso far with tcm_fc(openfcoe), tcm_qla2xxx, and ib_srpt fabrics with\nt_tasks_no \u003e 1 IBLOCK backends using a smaller max_sectors to trigger the\noriginal issue.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nAcked-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "57d19e80f459dd845fb3cfeba8e6df8471bac142",
      "tree": "8254766715720228db3d50f1ef3c7fe003c06d65",
      "parents": [
        "ee9ec4f82049c678373a611ce20ac67fe9ad836e",
        "e64851f5a0ad6ec991f74ebb3108c35aa0323d5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "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: (39 commits)\n  b43: fix comment typo reqest -\u003e request\n  Haavard Skinnemoen has left Atmel\n  cris: typo in mach-fs Makefile\n  Kconfig: fix copy/paste-ism for dell-wmi-aio driver\n  doc: timers-howto: fix a typo (\"unsgined\")\n  perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c\n  md, raid5: Fix spelling error in comment (\u0027Ofcourse\u0027 --\u003e \u0027Of course\u0027).\n  treewide: fix a few typos in comments\n  regulator: change debug statement be consistent with the style of the rest\n  Revert \"arm: mach-u300/gpio: Fix mem_region resource size miscalculations\"\n  audit: acquire creds selectively to reduce atomic op overhead\n  rtlwifi: don\u0027t touch with treewide double semicolon removal\n  treewide: cleanup continuations and remove logging message whitespace\n  ath9k_hw: don\u0027t touch with treewide double semicolon removal\n  include/linux/leds-regulator.h: fix syntax in example code\n  tty: fix typo in descripton of tty_termios_encode_baud_rate\n  xtensa: remove obsolete BKL kernel option from defconfig\n  m68k: fix comment typo \u0027occcured\u0027\n  arch:Kconfig.locks Remove unused config option.\n  treewide: remove extra semicolons\n  ...\n"
    },
    {
      "commit": "3699d92a4d7b649bde67dff3cc681400992e0254",
      "tree": "728d226d93278025ed7c8ab35265877a000d7c3e",
      "parents": [
        "8a025bbc8ff897c36c6e2b91c2e852ea5e569394"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Mon Apr 18 16:24:14 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 17 10:52:46 2011 +0400"
      },
      "message": "[SCSI] tcm_fc: Adding FC_FC4 provider (tcm_fc) for FCoE target (TCM - target core) support\n\nThis is a comprehensive patch for FC-FC4 provider. tcm_fc is a FC-FC4\nprovider which glues target core (TCM) with Fiber channel library\n(libfc). tcm_fc uses existing FC4 provider hooks from Fiber channel\nlibrary. This Fiber channel library is used by FCoE (transport - FC\nover Ethernet) protocol driver as well.\n\nCombination of modules such as Fiber channel library, tcm_fc, TCM\ntarget core, and FCoE protocol driver enables functional FCoE target.\n\nThis patch includes initial commit for tcm_fc plus additional\nenhancement, bug fixes.\n\nThis tcm_fc module essentially contains 3 entry points such as \"prli\",\n\"prlo\", \"recv\".  When process login request (ELS_PRLI) request is\nreceived, Fiber channel library (libfc) module calls passive providers\n(FC-FC4, tcm_fc) (if any registered) \"prli\" function. Likewise when\nLOGO request is received, \"prlo\" function of passive provider is\ninvoked by libfc.  For all other request (e.g. any read/write, task\nmanagement, LUN inquiry commands), \"recv\" function of passiver\nprovider is invoked by libfc. Those passive providers \"prli, prlo,\nrecv\" functions interact with TCM target core for requested operation.\n\nThis module was primarily developed by \"Joe Eykholt\" and there were\nsignificant contributions from the people listed under signed-off.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\n\nAcked-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "07f9479a40cc778bc1462ada11f95b01360ae4ff",
      "tree": "0676cf38df3844004bb3ebfd99dfa67a4a8998f5",
      "parents": [
        "9d5e6bdb3013acfb311ab407eeca0b6a6a3dedbf",
        "cd2e49e90f1cae7726c9a2c54488d881d7f1cd1c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:15 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:59 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nFast-forwarded to current state of Linus\u0027 tree as there are patches to be\napplied for files that didn\u0027t exist on the old branch.\n"
    }
  ],
  "next": "6eab04a87677a37cf15b52e2b4b4fd57917102ad"
}
