)]}'
{
  "log": [
    {
      "commit": "a4dff3043c231d57f982af635c9d2192ee40e5ae",
      "tree": "929866a22366a1f98601b946049eaa3bb6a0b748",
      "parents": [
        "5f2a3d6191e49df5d56332d3b65d6636c355f635"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed May 30 16:25:41 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Jun 02 23:47:20 2012 -0700"
      },
      "message": "target/file: Use O_DSYNC by default for FILEIO backends\n\nConvert to use O_DSYNC for all cases at FILEIO backend creation time to\navoid the extra syncing of pure timestamp updates with legacy O_SYNC during\ndefault operation as recommended by hch.  Continue to do this independently of\nWrite Cache Enable (WCE) bit, as WCE\u003d0 is currently the default for all backend\ndevices and enabled by user on per device basis via attrib/emulate_write_cache.\n\nThis patch drops the now unnecessary fd_buffered_io\u003d token usage that was\noriginally signalling when to explictly disable O_SYNC at backend creation\ntime for buffered I/O operation.  This can end up being dangerous for a number\nof reasons during physical node failure, so go ahead and drop this option\nfor now when O_DSYNC is used as the default.\n\nAlso allow explict FUA WRITEs -\u003e vfs_fsync_range() call to function in\nfd_execute_cmd() independently of WCE bit setting.\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5f2a3d6191e49df5d56332d3b65d6636c355f635",
      "tree": "59a8a1caa788307c021d6f2bdf19983ccb690f02",
      "parents": [
        "af56e0aa35f3ae2a4c1a6d1000702df1dd78cb76"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 24 22:07:35 2012 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed May 30 16:15:33 2012 -0700"
      },
      "message": "sbp-target: rename a variable to avoid name clash\n\n\u0027int login_id\u0027 shadows \u0027static atomic_t login_id\u0027.\nSeen as compilation warning on x86-32.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Chris Boot \u003cbootc@bootc.net\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2c13bc0f8f0d3e13b42be70bf74fec8e56b58324",
      "tree": "92d629d732b5633baeddb9dd51d9e53334da254d",
      "parents": [
        "0bd3fbd4abeafa19ae0302d25194468b022d1a56",
        "a511ce3397803558a3591e55423f3ae6aa28c9db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 16:52:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 16:52:27 2012 -0700"
      },
      "message": "Merge branch \u0027sbp-target-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull sbp-2 (firewire) target mode support from Nicholas Bellinger:\n \"The FireWire SBP-2 Target is a driver for using an IEEE-1394\n  connection as a SCSI transport.  This module uses the SCSI Target\n  framework to expose LUNs to other machines attached to a FireWire bus,\n  in effect acting as a FireWire hard disk similar to FireWire Target\n  Disk mode on many Apple computers.\n\n  Also included are the two drivers/firewire/ patches required by\n  sbp-target to access fw_request fabric speed needed for mgt_agent\n  TCODE_WRITE_BLOCK_REQUEST ops, and exporting fw_card kref logic used\n  when creating/destroying active session references to individual\n  endpoints.\n\n  A credit goes to Chris in being able to get this code up and running\n  so quickly w/o any target core changes, and special thanks goes out to\n  Stefan Richter + Clemens Ladisch + Andy Grover for their help in\n  getting this driver ready for mainline.  Also, one of Chris\u0027s goals\n  was to be able to connect sbp-target to a PowerPC based MacOS-X based\n  client, that he accomplished along the way in this obligatory\n  screenshot:\n\n    http://linux-iscsi.org/wiki/File:Linux-fireware-target-bootc-macosx.png\n\n  Great work Chris + linux-1394 team !!\"\n\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n\n* \u0027sbp-target-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:\n  sbp-target: Initial merge of firewire/ieee-1394 target mode support\n  firewire: Move fw_card kref functions into linux/firewire.h\n  firewire: Add function to get speed from opaque struct fw_request\n"
    },
    {
      "commit": "c9bfa7d75ba7269c97595f03c3152372e8b37823",
      "tree": "18ff08a09721a21fda585c716574344220a50518",
      "parents": [
        "f4c16c581766a230c02bec4d513b09fe36264ae2",
        "f80e8ed3951455272c12693e35b259be8eb60b30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 17:37:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 17:37:09 2012 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull scsi-target changes from Nicholas Bellinger:\n \"There has been lots of work in existing code in a number of areas this\n  past cycle.  The major highlights have been:\n\n   * Removal of transport_do_task_sg_chain() from core + fabrics\n     (Roland)\n   * target-core: Removal of se_task abstraction from target-core and\n     enforce hw_max_sectors for pSCSI backends (hch)\n   * Re-factoring of iscsi-target tx immediate/response queues (agrover)\n   * Conversion of iscsi-target back to using target core memory\n     allocation logic (agrover)\n\n  We\u0027ve had one last minute iscsi-target patch go into for-next to\n  address a nasty regression bug related to the target core allocation\n  logic conversion from agrover that is not included in friday\u0027s\n  linux-next build, but has been included in this series.\n\n  On the new fabric module code front for-3.5, here is a brief status\n  update for the three currently in flight this round:\n\n   * usb-gadget target driver:\n\n  Sebastian Siewior\u0027s driver for supporting usb-gadget target mode\n  operation.  This will be going out as a separate PULL request from\n  target-pending/usb-target-merge with subsystem maintainer ACKs.  There\n  is one minor target-core patch in this series required to function.\n\n   * sbp ieee-1394/firewire target driver:\n\n  Chris Boot\u0027s driver for supportting the Serial Block Protocol (SBP)\n  across IEEE-1394 Firewire hardware.  This will be going out as a\n  separate PULL request from target-pending/sbp-target-merge with two\n  additional drivers/firewire/ patches w/ subsystem maintainer ACKs.\n\n   * qla2xxx LLD target mode infrastructure changes + tcm_qla2xxx:\n\n  The Qlogic \u003e\u003d 24xx series HW target mode LLD infrastructure patch-set\n  and tcm_qla2xxx fabric driver.  Support for FC target mode using\n  qla2xxx LLD code has been officially submitted by Qlogic to James\n  below, and is currently outstanding but not yet merged into\n  scsi.git/for-next..\n\n    [PATCH 00/22] qla2xxx: Updates for scsi \"misc\" branch\n    http://www.spinics.net/lists/linux-scsi/msg59350.html\n\n  Note there are *zero* direct dependencies upon this for-next series\n  for the qla2xxx LLD target + tcm_qla2xxx patches submitted above, and\n  over the last days the target mode team has been tracking down an\n  tcm_qla2xxx specific active I/O shutdown bug that appears to now be\n  almost squashed for 3.5-rc-fixes.\"\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (47 commits)\n  iscsi-target: Fix iov_count calculation bug in iscsit_allocate_iovecs\n  iscsi-target: remove dead code in iscsi_check_valuelist_for_support\n  target: Handle ATA_16 passthrough for pSCSI backend devices\n  target: Add MI_REPORT_TARGET_PGS ext. header + implict_trans_secs attribute\n  target: Fix MAINTENANCE_IN service action CDB checks to use lower 5 bits\n  target: add support for the WRITE_VERIFY command\n  target: make target_put_session void\n  target: cleanup transport_execute_tasks()\n  target: Remove max_sectors device attribute for modern se_task less code\n  target: lock \u003d\u003e unlock typo in transport_lun_wait_for_tasks\n  target: Enforce hw_max_sectors for SCF_SCSI_DATA_SG_IO_CDB\n  target: remove the t_se_count field in struct se_cmd\n  target: remove the t_task_cdbs_ex_left field in struct se_cmd\n  target: remove the t_task_cdbs_left field in struct se_cmd\n  target: remove struct se_task\n  target: move the state and execute lists to the command\n  target: simplify command to task linkage\n  target: always allocate a single task\n  target: replace -\u003eexecute_task with -\u003eexecute_cmd\n  target: remove the task_sectors field in struct se_task\n  ...\n"
    },
    {
      "commit": "f80e8ed3951455272c12693e35b259be8eb60b30",
      "tree": "0b348e90da1ce8e98d45346084ad2a1be47cbc78",
      "parents": [
        "b1e41d8cd43910fee82f27ab1381bc6cd66910b3"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 20 17:10:29 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 20 17:25:24 2012 -0700"
      },
      "message": "iscsi-target: Fix iov_count calculation bug in iscsit_allocate_iovecs\n\nThis patch fixes a bug in iscsit_allocate_iovecs() where iov_count was\nincorrectly calculated using min(1UL, data_length / PAGE_SIZE) instead of\nmax(1UL, data_length / PAGE_SIZE), that ends up triggering an OOPs for\nlarge block I/O when the SGL \u003c-\u003e iovec mapping exceeds the bogus iov_count\nallocation size.\n\nThis is a regression introduced during the iscsi-target conversion back\nto using core memory allocation here:\n\ncommit bfb79eac2026b411df9e253a9c350039b4b04bb7\nAuthor: Andy Grover \u003cagrover@redhat.com\u003e\nDate:   Tue Apr 3 15:51:29 2012 -0700\n\n    target/iscsi: Go back to core allocating data buffer for cmd\n\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b1e41d8cd43910fee82f27ab1381bc6cd66910b3",
      "tree": "d653bbb80bf2b3144e05223413f6792c87fc3d28",
      "parents": [
        "8da10935bc8358f03c9d90ed2e4a3bbaa19940ab"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Thu May 17 10:08:14 2012 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 17 12:04:53 2012 -0700"
      },
      "message": "iscsi-target: remove dead code in iscsi_check_valuelist_for_support\n\nNeither \"acceptor_values\" nor \"proposer_values\" can be NULL here when\nscanning the value lists for incoming iSCSI login parameters such as\nHeaderDigest\u003dCRC32C,None.\n\nSmatch complains because we are not allowed to pass NULL pointers to\nstrchr().  Also I removed a second later check for \"!acceptor_values\"\nbecause it gets checked on the next line in the do while condition.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "cd9323fd68aee3c1c6b5b21e5746c9d1b586fb58",
      "tree": "a1e5045e68a8a081a2e932846a0bf951128d93db",
      "parents": [
        "edc318d9fea6854df752ec8c645b960b0d5a1d23"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed May 16 16:05:26 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 17 12:02:43 2012 -0700"
      },
      "message": "target: Fix bug in handling of FILEIO + block_device resize ops\n\nThis patch fixes a bug in the handling of FILEIO w/ underlying block_device\nresize operations where the original fd_dev-\u003efd_dev_size was incorrectly being\nused in fd_get_blocks() for READ_CAPACITY response payloads.\n\nThis patch avoids using fd_dev-\u003efd_dev_size for FILEIO devices with\nan underlying block_device, and instead changes fd_get_blocks() to\nget the sector count directly from i_size_read() as recommended by hch.\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8da10935bc8358f03c9d90ed2e4a3bbaa19940ab",
      "tree": "700e56db8e6515a0616460020686ed56f5f4bd48",
      "parents": [
        "5b9a4d7280e160982a8ea37bc03619f53b5c98b7"
      ],
      "author": {
        "name": "mengcong",
        "email": "mc@linux.vnet.ibm.com",
        "time": "Thu May 17 11:14:46 2012 +0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 17 00:45:58 2012 -0700"
      },
      "message": "target: Handle ATA_16 passthrough for pSCSI backend devices\n\nThe cdrecord uses ATA_PASS_THROUGH_16 command while burning CDs\nwith a SATA CD-ROM. This patch adds support to it so that PSCSI\nCD-ROM passthrough works with the cdrecord.\n\n(nab: Add !passthrough check to prevent non pSCSI backends from ATA_16)\n\nSigned-off-by: Cong Meng \u003cmc@linux.vnet.ibm.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5b9a4d7280e160982a8ea37bc03619f53b5c98b7",
      "tree": "3d7fbce10e7379097f34276b6a8a7d090d4dc813",
      "parents": [
        "ba539743b70cd160c84bab1c82910d0789b820f8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed May 16 22:02:34 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 17 00:45:58 2012 -0700"
      },
      "message": "target: Add MI_REPORT_TARGET_PGS ext. header + implict_trans_secs attribute\n\nThis patch adds support for ALUA MI_REPORT_TARGET_PGS extended header\nformat defined within SPC-4.  It changes target core ALUA emulation logic\nwithin target_emulate_report_target_port_groups() to support both the\nextended and original length only header formats.\n\nIt includes adding a new \u0027implict_trans_secs\u0027 attribute for each ALUA\ntarget port group to control the value returned to the application client\nfor an recommended implict translation timeout in seconds.  By default\nthis value is currently set to zero, and limited up to 255 by virtue of\nusing a single byte in the extended header format.\n\nThis value is used by target_emulate_report_target_port_groups() within\nthe extended header logic to set IMPLICIT TRANSITION TIME as defined by\nspc4r30.\n\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Rob Evers \u003crevers@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ba539743b70cd160c84bab1c82910d0789b820f8",
      "tree": "dfcd54b96116920512e58301e682ffeec7c8f1ff",
      "parents": [
        "66246617ab7f0587f42ca49825a16d7a391fe15b"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed May 16 21:52:10 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 17 00:45:58 2012 -0700"
      },
      "message": "target: Fix MAINTENANCE_IN service action CDB checks to use lower 5 bits\n\nThis patch fixes the MAINTENANCE_IN service action type checks to only\nlook at the proper lower 5 bits of cdb byte 1.  This addresses the case\nwhere MI_REPORT_TARGET_PGS w/ extended header using the upper three bits of\ncdb byte 1 was not processed correctly in transport_generic_cmd_sequencer,\nas well as the three cases for standby, unavailable, and transition ALUA\nprimary access state checks.\n\nAlso add MAINTENANCE_IN to the excluded list in transport_generic_prepare_cdb()\nto prevent the PARAMETER DATA FORMAT bits from being cleared.\n\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Rob Evers \u003crevers@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "66246617ab7f0587f42ca49825a16d7a391fe15b",
      "tree": "3a3586cdaa64a78a08720e3437624853164d9b1f",
      "parents": [
        "33933a0e962bba4af32de7db912e2fdfef603d24"
      ],
      "author": {
        "name": "Bernhard Kohl",
        "email": "Riedel-und-Kohl@t-online.de",
        "time": "Sun May 13 23:39:01 2012 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue May 15 12:43:21 2012 -0700"
      },
      "message": "target: add support for the WRITE_VERIFY command\n\nSome legacy OS use WRITE_VERIFY on hard disks.\n\nSigned-off-by: Bernhard Kohl \u003cbernhard.kohl@gmx.net\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "edc318d9fea6854df752ec8c645b960b0d5a1d23",
      "tree": "0b36996acd203023c98c627ec90cee41abf70f49",
      "parents": [
        "cfebf8f42f47327fa54cf05c19b98f4bd5236a26"
      ],
      "author": {
        "name": "Bernhard Kohl",
        "email": "Riedel-und-Kohl@t-online.de",
        "time": "Sun May 13 23:39:37 2012 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon May 14 15:13:50 2012 -0700"
      },
      "message": "target: Fix SPC-2 RELEASE bug for multi-session iSCSI client setups\n\nThis patch addresses a bug in a special case for target core SPC-2 RELEASE\nlogic where the same physical client (eg: iSCSI InitiatorName) with\ndiffering iSCSI session identifiers (ISID) is allowed to incorrectly release\nthe same client\u0027s SPC-2 reservation from the non reservation holding path.\n\nNote this bug is specific to iscsi-target w/ SPC-2 reservations, and\nwith the default enforce_pr_isids\u003d1 device attr setting in target-core\ncontrols if a InitiatorName + different ISID reservations are handled\nthe same as a single iSCSI client entity.\n\nSigned-off-by: Bernhard Kohl \u003cbernhard.kohl@gmx.net\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "33933a0e962bba4af32de7db912e2fdfef603d24",
      "tree": "df8e63fc5554c5eae2950f9d07658e5bc3ce6b64",
      "parents": [
        "d28d96dcf635410422b41eca5203b0470dd059c1"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 11 10:35:08 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 11 15:01:52 2012 -0700"
      },
      "message": "target: make target_put_session void\n\nNo real change, it effectively already was.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d28d96dcf635410422b41eca5203b0470dd059c1",
      "tree": "1be69678d962cfaa08d8fafdaaa34c2f2b9ed157",
      "parents": [
        "11e764bd5ed4bb930e0ec5dd161df58307507347"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 11 10:33:41 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 11 15:01:48 2012 -0700"
      },
      "message": "target: cleanup transport_execute_tasks()\n\nThe function is effectively void and doesn\u0027t need any goto logic.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "cfebf8f42f47327fa54cf05c19b98f4bd5236a26",
      "tree": "6885aaed332ffc132f8de40d91f43364343a9415",
      "parents": [
        "06383f10c49f507220594a455c6491ca6f8c94ab"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 10 22:05:49 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 11 14:55:19 2012 -0700"
      },
      "message": "target: Drop incorrect se_lun_acl release for dynamic -\u003e explict ACL conversion\n\nThis patch removes some potentially problematic legacy code within\ncore_clear_initiator_node_from_tpg() that was originally intended to\nrelease left over se_lun_acl setup during dynamic NodeACL+MappedLUN\ngenerate when running with TPG demo-mode operation.\n\nSince we now only ever expect to allocate and release se_lun_acl from\nwithin target_core_fabric_configfs.c:target_fabric_make_mappedlun() and\ntarget_fabric_drop_mappedlun() context respectively, this code for\ndemo-mode release is incorrect and needs to be removed.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a511ce3397803558a3591e55423f3ae6aa28c9db",
      "tree": "4edeb3376af6a844a0589b54428380986b6970ea",
      "parents": [
        "fc5f80b152896c1ffded2a91d11dcb08ffcffebb"
      ],
      "author": {
        "name": "Chris Boot",
        "email": "bootc@bootc.net",
        "time": "Sat Apr 14 17:50:35 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed May 09 15:25:17 2012 -0700"
      },
      "message": "sbp-target: Initial merge of firewire/ieee-1394 target mode support\n\nThe FireWire SBP-2 Target is a driver for using an IEEE-1394 connection\nas a SCSI transport. This module uses the SCSI Target framework to\nexpose LUNs to other machines attached to a FireWire bus, in effect\nacting as a FireWire hard disk similar to FireWire Target Disk mode\non many Apple computers.\n\nThis commit contains the squashed pull from Chris Boot\u0027s SBP-2-Target:\n\n      https://github.com/bootc/Linux-SBP-2-Target.git patch-v3\n\nfirewire-sbp-target: Add sbp_base.h header\nfirewire-sbp-target: Add sbp_configfs.c\nfirewire-sbp-target: Add sbp_fabric.{c,h}\nfirewire-sbp-target: Add sbp_management_agent.{c,h}\nfirewire-sbp-target: Add sbp_login.{c,h}\nfirewire-sbp-target: Add sbp_target_agent.{c,h}\nfirewire-sbp-target: Add sbp_scsi_cmnd.{c,h}\nfirewire-sbp-target: Add to target Kconfig and Makefile\n\nAlso add bootc\u0027s entry to the MAINTAINERS file.  Great work Chris !!\n\nSigned-off-by: Chris Boot \u003cbootc@bootc.net\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "11e764bd5ed4bb930e0ec5dd161df58307507347",
      "tree": "fa753a950d19c2ef848c50c60f71019dcb912e74",
      "parents": [
        "2301917044b96fda41f794011368e623a9b7a435"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed May 09 12:42:09 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed May 09 15:08:47 2012 -0700"
      },
      "message": "target: Remove max_sectors device attribute for modern se_task less code\n\nThis patch removes the original usage of dev_attr-\u003emax_sectors in favor of\ndev_attr-\u003ehw_max_sectors that is now being enforced by target core from\nwithin transport_generic_cmd_sequencer() for SCF_SCSI_DATA_SG_IO_CDB ops.\n\nAfter the recent se_task removal patches from hch, this value for IBLOCK\nbackends being set via configfs by userspace from an saved max_sectors\nvalue that is turning out to be problematic, so it makes sense to go ahead\nand remove this now legacy attribute all-together.\n\nThis patch also continues to make se_dev_set_default_attribs() do\n(sectors / block_size) alignment for what actually get used by\ntarget_core_mod to be safe here, following the same alignment currently\nused by fabric_max_sectors.\n\nReported-by: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2301917044b96fda41f794011368e623a9b7a435",
      "tree": "74a928f86be838214f6351d2a58b8c63b0e83b11",
      "parents": [
        "7b4deef5d9a1fa74ccfbd07b4cfe795ee18fceca"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue May 08 13:28:59 2012 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed May 09 15:07:44 2012 -0700"
      },
      "message": "target: lock \u003d\u003e unlock typo in transport_lun_wait_for_tasks\n\ntarget_stop_cmd() returns with the lock held and IRQs disabled.  The\nintent was to unlock here.  This bug was originally added with:\n\ncommit cf572a9627c9ae86082216de109780c1d2e2ee28\nAuthor: Christoph Hellwig \u003chch@infradead.org\u003e\nDate:   Tue Apr 24 00:25:05 2012 -0400\n\n    target: move the state and execute lists to the command\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7b4deef5d9a1fa74ccfbd07b4cfe795ee18fceca",
      "tree": "514d8cf753dd60c5e576226cf36590daa072ac01",
      "parents": [
        "d5dc28eb92f2a2305a02cb3a5f1ed36542d47512"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 12:59:45 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed May 09 15:05:16 2012 -0700"
      },
      "message": "target: Enforce hw_max_sectors for SCF_SCSI_DATA_SG_IO_CDB\n\nInstead of depending upon a max_sectors value that may be set via\nconfigfs based upon original HW queue limitations, go ahead and convert to using\nthe hw_max_sectors reported by the backend device in order to determine when\nto reject an I/O\u0027s who\u0027s sector count exceeds what is supported by the backend\nwith a single se_cmd descriptor.\n\nIt addresses a potential case where se_dev_attrib.max_sectors for IBLOCK\nbackends has already been set via queue_max_sectors() to something small\nlike max_sectors\u003d32 (LVM, DRBD may do this), resulting typically sized\nSCF_SCSI_DATA_SG_IO_CDB to be incorrectly rejected with invalid_cdb_field\nin transport_generic_cmd_sequencer().\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d5dc28eb92f2a2305a02cb3a5f1ed36542d47512",
      "tree": "97f2721b2eaa270a329d4dd556cd254a94bdb41b",
      "parents": [
        "d43d6aea844e66b847e3a0e5cb2c24b6ba84908a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 24 00:25:09 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:11:28 2012 -0700"
      },
      "message": "target: remove the t_se_count field in struct se_cmd\n\nNow that tasks are gone we are guaranteed to only get a single completion\nper command, and thus don\u0027t need this counter.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d43d6aea844e66b847e3a0e5cb2c24b6ba84908a",
      "tree": "8a9a365b75d1bd186f29287a09702ba4e27b0c33",
      "parents": [
        "226b6faf2e30e272ee5a52c2ed0a8c8a1d7b47d1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 24 00:25:08 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:11:27 2012 -0700"
      },
      "message": "target: remove the t_task_cdbs_ex_left field in struct se_cmd\n\nNow that tasks are gone we are guaranteed to only get a single completion\nper command, and thus don\u0027t need this counter.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "226b6faf2e30e272ee5a52c2ed0a8c8a1d7b47d1",
      "tree": "f39c5904c6da5f04a6f5860c646005e21fba4282",
      "parents": [
        "5787cacd0bd5ee016ad807b244550d34fe2beebe"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 24 00:25:07 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:11:27 2012 -0700"
      },
      "message": "target: remove the t_task_cdbs_left field in struct se_cmd\n\nNow that tasks are gone we are guaranteed to only get a single completion\nper command, and thus don\u0027t need this counter.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5787cacd0bd5ee016ad807b244550d34fe2beebe",
      "tree": "d9303fd0c5767f945c13dfc34eb0b16a4f4d2730",
      "parents": [
        "cf572a9627c9ae86082216de109780c1d2e2ee28"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 24 00:25:06 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:11:26 2012 -0700"
      },
      "message": "target: remove struct se_task\n\nWe can use struct se_cmd for everything it did.  Make sure to pass the S/G\nlist and data direction to the execution function to ease adding back BIDI\nsupport later on.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "cf572a9627c9ae86082216de109780c1d2e2ee28",
      "tree": "fe6eec75bc3c388534390efe3be2b3b2c4c93903",
      "parents": [
        "785fdf70b2b46588c973ad8b65ed62871994452f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 24 00:25:05 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:11:26 2012 -0700"
      },
      "message": "target: move the state and execute lists to the command\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "785fdf70b2b46588c973ad8b65ed62871994452f",
      "tree": "e564a42e34e5a471f6d69a3d8e5e845ebf8c8eef",
      "parents": [
        "4101f0a89d4eb13f04cb0344d59a335b862ca5f9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 24 00:25:04 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:11:25 2012 -0700"
      },
      "message": "target: simplify command to task linkage\n\nNow that we only have a single task per command we can use a direct pointer\nto it instead of list.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4101f0a89d4eb13f04cb0344d59a335b862ca5f9",
      "tree": "9304d857f3e256c62d5e81559c26dd260ad053bf",
      "parents": [
        "6bb35e009b656b36f7985057822c5fbf53ea75b7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 24 00:25:03 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:11:25 2012 -0700"
      },
      "message": "target: always allocate a single task\n\nSimply transport_generic_new_cmd to only allocate a single task.  For normal\nunidirection commands nothing changes except that the code is a lot simpler\nnow.  Any BIDI support that used to work will stop now for the next few\npatches at least.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6bb35e009b656b36f7985057822c5fbf53ea75b7",
      "tree": "31384150dbd2828ee72a0802efb23692511f032f",
      "parents": [
        "bd31377878868a47b2d2e6f570fb0cace828555b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Apr 23 11:35:33 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:11:14 2012 -0700"
      },
      "message": "target: replace -\u003eexecute_task with -\u003eexecute_cmd\n\nMake CDB emulation work on commands instead of tasks again as a preparation\nof removing tasks completely.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "bd31377878868a47b2d2e6f570fb0cace828555b",
      "tree": "f42aca1e190ab4bf4a1cca98e5a354b81a9a33c2",
      "parents": [
        "7a83aa4e7b26ba61b9dc98d5c0bf725f4df0043f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Apr 23 11:35:32 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:03:46 2012 -0700"
      },
      "message": "target: remove the task_sectors field in struct se_task\n\nRemove the task_sectors field that isn\u0027t used anywhere.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7a83aa4e7b26ba61b9dc98d5c0bf725f4df0043f",
      "tree": "dc2c7e29f7850e238e5f752aaeb4bbaa8dd69f94",
      "parents": [
        "72a0e5e2e2e6b577343c79013611ad5701e94482"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Apr 23 11:35:31 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:03:41 2012 -0700"
      },
      "message": "target: remove the task_size field in struct se_task\n\nNow that we don\u0027t split commands the size field in the task is always\nequivalent to the one in the CDB, even in cases where we have two tasks\ndue to a BIDI transfer.  Just refer the the size in the command instead\nof duplicating it in the task.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "72a0e5e2e2e6b577343c79013611ad5701e94482",
      "tree": "06e41f5240a98040a2a6eed30ab75c0c4213baf2",
      "parents": [
        "ed3102c678c6274933948f9097bb4e2b314e5f82"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Apr 23 11:35:30 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:02:59 2012 -0700"
      },
      "message": "target: remove the task_lba field in struct se_task\n\nNow that we don\u0027t split commands the lba field in the task is always\nequivalent to the one in the CDB, even in cases where we have two tasks\ndue to a BIDI transfer.  Just refer the the lba in the command instead\nof duplicating it in the task.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ed3102c678c6274933948f9097bb4e2b314e5f82",
      "tree": "a1dabb18032a61539905fe932bc1949cb6e8dd80",
      "parents": [
        "32d8d2e4300cabb0acbf4b60fa695924be27d0d1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Apr 23 11:35:29 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:02:59 2012 -0700"
      },
      "message": "target: remove target_get_task_cdb\n\nNow that tasks are always the same size as the command there is no need\nto rewrite a CDB in common code.  Notw that we keep the separately allocated\nCDB in the pscsi and stgt backends for now, to easy reintroducing any\ncommand splitting local to these backends if nessecary.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "32d8d2e4300cabb0acbf4b60fa695924be27d0d1",
      "tree": "bd8a6e060e5f96a6efa975b46b346ea80b3da47d",
      "parents": [
        "ed0b2144c50b03ed926aa1c582178abb661325e2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Apr 23 11:35:28 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:02:41 2012 -0700"
      },
      "message": "target: remove the unused transport_limit_task_sectors helper\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ed0b2144c50b03ed926aa1c582178abb661325e2",
      "tree": "0a96bd9c6f20e936908407a60a2501bee6f541e1",
      "parents": [
        "381e309a658feadb48c14566b3b26ccb7eec75a0"
      ],
      "author": {
        "name": "Stefan Hajnoczi",
        "email": "stefanha@linux.vnet.ibm.com",
        "time": "Mon Apr 30 16:35:13 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:02:33 2012 -0700"
      },
      "message": "target: Handle GET_EVENT_STATUS_NOTIFICATION passthrough\n\nThe SCSI MMC GET_EVENT_STATUS_NOTIFICATION command can be used to find\nout about media change, among other things.  This patch adds it to the\ncommand sequencer so that PSCSI CD-ROM passthrough works with modern\nLinux guests that issue this command.\n\nTested-by: Cong Meng \u003cmengcong@cn.ibm.com\u003e\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@linux.vnet.ibm.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "381e309a658feadb48c14566b3b26ccb7eec75a0",
      "tree": "bebfccfbb0353296a9b2d5c3f8e563341296d0e9",
      "parents": [
        "bfb79eac2026b411df9e253a9c350039b4b04bb7"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Apr 17 09:33:59 2012 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun May 06 15:02:33 2012 -0700"
      },
      "message": "target/iscsi: cleanup some allocation style issues\n\nWe can use kcalloc() here instead of kzalloc().  It\u0027s better style and\nit has overflow checking built in.\n\nAlso -ENOMEM is the correct error code for allocation errors.  -1 means\n-EPERM.  None of the callers preserve the error codes so it doesn\u0027t\nmatter except as a cleanup.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "bfb79eac2026b411df9e253a9c350039b4b04bb7",
      "tree": "84b492b7d4c06c1083007b05fbcdae1bbb1f551f",
      "parents": [
        "11e319ed95dc0e8f0fa4cad88b33152e9203b262"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:29 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:39 2012 -0700"
      },
      "message": "target/iscsi: Go back to core allocating data buffer for cmd\n\nWe originally changed iscsi to allocate its own buffers just as an\nintermediate step to clean up some core buffer allocation mechanisms. Now\nwe can put it back.\n\nAlso had to change allocate_iovecs to use data_length instead of\nt_data_nents because iovecs are now allocated before the data buffer, thus\nt_data_nents is not yet initialized.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "11e319ed95dc0e8f0fa4cad88b33152e9203b262",
      "tree": "7e239e19ff724d7a8c7db55f404763843eb7e7db",
      "parents": [
        "4334e49bcae6f4602eb5c52158b8fb89d8941d99"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:28 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:39 2012 -0700"
      },
      "message": "target: Call core_alua_check_nonop_delay in target_submit_cmd()\n\nIt appears iscsi is the only one to call this in its cmd submit path, but\nit appears to be applicable to all fabrics, and should always be called.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4334e49bcae6f4602eb5c52158b8fb89d8941d99",
      "tree": "33c0ba79b0d172e21aac919675d1a49bbbef8935",
      "parents": [
        "ebf1d95ca297a06fe760177b614646dcec06abef"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:25 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:38 2012 -0700"
      },
      "message": "target/iscsi: Fold _decide_list_to_build into _build_pdu_and_seq_lists\n\nRename iscsit_build_pdu_and_seq_list to iscsit_do_build_pdu_and_seq_lists\n\nRename iscsit_do_build_list to iscsit_build_pdu_and_seq_lists\n\nMove code from iscsit_decide_list_to_build into _seq_pdu_list.c, seems\na better fit.\n\nAlso update some comments in pdu/seq code for correctness and whitespace.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ebf1d95ca297a06fe760177b614646dcec06abef",
      "tree": "6ee7e2c5934ff0e7cd7e30b1e02590d0b4145406",
      "parents": [
        "065ca1e42ffd74dd03cf60f61cead35934c91ed5"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:24 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:38 2012 -0700"
      },
      "message": "target/iscsi: Eliminate iscsi_cmd.data_length\n\nRedundant, just use iscsi_cmd-\u003ese_cmd.data_length once se_cmd is\ninitialized, or hdr-\u003edata_length before then.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "065ca1e42ffd74dd03cf60f61cead35934c91ed5",
      "tree": "0b346d469892ba835b8bb85f23b74c490c6d3af3",
      "parents": [
        "d28b11692e6ec577cec70606d793e14843124a03"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:23 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:37 2012 -0700"
      },
      "message": "target/iscsi: Move init_se_cmd closer to lookup_cmd_lun\n\nif we can get calls to init_se_cmd, get_sess_cmd, lookup_cmd_lun,\ncore_alua_check_nonop_delay, and handle_cdb_direct next to each other,\nthen we can just call target_submit_cmd. This is a step towards that\ngoal.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d28b11692e6ec577cec70606d793e14843124a03",
      "tree": "dd16687e7bec2f24a026231ac3f7b73352e06e60",
      "parents": [
        "b16a35b050e70c8376250b563785e3038c4b6393"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:22 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:37 2012 -0700"
      },
      "message": "target/iscsi: Inline iscsit_allocate_se_cmd and *_for_tmr\n\nTrying to move a bunch of stuff around so iscsi can use target_submit_cmd\nsomeday, and so stuff needs to be in that function directly instead of\nhidden, so it can be reordered etc.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b16a35b050e70c8376250b563785e3038c4b6393",
      "tree": "9985d1ce229d39fbe4ccd3539a093d0b59aa17b1",
      "parents": [
        "a12f41f8412ff57057906ebbe146fda37db158ac"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:21 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:36 2012 -0700"
      },
      "message": "target: rewrite comment for generic_new_cmd\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a12f41f8412ff57057906ebbe146fda37db158ac",
      "tree": "e3138df9188c5fff3156e53c8f6781240ee062cb",
      "parents": [
        "8b1e1244db85d58f7c612870ec2c1afd9098ae93"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:20 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:36 2012 -0700"
      },
      "message": "target: Rename target_allocate_tasks to target_setup_cmd_from_cdb\n\nThis patch renames a horribly misnamed function that no longer allocate\ntasks to something more descriptive for it\u0027s modern use in target core.\n\n(nab: Fix up ib_srpt to use this as well ahead of a target_submit_cmd\nconversion)\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8b1e1244db85d58f7c612870ec2c1afd9098ae93",
      "tree": "2f96b3c2df7fb323562dd094f022cbae357df62d",
      "parents": [
        "6f3c0e69a9c20441bdc6d3b2d18b83b244384ec6"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:12 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:35 2012 -0700"
      },
      "message": "target/iscsi: Misc cleanups from Agrover (round 2)\n\nThis patch includes the handful of squashed patches for target/iscsi from\nAndy\u0027s original series into lio-core/master code:\n\n*) Make iscsit_add_reject static\n*) Remove unused data_offset_end from iscsi_datain_req\n*) Remove \"#if 0\" stubs\n*) Rename iscsi_datain_req to cmd_datain_node\n*) Cleanups for built_r2ts_for_cmd()\n*) Cleanups for Cleanup build_sendtargets_response()\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6f3c0e69a9c20441bdc6d3b2d18b83b244384ec6",
      "tree": "c974a5838d4b117acee40eeeb00b786cb2e0db21",
      "parents": [
        "4580cf38483790a4304a15328303566a054d4ea5"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:09 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:34 2012 -0700"
      },
      "message": "target/iscsi: Refactor target_tx_thread immediate+response queue loops\n\nImmediate queue:\n\nConsolidate down to one switch statement by moving send_tx_data and stuff\nfrom second switch into the first switch, or the functions the first switch\ncalls.\n\nResponse queue:\n\nDo not lock istate_lock except directly around i_state modifications.\n\nPut entire ISTATE_SEND_DATAIN path within first switch statement, in prep\nfor further refactoring.\n\nAll other cases set use_misc \u003d 1 and will not be using sendpage, so just\nuse send_tx_data for these and set use_misc param to 1.\n\nmap_sg, sent_status, use_misc, and se_cmd vars no longer needed.\n\nThen put immediate and response handling in separate functions in order\nto get iscsi_target_tx_thread down to where it fits on a page.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4580cf38483790a4304a15328303566a054d4ea5",
      "tree": "e0f237256ec32ba4c9e98ecdbd36e4e752a7cbac",
      "parents": [
        "c6037cc546ca10cbdc5b60f0598b4ddcb181fe5d"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:08 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:34 2012 -0700"
      },
      "message": "target/iscsi: Remove unneeded locking from iscsi_target_tx_thread\n\nWhen processing immediate queue, we\u0027re switching on a local variable\nso it\u0027s not necessary to lock around it. However, we are modifying\ncmd-\u003ei_state in two spots, so lock around those parts only.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c6037cc546ca10cbdc5b60f0598b4ddcb181fe5d",
      "tree": "e94de0fb6cd142cad6e8152c7130da1caefcf951",
      "parents": [
        "2fbb471e7821e3a12334054cd90aa3f3edb22cc3"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:02 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:33 2012 -0700"
      },
      "message": "target/iscsi: Misc cleanups from Agrover (round 1)\n\n*) Use decoded cmd-\u003eimmediate_cmd for conditional instead of\n   re-examining hdr-\u003eopcode\n*) Make iscist_dataout_post_crc_passed more legible\n*) use max() to reduce code in build_r2ts_for_cmd()\n*) Remove CONFIG_SMP and if 0 ifdefs\n*) Replace if/goto with a while loop\n*) Remove unused conn-\u003etx_immediate_queue and tx_response_queue\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2fbb471e7821e3a12334054cd90aa3f3edb22cc3",
      "tree": "c9937293332a96574b739a9e7cc77a9e13df9ea2",
      "parents": [
        "957525a2424aad367d6e0efb64e440b2b37fa5cd"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:01 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:33 2012 -0700"
      },
      "message": "target/iscsi: Rename iscsi_cmd.i_list to iscsi_cmd.i_conn_node\n\nThe name change makes it clear this list_head is so the cmd can be an\nitem in the connection\u0027s conn_cmd_list.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "957525a2424aad367d6e0efb64e440b2b37fa5cd",
      "tree": "dc56eaa7a6e60ad674059d110e6d4145adb55efd",
      "parents": [
        "6f9e7f01b69bc2d6021e4ab827e1fd78c82cbc52"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Mar 30 11:29:15 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:32 2012 -0700"
      },
      "message": "target: Remove transport_do_task_sg_chain() and associated detritus\n\nNow that all fabrics are converted over to using se_cmd-\u003et_data_sg\ndirectly, we can drop the task sg chaining support.  With the modern\nmemory allocation in target core, task sg chaining is needless\noverhead -- we would split up the main cmd sglist into pieces, and\nthen splice those pieces back together instead of just using the\noriginal list directly.\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": "e182d6828d3144f7206829398c95fc14b78e9bbc",
      "tree": "7d6be3d901dd51d20fac3690f973e6b00e7d71ef",
      "parents": [
        "bebe2fdc17835f9330de2a15c8ca393f92acd250"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Mar 30 11:29:11 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:31 2012 -0700"
      },
      "message": "tcm_fc: Remove use of transport_do_task_sg_chain()\n\nWith the modern target core, se_cmd-\u003et_data_sg already points to a\nsglist that covers the whole command.  So task_sg chaining is needless\noverhead and obfuscation -- instead of splicing the split up task\nsglists back into one list, we can just use the original list directly.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Kiran Patil \u003cKiran.patil@intel.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "bebe2fdc17835f9330de2a15c8ca393f92acd250",
      "tree": "1517e9dc463055400cce84c183bffa5f69c974e7",
      "parents": [
        "83799efbfffff62678306ce5e98f4d6d0e069e23"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Mar 26 17:53:17 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:31 2012 -0700"
      },
      "message": "target: stop splitting commands into multiple tasks\n\nFrom hch:\n\nThe high-performance backends (iblock and rd) support tasks of unlimited\nsize.  With that there is no reason to keep a complex infrastructure for\nsplitting up commands in place.  Stop doing so and only submit a single\ntask per data direction.  Once this is in place we can slowly remove fields\nfrom the task that duplicate things in the command, or move other fields\ninto the command.\n\nFrom nab:\n\nThe benefit to IBLOCK performance by removing the additional\nfast-path allocation overhead + SGL mapping to se_task-\u003etask_sg[] is now\ngreater than transparently supporting an received CDB I/O length that\nexceeds what is allowed by backend pSCSI LLD hardware max_sectors, that\nwas originally supported for all backend export cases.\n\nThis change may effect some users of pSCSI users on legacy hardware, but\nI think most folks are now using TYPE_DISK struct scsi_device export\nwith IBLOCK.  The only other place where this may can issues that cannot\nbe resolved with IBLOCK TYPE_DISK is using TYPE_ROM, TYPE_TAPE or other\npSCSI non TYPE_DISK export with an SCSI LLDs using a smaller\nmax_sectors.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "83799efbfffff62678306ce5e98f4d6d0e069e23",
      "tree": "f0d2826c2bb6a196de9706b0ed9899d5f3f515f0",
      "parents": [
        "8feb58d04b23e65c3d302f063544f3a1ae65e887"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Mar 26 04:57:08 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:30 2012 -0700"
      },
      "message": "target: don\u0027t limit transfer sizes for the ramdisk backend\n\nThe ramdisk backend has not inherent limitations for handling requests,\nso don\u0027t artificially limits the transfer size.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8feb58d04b23e65c3d302f063544f3a1ae65e887",
      "tree": "2d949f1a92bf277c8ccac669c187ecd4f527a74b",
      "parents": [
        "b0d7994660af1601cc26ef7ab748569fdb9c253b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Mar 26 04:56:41 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:30 2012 -0700"
      },
      "message": "target: misc ramdisk backend cleanups\n\nRemove various leftovers of the old direct/indirect split, as well as the\nunused rd_request structure and a couple unused defines and fields.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b0d7994660af1601cc26ef7ab748569fdb9c253b",
      "tree": "49740bdc2f2284762b1d367295b238c5f3bc931d",
      "parents": [
        "58d926187758f76647d68e2f51ce44e6ace81873"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Jan 10 14:16:59 2012 +0100"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:03 2012 -0700"
      },
      "message": "target: add unknown size flag to target_submit_cmd()\n\nThe UASP protocol does not inform the target device upfront how much\ndata it should expect so we have to learn in from the CDB.  So in order\nto handle this case, add a TARGET_SCF_UNKNOWN_SIZE to target_submit_cmd()\nand perform an explictly assignment for se_cmd-\u003edata_length from the\nextracted CDB size in transport_generic_cmd_sequencer().\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "58d926187758f76647d68e2f51ce44e6ace81873",
      "tree": "c877294c394ab14cbdeca4af1a3e7835d644f73b",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Mar 20 21:26:48 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 16:04:58 2012 -0700"
      },
      "message": "target: Remove obsolete DF_READ_ONLY usage\n\nThis was used at one time as a hack by FILEIO backend registration to\nallow a struct block_device that was claimed with blkdev_get (by a local\nfilesystem mount for example) to be exported as read-only (SCSI WP\u003d1).\n\nSince FILEIO backend registration will no longer attempt to obtain\nexclusive access to an underlying struct block_device here, this flag is\nnow obsolete.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "06383f10c49f507220594a455c6491ca6f8c94ab",
      "tree": "aeed502673297971463114c1046e82c74ab498f2",
      "parents": [
        "e1c4038282c7586c3544542b37872c434669d3ac"
      ],
      "author": {
        "name": "Mark Rustad",
        "email": "mark.d.rustad@intel.com",
        "time": "Tue Apr 03 10:24:52 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Apr 06 18:57:05 2012 -0700"
      },
      "message": "tcm_fc: Do not free tpg structure during wq allocation failure\n\nAvoid freeing a registered tpg structure if an alloc_workqueue call\nfails.  This fixes a bug where the failure was leaking memory associated\nwith se_portal_group setup during the original core_tpg_register() call.\n\nSigned-off-by: Mark Rustad \u003cmark.d.rustad@intel.com\u003e\nAcked-by: Kiran Patil \u003cKiran.patil@intel.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e1c4038282c7586c3544542b37872c434669d3ac",
      "tree": "f747aea02b1e52b14ba89bd7606cd4d8bdccc279",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Mark Rustad",
        "email": "mark.d.rustad@intel.com",
        "time": "Tue Apr 03 10:24:41 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Apr 06 18:56:43 2012 -0700"
      },
      "message": "tcm_fc: Add abort flag for gracefully handling exchange timeout\n\nAdd abort flag and use it to terminate processing when an exchange\nis timed out or is reset. The abort flag is used in place of the\ntransport_generic_free_cmd function call in the reset and timeout\ncases, because calling that function in that context would free\nmemory that was in use. The aborted flag allows the lifetime to\nbe managed in a more normal way, while truncating the processing.\n\nThis change eliminates a source of memory corruption which\nmanifested in a variety of ugly ways.\n\n(nab: Drop unused struct fc_exch *ep in ft_recv_seq)\n\nSigned-off-by: Mark Rustad \u003cmark.d.rustad@intel.com\u003e\nAcked-by: Kiran Patil \u003cKiran.patil@intel.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1ab142d499294b844ecc81e8004db4ce029b0b61",
      "tree": "9db85a456d0cba3de8b9bd6671b1b52fa939770c",
      "parents": [
        "267d7b23dd62f6ec55e0fba777e456495c308fc7",
        "187e70a554e0f0717a65998bc9199945cbbd4692"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:38:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:38:04 2012 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull SCSI target updates from Nicholas Bellinger:\n \"This contains the usual set of updates and bugfixes to target-core +\n  existing fabric module code, along with a handful of the patches\n  destined for v3.3 stable.\n\n  It also contains the necessary target-core infrastructure pieces\n  required to run using tcm_qla2xxx.ko WWPNs with the new Qlogic Fibre\n  Channel fabric module currently queued in target-pending/for-next-merge,\n  and coming for round 2.\n\n  The highlights for this series include:\n\n   - Add target_submit_tmr() helper function for fabric task management\n     (andy)\n   - Convert tcm_fc to use target_submit_tmr() (andy)\n   - Replace target core various cmd flags with a transport state (hch)\n   - Convert loopback to use workqueue submission (hch)\n   - Convert target core to use array_zalloc for tpg_lun_list (joern)\n   - Convert target core to use array_zalloc for device_list (joern)\n   - Add target core support for TMR_ABORT_TASK (nab)\n   - Add target core se_sess-\u003esess_kref + get/put helpers (nab)\n   - Add target core se_node_acl-\u003eacl_kref for -\u003eacl_free_comp usage\n     (nab)\n   - Convert iscsi-target to use target_put_session + sess_kref (nab)\n   - Fix tcm_fc fc_exch memory leak in ft_send_resp_status (nab)\n   - Fix ib_srpt srpt_handle_cmd send_ioctx-\u003eioctx_kref leak on\n     exception (nab)\n   - Fix target core up handling of short INQUIRY buffers (roland)\n   - Untangle target-core front-end and back-end meanings of max_sectors\n     attribute (roland)\n   - Set loopback residual field for SCSI commands (roland)\n   - Fix target-core 16-bit target ports for SET TARGET PORT GROUPS\n     emulation (roland)\n\n  Thanks again to Andy, Christoph, Joern, Roland, and everyone who has\n  contributed this round!\"\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (64 commits)\n  ib_srpt: Fix srpt_handle_cmd send_ioctx-\u003eioctx_kref leak on exception\n  loopback: Fix transport_generic_allocate_tasks error handling\n  iscsi-target: remove improper externs\n  iscsi-target: Remove unused variables in iscsi_target_parameters.c\n  target: remove obvious warnings\n  target: Use array_zalloc for device_list\n  target: Use array_zalloc for tpg_lun_list\n  target: Fix sense code for unsupported SERVICE ACTION IN\n  target: Remove hack to make READ CAPACITY(10) lie if thin provisioning is enabled\n  target: Bump core version to v4.1.0-rc2-ml + fabric versions\n  tcm_fc: Fix fc_exch memory leak in ft_send_resp_status\n  target: Drop unused legacy target_core_fabric_ops API callers\n  iscsi-target: Convert to use target_put_session + sess_kref\n  target: Convert se_node_acl-\u003eacl_group removal to use -\u003eacl_kref\n  target: Add se_node_acl-\u003eacl_kref for -\u003eacl_free_comp usage\n  target: Add se_node_acl-\u003eacl_free_comp for NodeACL release path\n  target: Add se_sess-\u003esess_kref + get/put helpers\n  target: Convert session_lock to irqsave\n  target: Fix typo in drivers/target\n  iscsi-target: Fix dynamic -\u003e explict NodeACL pointer reference\n  ...\n"
    },
    {
      "commit": "3556485f1595e3964ba539e39ea682acbb835cee",
      "tree": "7f5ee254f425b1427ac0059b5f347a307f8538a1",
      "parents": [
        "b8716614a7cc2fc15ea2a518edd04755fb08d922",
        "09f61cdbb32a9d812c618d3922db533542736bb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:25:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:25:04 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security\n\nPull security subsystem updates for 3.4 from James Morris:\n \"The main addition here is the new Yama security module from Kees Cook,\n  which was discussed at the Linux Security Summit last year.  Its\n  purpose is to collect miscellaneous DAC security enhancements in one\n  place.  This also marks a departure in policy for LSM modules, which\n  were previously limited to being standalone access control systems.\n  Chromium OS is using Yama, and I believe there are plans for Ubuntu,\n  at least.\n\n  This patchset also includes maintenance updates for AppArmor, TOMOYO\n  and others.\"\n\nFix trivial conflict in \u003cnet/sock.h\u003e due to the jumo_label-\u003estatic_key\nrename.\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (38 commits)\n  AppArmor: Fix location of const qualifier on generated string tables\n  TOMOYO: Return error if fails to delete a domain\n  AppArmor: add const qualifiers to string arrays\n  AppArmor: Add ability to load extended policy\n  TOMOYO: Return appropriate value to poll().\n  AppArmor: Move path failure information into aa_get_name and rename\n  AppArmor: Update dfa matching routines.\n  AppArmor: Minor cleanup of d_namespace_path to consolidate error handling\n  AppArmor: Retrieve the dentry_path for error reporting when path lookup fails\n  AppArmor: Add const qualifiers to generated string tables\n  AppArmor: Fix oops in policy unpack auditing\n  AppArmor: Fix error returned when a path lookup is disconnected\n  KEYS: testing wrong bit for KEY_FLAG_REVOKED\n  TOMOYO: Fix mount flags checking order.\n  security: fix ima kconfig warning\n  AppArmor: Fix the error case for chroot relative path name lookup\n  AppArmor: fix mapping of META_READ to audit and quiet flags\n  AppArmor: Fix underflow in xindex calculation\n  AppArmor: Fix dropping of allowed operations that are force audited\n  AppArmor: Add mising end of structure test to caps unpacking\n  ...\n"
    },
    {
      "commit": "9f3938346a5c1fa504647670edb5fea5756cfb00",
      "tree": "7cf6d24d6b076c8db8571494984924cac03703a2",
      "parents": [
        "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
        "317b6e128247f75976b0fc2b9fd8d2c20ef13b3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "message": "Merge branch \u0027kmap_atomic\u0027 of git://github.com/congwang/linux\n\nPull kmap_atomic cleanup from Cong Wang.\n\nIt\u0027s been in -next for a long time, and it gets rid of the (no longer\nused) second argument to k[un]map_atomic().\n\nFix up a few trivial conflicts in various drivers, and do an \"evil\nmerge\" to catch some new uses that have come in since Cong\u0027s tree.\n\n* \u0027kmap_atomic\u0027 of git://github.com/congwang/linux: (59 commits)\n  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal\n  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]\n  drbd: remove the second argument of k[un]map_atomic()\n  zcache: remove the second argument of k[un]map_atomic()\n  gma500: remove the second argument of k[un]map_atomic()\n  dm: remove the second argument of k[un]map_atomic()\n  tomoyo: remove the second argument of k[un]map_atomic()\n  sunrpc: remove the second argument of k[un]map_atomic()\n  rds: remove the second argument of k[un]map_atomic()\n  net: remove the second argument of k[un]map_atomic()\n  mm: remove the second argument of k[un]map_atomic()\n  lib: remove the second argument of k[un]map_atomic()\n  power: remove the second argument of k[un]map_atomic()\n  kdb: remove the second argument of k[un]map_atomic()\n  udf: remove the second argument of k[un]map_atomic()\n  ubifs: remove the second argument of k[un]map_atomic()\n  squashfs: remove the second argument of k[un]map_atomic()\n  reiserfs: remove the second argument of k[un]map_atomic()\n  ocfs2: remove the second argument of k[un]map_atomic()\n  ntfs: remove the second argument of k[un]map_atomic()\n  ...\n"
    },
    {
      "commit": "5928a2b60cfdbad730f93696acab142d0b607280",
      "tree": "49bb21c9219673e61bad7a7c9202c7f25f5fe1be",
      "parents": [
        "5ed59af85077d28875a3a137b21933aaf1b4cd50",
        "bdd4431c8d071491a68a65d9457996f222b5ecd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 17:12:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:10:18 2012 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU changes for v3.4 from Ingo Molnar.  The major features of this\nseries are:\n\n - making RCU more aggressive about entering dyntick-idle mode in order\n   to improve energy efficiency\n\n - converting a few more call_rcu()s to kfree_rcu()s\n\n - applying a number of rcutree fixes and cleanups to rcutiny\n\n - removing CONFIG_SMP #ifdefs from treercu\n\n - allowing RCU CPU stall times to be set via sysfs\n\n - adding CPU-stall capability to rcutorture\n\n - adding more RCU-abuse diagnostics\n\n - updating documentation\n\n - fixing yet more issues located by the still-ongoing top-to-bottom\n   inspection of RCU, this time with a special focus on the CPU-hotplug\n   code path.\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)\n  rcu: Stop spurious warnings from synchronize_sched_expedited\n  rcu: Hold off RCU_FAST_NO_HZ after timer posted\n  rcu: Eliminate softirq-mediated RCU_FAST_NO_HZ idle-entry loop\n  rcu: Add RCU_NONIDLE() for idle-loop RCU read-side critical sections\n  rcu: Allow nesting of rcu_idle_enter() and rcu_idle_exit()\n  rcu: Remove redundant check for rcu_head misalignment\n  PTR_ERR should be called before its argument is cleared.\n  rcu: Convert WARN_ON_ONCE() in rcu_lock_acquire() to lockdep\n  rcu: Trace only after NULL-pointer check\n  rcu: Call out dangers of expedited RCU primitives\n  rcu: Rework detection of use of RCU by offline CPUs\n  lockdep: Add CPU-idle/offline warning to lockdep-RCU splat\n  rcu: No interrupt disabling for rcu_prepare_for_idle()\n  rcu: Move synchronize_sched_expedited() to rcutree.c\n  rcu: Check for illegal use of RCU from offlined CPUs\n  rcu: Update stall-warning documentation\n  rcu: Add CPU-stall capability to rcutorture\n  rcu: Make documentation give more realistic rcutorture duration\n  rcutorture: Permit holding off CPU-hotplug operations during boot\n  rcu: Print scheduling-clock information on RCU CPU stall-warning messages\n  ...\n"
    },
    {
      "commit": "ca747d610b765f184e0662088dd9aeecf9a17822",
      "tree": "ced29c47417e2ef78d1fb1fc11dfd79a4b96c272",
      "parents": [
        "ba82fe2e691146a92a25c85b611b436dc20f7825"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:25 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:20 2012 +0800"
      },
      "message": "target: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "ee9b866a3696ae434418348e2f499c41841366d4",
      "tree": "d648749dbee6c5fd1104ddbc92cf897502af540a",
      "parents": [
        "f760903ae512c7851b619be1742ae1581145a878"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 17 17:40:23 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 17 18:07:27 2012 -0700"
      },
      "message": "loopback: Fix transport_generic_allocate_tasks error handling\n\nThis patch addresses a tcm_loop bug with transport_generic_allocate_tasks()\nreturn checking in tcm_loop_submission_work() where other non zero return\ncodes (including -EBUSY for reservation conflicts) are incorrectly falling\nthrough to transport_generic_map_mem_to_cmd() -\u003e transport_handle_cdb_direct().\n\nThis bug was introduced into target-pending/for-next-merge with the following\nfor-3.4 commit:\n\ncommit 16786454acec0e0e55e32d508b3058b32c1f23f3\nAuthor: Christoph Hellwig \u003chch@infradead.org\u003e\nDate:   Thu Feb 2 17:04:42 2012 -0500\n\n    tcm_loop: switch to using transport_handle_cdb_direct\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f760903ae512c7851b619be1742ae1581145a878",
      "tree": "0e2c40deda9e60804cd9a4804e2f3d9cae18820f",
      "parents": [
        "a227fb3a5a61e70ae4e4957818a23e9239bf5a43"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Sat Mar 17 16:11:52 2012 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 17 18:07:04 2012 -0700"
      },
      "message": "iscsi-target: remove improper externs\n\nThese externs aren\u0027t needed and Sparse complains about them.\n\ndrivers/target/iscsi/iscsi_target_nodeattrib.c:52:12: warning:\n\tfunction \u0027iscsit_na_dataout_timeout\u0027 with external linkage has\n\tdefinition\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a227fb3a5a61e70ae4e4957818a23e9239bf5a43",
      "tree": "861197e821a8cc347e8ea5788ee4a944c872fcd0",
      "parents": [
        "281689051a628e5341ce1efcfafde9d60f2f6fbb"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Thu Mar 15 15:08:03 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Mar 15 19:16:25 2012 -0700"
      },
      "message": "iscsi-target: Remove unused variables in iscsi_target_parameters.c\n\nlocal_right_val was an obvious case, tmp_ptr is also write-only, but\nevades the compiler by being passed to simple_strtoul as char **endp.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "281689051a628e5341ce1efcfafde9d60f2f6fbb",
      "tree": "15809410fe5d1c8540622f5bd7c726517b22ddd3",
      "parents": [
        "f2083241f23722207676025abbb45a301d412e69"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Thu Mar 15 15:06:58 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Mar 15 19:16:09 2012 -0700"
      },
      "message": "target: remove obvious warnings\n\nGet rid of a bunch of write-only variables.  In a number of cases I\nsuspect actual bugs to be present, so I left all of those for a second\nlook.\n\n(nab: fix lio-core patch fuzz)\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f2083241f23722207676025abbb45a301d412e69",
      "tree": "c340376faf2a1eebe0983075adee2a3c8070c064",
      "parents": [
        "4a5a75f32dcbcd0b2685f74fd4ede26edf8765a9"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Thu Mar 15 15:05:40 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Mar 15 19:15:51 2012 -0700"
      },
      "message": "target: Use array_zalloc for device_list\n\nTurns an order-8 allocation into slab-sized ones, thereby preventing\nallocation failures with memory fragmentation.\n\nThis likely saves memory as well, as the slab allocator can pack objects\nmore tightly than the buddy allocator.\n\n(nab: Fix lio-core patch fuzz)\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4a5a75f32dcbcd0b2685f74fd4ede26edf8765a9",
      "tree": "9c05e0df5d2cfe06ed490ce763347f65aaf64c6a",
      "parents": [
        "b168fe8cfe530daabbdf632af4554600006a81a9"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Thu Mar 15 15:05:12 2012 -0400"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Mar 15 19:15:38 2012 -0700"
      },
      "message": "target: Use array_zalloc for tpg_lun_list\n\nTurns an order-10 allocation into slab-sized ones, thereby preventing\nallocation failures with memory fragmentation.\n\nThis likely saves memory as well, as the slab allocator can pack objects\nmore tightly than the buddy allocator.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b168fe8cfe530daabbdf632af4554600006a81a9",
      "tree": "b64cb6523b11f8d91f24390a8e470ca5d09f1a24",
      "parents": [
        "1f6fa8f8179dd66345d59f067f2a48a86095c499"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Mar 14 10:40:43 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Mar 15 19:14:53 2012 -0700"
      },
      "message": "target: Fix sense code for unsupported SERVICE ACTION IN\n\nIf we don\u0027t handle a given service action, we\u0027re supposed to return\nINVALID FIELD IN CDB, since we do handle the SERVICE ACTION IN opcode.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "1f6fa8f8179dd66345d59f067f2a48a86095c499",
      "tree": "9ab51aafe013436934b5683d911c846cc655ffdf",
      "parents": [
        "9765b1f327951e643a97f43924d1fbeb4e90ffba"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Mar 14 10:12:03 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Mar 15 19:14:48 2012 -0700"
      },
      "message": "target: Remove hack to make READ CAPACITY(10) lie if thin provisioning is enabled\n\nRemove the hack that has READ CAPACITY(10) return 0xFFFFFFFF as the\nnumber of sectors when thin provisioning is enabled.  This is supposed\nto trigger the initiator to use READ CAPACITY(16) in this case so that\nit finds out about thin provisioning.  But an initiator that cares about\nthin provisioning is going to ask anyway, and an initiator that doesn\u0027t\nknow about READ CAPACITY(16) is going to get the wrong capacity.  So\njust have READ CAPACITY(10) return the size it\u0027s supposed to.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "00fdc6bbef77844ce397a7de7acfaf25e8e2e4eb",
      "tree": "df8d71a6b9c9239b68d43fc04d57580caf3e4992",
      "parents": [
        "087a03b3ea1c8d6e2d5743a8d1c6d571058caa04"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Mar 13 18:20:11 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Mar 13 21:43:58 2012 -0700"
      },
      "message": "iscsi-target: Fix reservation conflict -EBUSY response handling bug\n\nThis patch addresses a iscsi-target specific bug related to reservation conflict\nhandling in iscsit_handle_scsi_cmd() that has been causing reservation conflicts\nto complete and not fail as expected due to incorrect errno checking.  The problem\noccured with the change to return -EBUSY from transport_generic_cmd_sequencer() -\u003e\ntransport_generic_allocate_tasks() failures, that broke iscsit_handle_scsi_cmd()\nchecking for -EINVAL in order to invoke a non GOOD status response.\n\nThis was manifesting itself as data corruption with legacy SPC-2 reservations,\nbut also effects iscsi-target LUNs with SPC-3 persistent reservations.\n\nThis bug was originally introduced in lio-core commit:\n\ncommit 03e98c9eb916f3f0868c1dc344dde2a60287ff72\nAuthor: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nDate:   Fri Nov 4 02:36:16 2011 -0700\n\n    target: Address legacy PYX_TRANSPORT_* return code breakage\n\nReported-by: Martin Svec \u003cmartin.svec@zoner.cz\u003e\nCc: Martin Svec \u003cmartin.svec@zoner.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "087a03b3ea1c8d6e2d5743a8d1c6d571058caa04",
      "tree": "52cb057d9c2f01f8772de66f1cce7086c9e8b7c5",
      "parents": [
        "67236c44741e250199ccd77f1115568e68cf8848"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Mar 13 21:29:06 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Mar 13 21:43:43 2012 -0700"
      },
      "message": "target: Fix compatible reservation handling (CRH\u003d1) with legacy RESERVE/RELEASE\n\nThis patch addresses a bug with target_check_scsi2_reservation_conflict()\nreturn checking in target_scsi2_reservation_[reserve,release]() that was\npreventing CRH\u003d1 operation from silently succeeding in the two special\ncases defined by SPC-3, and not failing with reservation conflict status\nwhen dealing with legacy RESERVE/RELEASE + active SPC-3 PR logic.\n\nAlso explictly set cmd-\u003escsi_status \u003d SAM_STAT_RESERVATION_CONFLICT during\nthe early non reservation holder failure from pr_ops-\u003et10_seq_non_holder()\ncheck in transport_generic_cmd_sequencer() for fabrics that already expect\nit to be set.\n\nThis bug was originally introduced in mainline commit:\n\ncommit eacac00ce5bfde8086cd0615fb53c986f7f970fe\nAuthor: Christoph Hellwig \u003chch@infradead.org\u003e\nDate:   Thu Nov 3 17:50:40 2011 -0400\n\n    target: split core_scsi2_emulate_crh\n\nReported-by: Martin Svec \u003cmartin.svec@zoner.cz\u003e\nCc: Martin Svec \u003cmartin.svec@zoner.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "9765b1f327951e643a97f43924d1fbeb4e90ffba",
      "tree": "d1e9691a7b366874ca37bf229f84443384fd5366",
      "parents": [
        "031ed4d565b31880a4136bb7366bc89f5b1dba7d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:50:19 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:55:17 2012 -0800"
      },
      "message": "target: Bump core version to v4.1.0-rc2-ml + fabric versions\n\nBump core version to v4.1.0-rc2-ml, and for versions from the\nfollowing mainline fabric modules:\n\nloopback: v2.1-rc2\ntcm_fc: v0.4\niscsi-target: v4.1.0-rc2\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "031ed4d565b31880a4136bb7366bc89f5b1dba7d",
      "tree": "e905871a0c6706ca16f9df33dfaacebbf33a4ca3",
      "parents": [
        "c7ec05c82bfd6acf1fd800d628591500805f3179"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Mar 09 23:45:38 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:42:56 2012 -0800"
      },
      "message": "tcm_fc: Fix fc_exch memory leak in ft_send_resp_status\n\nThis patch fixes a bug in tcm_fc where fc_exch memory from fc_exch_mgr-\u003eep_pool\nis currently being leaked by ft_send_resp_status() usage.  Following current\ncode in ft_queue_status() response path, using lport-\u003ett.seq_send() needs to be\nfollowed by a lport-\u003ett.exch_done() in order to release fc_exch memory back into\nlibfc_em kmem_cache.\n\nft_send_resp_status() code is currently used in pre submit se_cmd ft_send_work()\nerror exceptions, TM request setup exceptions, and main TM response callback\npath in ft_queue_tm_resp().  This bugfix addresses the leak in these cases.\n\nCc: Mark D Rustad \u003cmark.d.rustad@intel.com\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: Robert Love \u003crobert.w.love@intel.com\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c7ec05c82bfd6acf1fd800d628591500805f3179",
      "tree": "c64d5d330120d038f5ee9fe90b7a7eba0a0b3459",
      "parents": [
        "99367f01b8df2018ff3328ddf4111e701d34188d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 28 00:22:12 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:42:55 2012 -0800"
      },
      "message": "target: Drop unused legacy target_core_fabric_ops API callers\n\nThis patch drops the following unused legacy API callers from target_core_fabric.h:\n\n*) TFO-\u003efall_back_to_erl0()\n*) TFO-\u003estop_session()\n*) TFO-\u003esess_logged_in()\n*) TFO-\u003eis_state_remove()\n\nThis patch also removes the stub usage in loopback, tcm_fc, iscsi_target,\nand ib_srpt fabric modules.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "99367f01b8df2018ff3328ddf4111e701d34188d",
      "tree": "5ef6e2ffe8b1d3ee8bfd995b80efcb4e6d02095d",
      "parents": [
        "337c060701fb3d27d9945bf7af7ba194ae2153a8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Feb 27 01:43:32 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:42:25 2012 -0800"
      },
      "message": "iscsi-target: Convert to use target_put_session + sess_kref\n\nThis patch converts iscsi-target session code to use se_sess-\u003esess_kref\ncounting for iscsi session shutdown.  The following cases include:\n\n*) last iscsit_close_connection() shutdown path to invoke close session\n*) iscsit_logout_post_handler_closesession() for explict logout\n*) iscsit_free_session() caller for explict shutdown\n\nIt also moves iscsit_stop_session() call from lio_tpg_close_session()\ninto lio_tpg_shutdown_session() TFO callbacks to invoke an explict\nshutdown, and also changes iscsi_check_for_session_reinstatement()\nlogin code to use se_sess-\u003esess_kref.\n\n(v2: Make iscsit_handle_time2retain_timeout() use target_put_session)\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": "337c060701fb3d27d9945bf7af7ba194ae2153a8",
      "tree": "7b2d50a7cc4b291a876e95c60388cf57a52d912a",
      "parents": [
        "afb999ffc48f5e7ec18e6f8f9e68aa3d0085862d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:36:21 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:42:19 2012 -0800"
      },
      "message": "target: Convert se_node_acl-\u003eacl_group removal to use -\u003eacl_kref\n\nThis patch converts core_tpg_del_initiator_node_acl() shutdown from configfs\ncontext to use se_node_acl-\u003eacl_kref and -\u003eacl_free_comp in order to wait for\noutstanding fabric callbacks to complete via transport_deregister_session()\ncallbacks before waking -\u003eacl_free_comp from the last -\u003eacl_kref put.\n\nIt also changes core_tpg_del_initiator_node_acl() to setup a local sess_list\nwith target_get_session() + acl-\u003eacl_stop \u003d 1 for active sessions that will\nbe shutdown, and changes transport_deregister_session_configfs() to check\nfor -\u003eacl_stop usage.\n\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "afb999ffc48f5e7ec18e6f8f9e68aa3d0085862d",
      "tree": "781a1055eaed8bef8148c95fa6f9e779484511c6",
      "parents": [
        "01468346546a9bcc09035a7e8b71f78af5b7133a"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Mar 08 23:45:02 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:42:09 2012 -0800"
      },
      "message": "target: Add se_node_acl-\u003eacl_kref for -\u003eacl_free_comp usage\n\nThis patch adds se_node_acl-\u003eacl_kref for use with -\u003eacl_free_comp\nduring explict se_node_acl release.  It adds kref_init() during\nse_node_acl setup, kref_get() during __transport_register_session()\n-\u003e target_put_nacl() with existing transport_deregister_session()\nfabric callback usage.\n\nIt also moves transport_free_session() to release *se_sess memory\nafter target_put_nacl() execution in transport_deregister_session()\n\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "01468346546a9bcc09035a7e8b71f78af5b7133a",
      "tree": "5d7b69d10a2fb7e7f34717531fd099cae24f8044",
      "parents": [
        "41ac82b668177876d5965d5f60956fb0fbcdb514"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:32:52 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:41:59 2012 -0800"
      },
      "message": "target: Add se_node_acl-\u003eacl_free_comp for NodeACL release path\n\nAdd se_node_acl-\u003eacl_free_comp for NodeACL release path to wait for outstanding\nfabric session shutdown to complete in transport_deregister_session() before\nfinishing NodeACL release from configfs process context.\n\nAlso make transport_deregister_session() clear the comp_nacl bit\nto skip se_node_acl-\u003eacl_free_comp completion for dynamically generated\nNodeACL during fabric session shutdown.\n\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "41ac82b668177876d5965d5f60956fb0fbcdb514",
      "tree": "229c299330fa9c3cb4cb5a1903e0559e3e7a5d5b",
      "parents": [
        "140854cb72525246745b67300d35101ad2875a39"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Feb 26 22:22:10 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:41:53 2012 -0800"
      },
      "message": "target: Add se_sess-\u003esess_kref + get/put helpers\n\nThis patch adds basic se_session-\u003esess_kref and get/put helpers for fabric\nsession reference counting.  It sets the initial kref in transport_init_session()\nand adds a target_release_session() callback to invoke TFO-\u003eclose_session()\nfor final session shutdown.\n\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "140854cb72525246745b67300d35101ad2875a39",
      "tree": "0bf6ee374f97781b6f7f00d3b89f2e901dae2255",
      "parents": [
        "5e58b0299794fc4acf6e19995a2159e0535a008c"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Aug 31 12:34:39 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 13:59:03 2012 -0800"
      },
      "message": "target: Convert session_lock to irqsave\n\nThis patch converts the remaining struct se_portal_group-\u003esession_lock\nusage to use irqsave+irqrestore to address the following warnings for\nhardware target mode interrupt context usage.  This change generate\nother warnings for current iscsi-target mode still using -\u003esession_lock\nwith spin_lock_bh, which will need to be converted in a seperate patch.\n\n[  492.480728] [ INFO: HARDIRQ-safe -\u003e HARDIRQ-unsafe lock order detected ]\n[  492.488194] 3.0.0+ #23\n[  492.490820] ------------------------------------------------------\n[  492.497704] sh/7162 [HC0[0]:SC0[2]:HE0:SE0] is trying to acquire:\n[  492.504493] (\u0026(\u0026se_tpg-\u003esession_lock)-\u003erlock){+.....}, at: [\u003cffffffffa022364d\u003e] transport_deregister_session+0x2d/0x163 [target_core_mod]\n  492.518390]\n[  492.518390] and this task is already holding:\n[  492.524897] (\u0026(\u0026ha-\u003ehardware_lock)-\u003erlock){-.-...}, at: [\u003cffffffffa00b9146\u003e] qla_tgt_stop_phase1+0x5e/0x27e [qla2xxx]\n[  492.536856] which would create a new lock dependency:\n[  492.542481] (\u0026(\u0026ha-\u003ehardware_lock)-\u003erlock){-.-...} -\u003e (\u0026(\u0026se_tpg-\u003esession_lock)-\u003erlock){+.....}\n[  492.552321]\n[  492.552321] but this new dependency connects a HARDIRQ-irq-safe lock:\n[  492.561149] (\u0026(\u0026ha-\u003ehardware_lock)-\u003erlock){-.-...}\n[  492.566400] ... which became HARDIRQ-irq-safe at:\n[  492.571841]   [\u003cffffffff81064720\u003e] __lock_acquire+0x68f/0x921\n[  492.578247]   [\u003cffffffff81064eff\u003e] lock_acquire+0xe0/0x10d\n[  492.584367]   [\u003cffffffff813a74c6\u003e] _raw_spin_lock_irqsave+0x44/0x56\n[  492.591358]   [\u003cffffffffa009b1be\u003e] qla24xx_msix_default+0x5c/0x2aa [qla2xxx]\n[  492.599227]   [\u003cffffffff81088582\u003e] handle_irq_event_percpu+0x5a/0x197\n[  492.606413]   [\u003cffffffff810886fb\u003e] handle_irq_event+0x3c/0x5c\n[  492.612822]   [\u003cffffffff8108a6dc\u003e] handle_edge_irq+0xcc/0xf1\n[  492.619138]   [\u003cffffffff810039b9\u003e] handle_irq+0x83/0x8e\n[  492.624971]   [\u003cffffffff8100333e\u003e] do_IRQ+0x48/0xaf\n[  492.630413]   [\u003cffffffff813a7cd3\u003e] ret_from_intr+0x0/0x1a\n[  492.636437]   [\u003cffffffff81001dc1\u003e] cpu_idle+0x5b/0x8d\n[  492.642073]   [\u003cffffffff81392709\u003e] rest_init+0xad/0xb4\n[  492.647809]   [\u003cffffffff81a1cbbc\u003e] start_kernel+0x366/0x371\n[  492.654030]   [\u003cffffffff81a1c2b1\u003e] x86_64_start_reservations+0xb8/0xbc\n[  492.661311]   [\u003cffffffff81a1c3b6\u003e] x86_64_start_kernel+0x101/0x110\n[  492.668204]\n[  492.668205] to a HARDIRQ-irq-unsafe lock:\n[  492.674324] (\u0026(\u0026se_tpg-\u003esession_lock)-\u003erlock){+.....}\n[  492.679862] ... which became HARDIRQ-irq-unsafe at:\n[  492.685497] ...  [\u003cffffffff8106479a\u003e] __lock_acquire+0x709/0x921\n[  492.692209]   [\u003cffffffff81064eff\u003e] lock_acquire+0xe0/0x10d\n[  492.698330]   [\u003cffffffff813a75ed\u003e] _raw_spin_lock_bh+0x31/0x40\n[  492.704836]   [\u003cffffffffa021c208\u003e] core_tpg_del_initiator_node_acl+0x89/0x336 [target_core_mod]\n[  492.714546]   [\u003cffffffffa02fb075\u003e] tcm_qla2xxx_drop_nodeacl+0x20/0x2d [tcm_qla2xxx]\n[  492.723087]   [\u003cffffffffa02108d9\u003e] target_fabric_nacl_base_release+0x22/0x24 [target_core_mod]\n[  492.732698]   [\u003cffffffffa01661c8\u003e] config_item_release+0x7d/0xa3 [configfs]\n[  492.740465]   [\u003cffffffff811d48fe\u003e] kref_put+0x43/0x4d\n[  492.746101]   [\u003cffffffffa0166149\u003e] config_item_put+0x19/0x1b [configfs]\n[  492.753481]   [\u003cffffffffa0164987\u003e] configfs_rmdir+0x1eb/0x258 [configfs]\n[  492.760957]   [\u003cffffffff810ecc54\u003e] vfs_rmdir+0x79/0xd0\n[  492.766690]   [\u003cffffffff810eec4a\u003e] do_rmdir+0xc2/0x111\n[  492.772423]   [\u003cffffffff810eecd0\u003e] sys_rmdir+0x11/0x13\n[  492.778156]   [\u003cffffffff813ae4d2\u003e] system_call_fastpath+0x16/0x1b\n[  492.784953]\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5e58b0299794fc4acf6e19995a2159e0535a008c",
      "tree": "14d46ddd8b001aea2b75f89598e131360dbb9a7c",
      "parents": [
        "d06283341aee9e48eff1b068779d340785c635ce"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Mon Feb 27 23:18:15 2012 +0900"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 13:55:05 2012 -0800"
      },
      "message": "target: Fix typo in drivers/target\n\nCorrect spelling \"exeeds\" to \"exceeds\" in iscsi/iscsi_target_nego.c\nCorrect spelling \"diabled\" to \"disabled\" in target_core_configfs.c\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d06283341aee9e48eff1b068779d340785c635ce",
      "tree": "4b6085fababdbb6784db9945968cbf6ed292e0e8",
      "parents": [
        "c0974f89385970455a60a999ae4fc0a783cf458d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Feb 26 22:16:07 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Mar 08 12:10:56 2012 -0800"
      },
      "message": "iscsi-target: Fix dynamic -\u003e explict NodeACL pointer reference\n\nThis patch fixes a free after use in lio_target_make_nodeacl() where\niscsi_node_acl was referenced from the original se_nacl_new allocation,\ninstead of from core_tpg_add_initiator_node_acl() in the case of dynamic\n-\u003e explict NodeACL conversion.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c0974f89385970455a60a999ae4fc0a783cf458d",
      "tree": "14abc856524251bf392bcaf0b2b8c621500ec1b2",
      "parents": [
        "9f0d05c2c6185d7b5ba08a6c052e90837101031f"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 05:10:04 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 18:39:13 2012 -0800"
      },
      "message": "target: Allow target_submit_tmr interrupt context + pass ABORT_TASK tag\n\nThis patch allows target_submit_tmr() to pass gfp_t for se_cmd-\u003ese_tmr_req\nallocation, and also set up se_cmd-\u003ese_tmr_req-\u003eref_task_tag for passed\ntag with TMR_ABORT_TASK.\n\nAlso update tcm_fc(fcoe) parameter usgae and add ref_task_tag FIXME\nfor TMR_ABORT_TASK usage,\n\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: Arun Easi \u003carun.easi@qlogic.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "9f0d05c2c6185d7b5ba08a6c052e90837101031f",
      "tree": "3ea308edfd01d79d2b87ea9496fcb02445a77d13",
      "parents": [
        "00ad4c4e81ba8bfcc52c42ec9d72ff84a081fb82"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 05:02:48 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 18:38:41 2012 -0800"
      },
      "message": "target: Push target_submit_tmr LUN lookup failure to system_wq context\n\nIn order to handle incoming target_submit_tmr() callers using interrupt\ncontext, use system_wq process context for transport_lookup_tmr_lun()\nfailures to return TMR_LUN_DOES_NOT_EXIST status for fabric TM response.\n\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: Arun Easi \u003carun.easi@qlogic.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "00ad4c4e81ba8bfcc52c42ec9d72ff84a081fb82",
      "tree": "f77fd50761bf224937656145dbae20a036fd3552",
      "parents": [
        "c7042cae58c13970f39c0820a3aab2a13dda9fe1"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 01:43:04 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 18:38:39 2012 -0800"
      },
      "message": "tcm_fc: Handle target_submit_tmr allocation failure\n\nThis patch makes ft_send_tm() handle target_submit_tmr() allocation failures\nvia an ft_send_resp_code_and_free() w/ FCP_TMF_FAILED status.\n\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: Arun Easi \u003carun.easi@qlogic.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "c7042cae58c13970f39c0820a3aab2a13dda9fe1",
      "tree": "63d75c4c8e37d9a26033ed11b47345b4ae697524",
      "parents": [
        "3de55ec74aa803d7aa1e581700086d755c2599d2"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 01:40:24 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 18:38:34 2012 -0800"
      },
      "message": "target: Fix target_submit_tmr se_tmr_req allocation failures\n\nThis patch makes target_submit_tmr() se_tmr_req allocation occur before\ntarget_get_sess_cmd(), and changes target_submit_tmr() to return a failure\nw/ non zero status to the fabric caller upon core_tmr_alloc_req() failure.\n\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: Arun Easi \u003carun.easi@qlogic.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3de55ec74aa803d7aa1e581700086d755c2599d2",
      "tree": "713add78069fd0082a7fd2ed33612623d9608c97",
      "parents": [
        "d335e6054db616bce3f040e659fa38440518ad1d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 01:30:55 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:51 2012 -0800"
      },
      "message": "target: Fix target_submit_tmr LUN lookup failures\n\nThis patch changes target_submit_tmr() LUN lookup failures to set response\nstatus TMR_LUN_DOES_NOT_EXIST and invoke TFO-\u003equeue_tm_rsp(), instead of\nsending CHECK_CONDITION status that can cause problems with Linux FCoE\nclients.\n\nTested with tcm_fc ports and explict LUN_RESET lookup failures.\n\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: Arun Easi \u003carun.easi@qlogic.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d335e6054db616bce3f040e659fa38440518ad1d",
      "tree": "f426c61320c4b323536a2b46203e17e5c6c3ea59",
      "parents": [
        "33395fb8a13731c7ef7b175dbf5a4d8a6738fe6c"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Feb 23 17:28:43 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:50 2012 -0800"
      },
      "message": "iscsi-target: Fix iscsit_alloc_buffs() failure cases\n\nMake iscsit_alloc_buffs() failure case for page_alloc_failed use correct\n__free_page() SGL pointer, and return -ENOMEM for iscsit_allocate_iovecs\nfailure to push se_cmd-\u003et_mem_sg release into iscsit_release_cmd()\ncallback during iscsit_add_reject_from_cmd() connection reset.\n\nAlso drop cmd-\u003et_mem_sg \u003d NULL assignment from page_alloc_failed\nfailure case.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "33395fb8a13731c7ef7b175dbf5a4d8a6738fe6c",
      "tree": "accb78603eae5a6ebb407559d5c5546a36a8af9f",
      "parents": [
        "355b769e03e2a35f9dae32d95670df2fe3a6b4d2"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Feb 23 17:22:12 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:50 2012 -0800"
      },
      "message": "target: Fix 16-bit target ports for SET TARGET PORT GROUPS emulation\n\nThe old code did (MSB \u003c\u003c 8) \u0026 0xff, which always evaluates to 0.  Just use\nget_unaligned_be16() so we don\u0027t have to worry about whether our open-coded\nversion is correct or not.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e6a8a41a30489bcb775b505f75bced550aeaa4f1",
      "tree": "cd51f513c5e4996ba7942d055adb1a8224b7feef",
      "parents": [
        "99f730d88fd0a25c3e2dfc357bde4cf6b8cb5b40"
      ],
      "author": {
        "name": "Stefan Hajnoczi",
        "email": "stefanha@linux.vnet.ibm.com",
        "time": "Thu Feb 23 18:15:26 2012 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:50 2012 -0800"
      },
      "message": "target/pscsi: fix PHV_VIRUTAL_HOST_ID typo\n\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@linux.vnet.ibm.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "99f730d88fd0a25c3e2dfc357bde4cf6b8cb5b40",
      "tree": "94b74e3bbceda90501e550543dfc82f0bde13917",
      "parents": [
        "47f1b8803e1e358ebbf4f82bfdb98971c912a2c3"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Thu Feb 16 11:14:27 2012 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:50 2012 -0800"
      },
      "message": "target: Fix off-by-seven in target_report_luns\n\ncdb_offset is always equal to offset - 8, so remove that one.  More\nimportantly, the existing code only worked correct if\nse_cmd-\u003edata_length is a multiple of 8.  Pass in a length of, say, 9 and\nwe will happily overwrite 7 bytes of \"unallocated\" memory.\n\nNow, afaics this bug is currently harmless, as allocations will\nimplicitly be padded to multiples of 8 bytes.  But depending on such a\nfact wouldn\u0027t qualify as sound engineering practice.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "47f1b8803e1e358ebbf4f82bfdb98971c912a2c3",
      "tree": "c5d85478fb2c7245a819b707adc7fca2b926b4c3",
      "parents": [
        "382436f8804fe1cb20b9a2a811a10eb2d8554721"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Wed Feb 15 16:52:11 2012 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:50 2012 -0800"
      },
      "message": "target: prevent NULL pointer dereference in target_report_luns\n\ntransport_kmap_data_sg can return NULL.  I never saw this trigger, but\nreturning -ENOMEM seems better than a crash.  Also removes a pointless\ncase while at it.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "382436f8804fe1cb20b9a2a811a10eb2d8554721",
      "tree": "7eb91d8121092133c6b3a58928c54253b1d224b4",
      "parents": [
        "6cf3fa6918baab0c447f1206f1cef9166ad04864"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Wed Feb 15 16:51:32 2012 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:50 2012 -0800"
      },
      "message": "target: fix use after free in target_report_luns\n\nFix possible NULL pointer dereference in target_report_luns failure path.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6cf3fa6918baab0c447f1206f1cef9166ad04864",
      "tree": "9613aaaa51fd6082f31f2d45f707b54e01128dc9",
      "parents": [
        "015487b89f27d91d95a056cdc3c85e6c729bff12"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Feb 14 15:30:31 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:50 2012 -0800"
      },
      "message": "tcm_loop: Set residual field for SCSI commands\n\nIf the target core signals an over- or under-run, tcm_loop should call\nscsi_set_resid() to tell the SCSI midlayer about the residual data length.\n\nThe difference can be seen by doing something like\n\n    strace -eioctl sg_raw -r 1024 /dev/sda 8 0 0 0 1 0 \u003e /dev/null\n\nand looking at the \"resid\u003d\" part of the SG_IO ioctl -- after this patch,\nthe field is correctly reported as 512.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "015487b89f27d91d95a056cdc3c85e6c729bff12",
      "tree": "0cecb2acc903154e25abb23e8f345f301fcd1ef5",
      "parents": [
        "effc6cc8828257c32c37635e737f14fd6e19ecd7"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 13 16:18:17 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:49 2012 -0800"
      },
      "message": "target: Untangle front-end and back-end meanings of max_sectors attribute\n\nse_dev_attrib.max_sectors currently has two independent meanings:\n\n - It is reported in the block limits VPD page as the maximum transfer\n   length, ie the largest IO that the front-end (fabric) can handle.\n   Also the target core doesn\u0027t enforce this maximum transfer length.\n\n - It is used to hold the size of the largest IO that the back-end can\n   handle, so we know when to split SCSI commands into multiple tasks.\n\nFix this by adding a new se_dev_attrib.fabric_max_sectors to hold the\nmaximum transfer length, and checking incoming IOs against that limit.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "effc6cc8828257c32c37635e737f14fd6e19ecd7",
      "tree": "07e44ddcae2a8384bd29faa4565b9c290176ab80",
      "parents": [
        "089461dda1770c10fea0b988ff74519a9be81d7e"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 13 16:18:16 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:49 2012 -0800"
      },
      "message": "target: Don\u0027t set WBUS16 or SYNC bits in INQUIRY response\n\nSPC-4 says about the WBUS16 and SYNC bits:\n\n    The meanings of these fields are specific to SPI-5 (see 6.4.3).\n    For SCSI transport protocols other than the SCSI Parallel\n    Interface, these fields are reserved.\n\nWe don\u0027t have a SPI fabric module, so we should never set these bits.\n(The comment was misleading, since it only mentioned Sync but the\nactual code set WBUS16 too).\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "089461dda1770c10fea0b988ff74519a9be81d7e",
      "tree": "4e1a644fe2a32ae3ffa22c52673060e617b2e692",
      "parents": [
        "d95b82461c56a6ff8ff248b101049a69ebb20278"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 13 16:18:15 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:49 2012 -0800"
      },
      "message": "target: Set peripheral device type consistently in INQUIRY response\n\nCurrent code sets the peripheral device type to 0x3f \u003d\u003d \"not present\nunknown\" for virtual LUN 0 for standard INQUIRY commands, but leaves it\nas 0 \u003d\u003d \"connected direct access block\" for VPD INQUIRY commands.  This\nis just because the check for LUN 0 only happens in some code paths.\n\nMake our peripheral device type consistent by moving the LUN 0 check\ninto the common emulate_inquiry() code.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d95b82461c56a6ff8ff248b101049a69ebb20278",
      "tree": "0a0c8ad9d37c529c859ddcdfc7123b80bd195b0c",
      "parents": [
        "3d28934aaae5e924afedf0f5cb42e1316514da6b"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 13 16:18:14 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:49 2012 -0800"
      },
      "message": "target: Fix up handling of short INQUIRY buffers\n\nIf the initiator sends us an INQUIRY command with an allocation length\nthat\u0027s shorter than what we want to return, we\u0027re simply supposed to\ntruncate our response and return what the initiator gave us space for,\nwithout signaling any error.  Current target code has various tests that\ndon\u0027t fill out the full response if the buffer is too short and\nsometimes return errors incorrectly.\n\nFix this up by allocating a bounce buffer for INQUIRY responses if we\nneed to, ie if we have cmd-\u003edata_length too small as well as\nSCF_PASSTHROUGH_SG_TO_MEM_NOALLOC set in cmd-\u003ese_cmd_flags -- for most\nfabrics, we always allocate at least a full page, but for tcm_loop we\nmay have a small buffer coming directly from the SCSI stack.\n\nThis lets us delete a lot of cmd-\u003edata_length checking, and also makes\nour INQUIRY handling correct per SPC in a lot more cases.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3d28934aaae5e924afedf0f5cb42e1316514da6b",
      "tree": "6a11e13b7da8187339f262c14726107ccb32eb1b",
      "parents": [
        "ffc32d5259d107a3aa1b822e22f20b69cb9ec0a5"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Feb 13 02:38:14 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:49 2012 -0800"
      },
      "message": "target: Add TMR_ABORT_TASK task management support\n\nThis patch adds initial support for TMR_ABORT_TASK ops for se_cmd\ndescriptors using se_sess-\u003esess_cmd_list and se_cmd-\u003ecmd_kref counting.\n\nIt will perform an explict abort for all outstanding se_cmd ops based\nupon tmr-\u003eref_task_tag that have not been set CMD_T_COMPLETE.\nIt will cancel se_cmd-\u003ework and wait for backing I/O to complete before\nattempting to send SAM_STAT_TASK_ABORTED and perform\ntarget_put_sess_cmd() to release the referenced descriptor.\n\nIt also adds a CMD_T_ABORTED check into transport_complete_task() to\ncatch the completion from backend I/O that has been aborted, and\nupdates transport_wait_for_tasks() to allow CMD_T_ABORTED usage with\ncore_tmr_abort_task() context.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ffc32d5259d107a3aa1b822e22f20b69cb9ec0a5",
      "tree": "770ec5b87b91c9c1bc7edd76c8a1535259424696",
      "parents": [
        "86715569d085addc635c2b55ee8acb79d3a7fbbf"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Feb 13 02:35:01 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:49 2012 -0800"
      },
      "message": "target: Make target_release_cmd_kref release on empty list\n\nThis patch changes target_release_cmd_kref() to make TFO-\u003erelease_cmd()\ncall when list_empty(\u0026se_cmd-\u003ese_cmd_list) is TRUE.  This is required\nfor TMR_ABORT_TASK operation where the referenced tag descriptor may\nhave already been pulled of the session command list.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    }
  ],
  "next": "86715569d085addc635c2b55ee8acb79d3a7fbbf"
}
