)]}'
{
  "log": [
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "9f34217c846a96dea03f4418e2f27423658d3542",
      "tree": "5b137af50db5758261700015911afb197ac8fc9f",
      "parents": [
        "95e14ed7fc4b2db62eb597a70850a0fede48b78a",
        "3703b2c5d041a68095cdd22380c23ce27d449ad7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 21:06:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 21:06:13 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (55 commits)\n  [SCSI] tcm_loop: Add multi-fabric Linux/SCSI LLD fabric module\n  [SCSI] qla4xxx: Use polling mode for disable interrupt mailbox completion\n  [SCSI] Revert \"[SCSI] Retrieve the Caching mode page\"\n  [SCSI] bnx2fc: IO completion not processed due to missed wakeup\n  [SCSI] qla4xxx: Update driver version to 5.02.00-k6\n  [SCSI] qla4xxx: masking required bits of add_fw_options during initialization\n  [SCSI] qla4xxx: added new function qla4xxx_relogin_all_devices\n  [SCSI] qla4xxx: add support for ql4xsess_recovery_tmo cmd line param\n  [SCSI] qla4xxx: Add support for ql4xmaxqdepth command line parameter\n  [SCSI] qla4xxx: cleanup function qla4xxx_process_ddb_changed\n  [SCSI] qla4xxx: Prevent other port reinitialization during remove_adapter\n  [SCSI] qla4xxx: remove unused ddb flag DF_NO_RELOGIN\n  [SCSI] qla4xxx: cleanup DDB relogin logic during initialization\n  [SCSI] qla4xxx: Do not retry ISP82XX initialization if H/W state is failed\n  [SCSI] qla4xxx: Do not send mbox command if FW is in failed state\n  [SCSI] qla4xxx: cleanup qla4xxx_initialize_ddb_list()\n  [SCSI] ses: add subenclosure support\n  [SCSI] bnx2fc: Bump version to 1.0.1\n  [SCSI] bnx2fc: Remove unnecessary module state checks\n  [SCSI] bnx2fc: Fix MTU issue by using static MTU\n  ...\n"
    },
    {
      "commit": "6c5103890057b1bb781b26b7aae38d33e4c517d8",
      "tree": "e6e57961dcddcb5841acb34956e70b9dc696a880",
      "parents": [
        "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
        "9d2e157d970a73b3f270b631828e03eb452d525e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block: (65 commits)\n  Documentation/iostats.txt: bit-size reference etc.\n  cfq-iosched: removing unnecessary think time checking\n  cfq-iosched: Don\u0027t clear queue stats when preempt.\n  blk-throttle: Reset group slice when limits are changed\n  blk-cgroup: Only give unaccounted_time under debug\n  cfq-iosched: Don\u0027t set active queue in preempt\n  block: fix non-atomic access to genhd inflight structures\n  block: attempt to merge with existing requests on plug flush\n  block: NULL dereference on error path in __blkdev_get()\n  cfq-iosched: Don\u0027t update group weights when on service tree\n  fs: assign sb-\u003es_bdi to default_backing_dev_info if the bdi is going away\n  block: Require subsystems to explicitly allocate bio_set integrity mempool\n  jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  fs: make fsync_buffers_list() plug\n  mm: make generic_writepages() use plugging\n  blk-cgroup: Add unaccounted time to timeslice_used.\n  block: fixup plugging stubs for !CONFIG_BLOCK\n  block: remove obsolete comments for blkdev_issue_zeroout.\n  blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n  ...\n\nFix up conflicts in fs/{aio.c,super.c}\n"
    },
    {
      "commit": "3703b2c5d041a68095cdd22380c23ce27d449ad7",
      "tree": "6d0a977357652e26b07c4b1ab0a871988b91faaa",
      "parents": [
        "5fa8b573134108a333a317378998a9f1299c4dd6"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Mar 18 15:39:17 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 13:10:33 2011 -0500"
      },
      "message": "[SCSI] tcm_loop: Add multi-fabric Linux/SCSI LLD fabric module\n\nThis patch adds the TCM_Loop Linux/SCSI LLD fabric module for\naccessing TCM device backstores as locally accessable SCSI LUNs in\nvirtual SAS, FC, and iSCSI Target ports using the generic fabric\nTransportID and Target Port WWN naming handlers from TCM\u0027s\ntarget_core_fabric_lib.c The TCM_Loop module uses the generic fabric\nconfigfs infratructure provided by target_core_fabric_configfs.c and\nadds a module dependent attribute for the creation/release of the\nvirtual I_T Nexus connected the TCM_Loop Target and Initiator Ports.\n\nTCM_Loop can also be used with scsi-generic and BSG drivers so that\nSTGT userspace fabric modules, QEMU-KVM and other hypervisor SCSI\npassthrough support can access TCM device backstore and control CDB\nemulation.\n\nFor more information please see:\n\nhttp://linux-iscsi.org/wiki/Tcm_loop\n\n[jejb: fixed up checkpatch stuff]\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "12d233842987d9972957419e427987b94f7bd7b4",
      "tree": "b3d08872b37f08aac3a9ec66e3fef49fbedb0f19",
      "parents": [
        "15fb48cc40be170423fe8ddd17666aa6175315e3"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Mar 14 04:06:11 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:50 2011 -0500"
      },
      "message": "[SCSI] target: add initial statistics\n\nThis patch adds a target_core_mib.c statistics conversion for\nbackend context struct se_subsystem_dev + struct se_device config_group\nbased statistics in target_core_device.c using CONFIGFS_EATTR()\nbased struct config_item_types from target_core_stat.c code.\n\nThe conversion from backend /proc/scsi_target/mib/ context output to configfs\ndefault groups+attributes include scsi_dev, scsi_lu, and scsi_tgt_dev output\nfrom within individual:\n\n\t/sys/kernel/config/target/core/$HBA/DEV/\n\nThe legacy procfs output now appear as individual configfs attributes under:\n\n*) $HBA/$DEV/statistics/scsi_dev:\n\n|-- indx\n|-- inst\n|-- ports\n`-- role\n\n*) $HBA/$DEV/statistics/scsi_lu:\n\n|-- creation_time\n|-- dev\n|-- dev_type\n|-- full_stat\n|-- hs_num_cmds\n|-- indx\n|-- inst\n|-- lu_name\n|-- lun\n|-- num_cmds\n|-- prod\n|-- read_mbytes\n|-- resets\n|-- rev\n|-- state_bit\n|-- status\n|-- vend\n`-- write_mbytes\n\n*) $HBA/$DEV/statistics/scsi_tgt_dev:\n\n|-- indx\n|-- inst\n|-- non_access_lus\n|-- num_lus\n|-- resets\n`-- status\n\nThe conversion from backend /proc/scsi_target/mib/ context output to configfs\ndefault groups+attributes include scsi_port, scsi_tgt_port and scsi_transport\noutput from within individual:\n\n\t/sys/kernel/config/target/fabric/$WWN/tpgt_$TPGT/lun/lun_$LUN_ID/statistics/\n\nThe legacy procfs output now appear as individual configfs attributes under:\n\n*) fabric/$WWN/tpgt_$TPGT/lun/lun_$LUN_ID/statistics/scsi_port\n\n|-- busy_count\n|-- dev\n|-- indx\n|-- inst\n`-- role\n\n*) fabric/$WWN/tpgt_$TPGT/lun/lun_$LUN_ID/statistics/scsi_tgt_port\n\n|-- dev\n|-- hs_in_cmds\n|-- in_cmds\n|-- indx\n|-- inst\n|-- name\n|-- port_index\n|-- read_mbytes\n`-- write_mbytes\n\n*) fabric/$WWN/tpgt_$TPGT/lun/lun_$LUN_ID/statistics/scsi_transport\n\n|-- dev_name\n|-- device\n|-- indx\n`-- inst\n\nThe conversion from backend /proc/scsi_target/mib/ context output to configfs\ndefault groups+attributes include scsi_att_intr_port and scsi_auth_intr output\nfrom within individual:\n\n\t/sys/kernel/config/target/fabric/$WWN/tpgt_$TPGT/acls/$INITIATOR_WWN/lun_$LUN_ID/statistics/\n\nThe legacy procfs output now appear as individual configfs attributes under:\n\n*) acls/$INITIATOR_WWN/lun_$LUN_ID/statistics/scsi_att_intr_port\n\n|-- dev\n|-- indx\n|-- inst\n|-- port\n|-- port_auth_indx\n`-- port_ident\n\n*) acls/$INITIATOR_WWN/lun_$LUN_ID/statistics/scsi_auth_intr\n\n|-- att_count\n|-- creation_time\n|-- dev\n|-- dev_or_port\n|-- hs_num_cmds\n|-- indx\n|-- inst\n|-- intr_name\n|-- map_indx\n|-- num_cmds\n|-- port\n|-- read_mbytes\n|-- row_status\n`-- write_mbytes\n\nAlso, this includes adding struct target_fabric_configfs_template-\u003e\ntfc_wwn_fabric_stats_cit and -\u003etfc_tpg_nacl_stat_cit respectively for\nuse during target_core_fabric_configfs.c:target_fabric_setup_cits()\n\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "54550fabfecdb71e0deb51999cca7d28bb4299ed",
      "tree": "83ccd42c4cdc4ea7a0089f77a7752dcabd07ba07",
      "parents": [
        "58c3e6477f3840df7d9b346627420bc7b246cdc8"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Mon Mar 14 04:06:09 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:49 2011 -0500"
      },
      "message": "[SCSI] target: Add __init/__exit annotation for target_core_[init,exit]_configfs\n\nThis patch fixes the follownig section mismatch warning:\n\nWARNING: vmlinux.o(.text+0x21617a): Section mismatch in reference from the\nfunction target_core_init_configfs() to the function .init.text:rd_module_init()\n\nThe function target_core_init_configfs() references the function __init\nrd_module_init().  This is often because target_core_init_configfs() lacks\na __init annotation or the annotation of rd_module_init is wrong.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "58c3e6477f3840df7d9b346627420bc7b246cdc8",
      "tree": "e610fbdccf39847576814b6e701333cef9a15bb0",
      "parents": [
        "f45934e08c9640faa5d960633eaf840c29ea33a8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Mar 14 04:06:08 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:48 2011 -0500"
      },
      "message": "[SCSI] target: Fix FILEIO fd_buffered_io\u003d token typo\n\nThis patch fixes a token typo for the TCM/FILEIO match_table_t used\nfor toggling O_SYNC usage for individual struct file backend access.\n\nReported-by: Christophe Fergeau \u003ccfergeau@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "12a18bdc27f81ba9d0a08a2462a49d339fff8b2d",
      "tree": "1716220b96063beee30742468afd5922c71f5998",
      "parents": [
        "872105689eeccbcd77377d6a29f69bba3b0cbe3b"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Mar 14 04:06:06 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:43 2011 -0500"
      },
      "message": "[SCSI] target: Fix bogus return in transport_add_device_to_core_hba failure path\n\nThis patch removes a bogus conditional+return check within the failure path\nof transport_add_device_to_core_hba().  This breakage was introduced during\nthe v4 conversion to remove struct se_cmd passthrough ops for INQUIRY /\nREAD_CAPCITY during struct se_device creation and registration process.\n\nReported-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "872105689eeccbcd77377d6a29f69bba3b0cbe3b",
      "tree": "26070e31d489966f6bc86953f410090df03b2eef",
      "parents": [
        "5c6cd613196558ba50ba97268b6d225c8d2f56d6"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Mar 14 04:06:05 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:39 2011 -0500"
      },
      "message": "[SCSI] target: Avoid mem leak and needless work in transport_generic_get_mem\n\nIn drivers/target/target_core_transport.c::transport_generic_get_mem()\nthere are a few potential memory leaks in the error paths. This patch\nmakes sure that we free previously allocated memory when other allocations\nfail.  It also moves some work (INIT_LIST_HEAD() and assignment to\nse_mem-\u003ese_len) below all the allocations so that if something fails we\ndon\u0027t do the work at all.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5c6cd613196558ba50ba97268b6d225c8d2f56d6",
      "tree": "9b00f8e0b21eb4e49f2237be72b468c1c7d30d0e",
      "parents": [
        "065f97161b2da30b13000b1d9f64adff7e01e270"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Mar 14 04:06:04 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:35 2011 -0500"
      },
      "message": "[SCSI] target: Convert TMR REQ/RSP definitions to target namespace\n\nThis patch changes include/target/target_core_tmr.h code to use\ntarget specific \u0027TMR_*\u0027 prefixed definitions for fabric independent\nSCSI Task Management Request/Request naming in include/scsi/scsi.h\ndefinitions for mainline target code.\n\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "065f97161b2da30b13000b1d9f64adff7e01e270",
      "tree": "a3b1bf5149d16aa9510abc407466c121ad7c643f",
      "parents": [
        "35ce9e26d7e0674892f77a9172c898dfcba50064"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Mar 14 04:06:03 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:32 2011 -0500"
      },
      "message": "[SCSI] target: Convert rd_build_device_space() to use errno\n\nThis patch converts rd_build_device_space() to return errno usage\nfor failures in rd_create_virtdevice().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5dd7ed2e811d5cd12f31fb7f0c5ad0107d494a12",
      "tree": "f5a9318be8ce5460940e769b710a07cb60026940",
      "parents": [
        "05aea6e7e497ab418239ae54fe5966d52cbd8550"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Mar 14 04:06:01 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:29 2011 -0500"
      },
      "message": "[SCSI] target: Minor sparse warning fixes and annotations\n\nThis patch addresses the majority of sparse warnings and adds\nproper locking annotations.  It also fixes the dubious one-bit signed\nbitfield, for which the signed one-bit types can be 0 or -1 which can\ncause a problem if someone ever checks if (foo-\u003elu_gp_assoc \u003d\u003d 1).\nThe current code is fine because everyone just checks zero vs non-zero.\nBut Sparse complains about it so lets change it.  The warnings look like\nthis:\n\ninclude/target/target_core_base.h:228:26: error: dubious one-bit signed bitfield\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Fubo Chen \u003cfubo.chen@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "05aea6e7e497ab418239ae54fe5966d52cbd8550",
      "tree": "2066eb93355fb3c77d0e8fcd03616906ae9b59fd",
      "parents": [
        "613640e4e1b5358ce880d16f10ecc2550b32b250"
      ],
      "author": {
        "name": "Fubo Chen",
        "email": "fubo.chen@gmail.com",
        "time": "Mon Mar 14 04:06:00 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:27 2011 -0500"
      },
      "message": "[SCSI] target: Remove unnecessary hba_dev_list walk and se_clear_dev_ports legacy code\n\nThis patch removes a legacy struct se_hba-\u003ehba_dev_list -\u003e se_release_device_for_hba()\nlist walk in core_delete_hba(), which is no longer required while using configfs\nVFS level parent/child struct config_group dependency referencing.  The reason\nis because any struct se_hba-\u003ehba_dev_list-\u003e struct se_device members are going\nto have to be released via:\n\n\trmdir /sys/kernel/config/target/core/$HBA/*\n\nbefore rmdir release of struct se_hba via target_core_configfs.c:\ntarget_core_call_delhbafromtarget() -\u003e core_delete_hba()\n\n\trmdir /sys/kernel/config/target/core/$HBA\n\nto release struct se_hba in core_delete_hba().\n\nThis patch also removes the legacy se_clear_dev_ports() function, which is\nleft-over pre-configfs shutdown logic for when se_free_virtual_device()\nwas responsible for walking struct se_device-\u003edev_sep_list and calling\ncore_dev_del_lun() for each individual active struct se_port-\u003ese_lun.\n\nThe reason this can be removed is because all struct se_device-\u003edev_sep_list\n-\u003e struct se_port communication is done via configfs symlinks, which\nmeans that an target fabric module\u0027s endpoints containg active struct\nse_port(s) will have to be released via target_core_fabric_configfs.c:\ntarget_fabric_port_unlink() via:\n\n\tunlink /sys/kernel/config/target/$FABRIC_MOD/$ENDPOINT/tpgt_$TPGT/lun/lun_$LUN_ID/\u003csymlink\u003e\n\nbefore rmdir release of struct se_device in target_core_configfs.c:\ntarget_core_drop_subdev() -\u003e se_free_virtual_device() can happen via:\n\n\trmdir /sys/kernel/config/target/core/$HBA/*\n\nto release struct se_subsystem_dev in target_core_drop_subdev()\n\nReported-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nReported-by: Fubo Chen \u003cfubo.chen@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "613640e4e1b5358ce880d16f10ecc2550b32b250",
      "tree": "e3bf4cdc79a21df08fc44a4d5f79c4d56d3b8c78",
      "parents": [
        "5e8de4f3199446f5eeb371312da20534ebfe9979"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Mar 14 04:05:59 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:24 2011 -0500"
      },
      "message": "[SCSI] target: Convert backend -\u003ecreate_virtdevice() call to return ERR_PTR\n\nThis patch converts the target_core_store_dev_enable() -\u003e struct\nse_subsystem_api-\u003ecreate_virtdevice() call to return proper ERR_PTR values\nback up to configfs logic during backend dependent struct se_device ENABLE\nexception conditions.\n\nAlong with the change to target_core_configfs.c, this includes converting IBLOCK,\nFILEIO, pSCSI, and RAMDISK_* backend subsystem plugins to obtain upper level\nPTR_ERR return codes (where available), and return via ERR_PTR during a\n*_create_virtdev() failure.\n\nReported-by: Fubo Chen \u003cfubo.chen@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5e8de4f3199446f5eeb371312da20534ebfe9979",
      "tree": "bee180bec5745d787c5636d9c14d983fbf0b60ed",
      "parents": [
        "10635c8b71957449b4c53c5f6b9210cc1a7d984d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Mar 14 04:05:58 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:24 2011 -0500"
      },
      "message": "[SCSI] target: remove EXTRA_CFLAGS\n\nAdd the current directory is superflous in general, and no includes in\ndrivers/scsi are needed either.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "6d1802539d218e24492c651bd0687ebfe7e14831",
      "tree": "133b05930d8272259693c1e8bcce5ce1c8d98f1b",
      "parents": [
        "8fc1858a42663248d5b362edc313786e0be7a639"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Mar 14 04:05:56 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:20 2011 -0500"
      },
      "message": "[SCSI] target: Fix match_strdup() memory leaks\n\nmatch_strdup() dynamically allocates memory and it is the responsabillity\nof the caller to free that memory. The following three cases:\n\ndrivers/target/target_core_file.c:fd_set_configfs_dev_params()\ndrivers/target/target_core_iblock.c:iblock_set_configfs_dev_params()\ndrivers/target/target_core_configfs.c:target_core_dev_pr_store_attr_res_aptpl_metadata()\n\nshould be kfree()\u0027ing the allocated memory once it is no longer needed.\nIt also makes sure to return -ENOMEM if the memory allocation in match_strdup()\nshould fail.  For target_core_configfs.c, this patch adds kfree()\u0027s around\nOpt_initiator_fabric, Opt_initiator_node, Opt_initiator_sid, Opt_sa_res_key,\nOpt_target_fabric, and Opt_target_node for the Persistent Reservations\nActivate Persistence across Target Power Loss (APTPL\u003d1) token parsing.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8fc1858a42663248d5b362edc313786e0be7a639",
      "tree": "6155d3bed0467864b7841830479a1122422e1c2f",
      "parents": [
        "4b3203052494ea7b0a445ace676cd2013917c807"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 14 04:05:55 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 23 11:36:18 2011 -0500"
      },
      "message": "[SCSI] target: Fix memory leak on error path in pscsi_alloc_task\n\nIf allocation of pt-\u003epscsi_cdb fails, we need to free the just-allocated\npt or else it will be leaked.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e16b396ce314b2bcdfe6c173fe075bf8e3432368",
      "tree": "640f0f56f2ea676647af4eb42d32fa56be2ee549",
      "parents": [
        "7fd23a24717a327a66f3c32d11a20a2f169c824f",
        "e6e8dd5055a974935af1398c8648d4a9359b0ecb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:37:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:37:40 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (47 commits)\n  doc: CONFIG_UNEVICTABLE_LRU doesn\u0027t exist anymore\n  Update cpuset info \u0026 webiste for cgroups\n  dcdbas: force SMI to happen when expected\n  arch/arm/Kconfig: remove one to many l\u0027s in the word.\n  asm-generic/user.h: Fix spelling in comment\n  drm: fix printk typo \u0027sracth\u0027\n  Remove one to many n\u0027s in a word\n  Documentation/filesystems/romfs.txt: fixing link to genromfs\n  drivers:scsi Change printk typo initate -\u003e initiate\n  serial, pch uart: Remove duplicate inclusion of linux/pci.h header\n  fs/eventpoll.c: fix spelling\n  mm: Fix out-of-date comments which refers non-existent functions\n  drm: Fix printk typo \u0027failled\u0027\n  coh901318.c: Change initate to initiate.\n  mbox-db5500.c Change initate to initiate.\n  edac: correct i82975x error-info reported\n  edac: correct i82975x mci initialisation\n  edac: correct commented info\n  fs: update comments to point correct document\n  target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c\n  ...\n\nTrivial conflict in fs/eventpoll.c (spelling vs addition)\n"
    },
    {
      "commit": "c55d267de274d308927b60c3e740c1a826832317",
      "tree": "21b53a8c725d9f9650f60d94b349459d5b8dae10",
      "parents": [
        "61ef46fd45c3c62dc7c880a45dd2aa841b9af8fb",
        "bc898c97f7ba24def788d9f80786cf028a197122"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 17:54:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 17:54:40 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (170 commits)\n  [SCSI] scsi_dh_rdac: Add MD36xxf into device list\n  [SCSI] scsi_debug: add consecutive medium errors\n  [SCSI] libsas: fix ata list corruption issue\n  [SCSI] hpsa: export resettable host attribute\n  [SCSI] hpsa: move device attributes to avoid forward declarations\n  [SCSI] scsi_debug: Logical Block Provisioning (SBC3r26)\n  [SCSI] sd: Logical Block Provisioning update\n  [SCSI] Include protection operation in SCSI command trace\n  [SCSI] hpsa: fix incorrect PCI IDs and add two new ones (2nd try)\n  [SCSI] target: Fix volume size misreporting for volumes \u003e 2TB\n  [SCSI] bnx2fc: Broadcom FCoE offload driver\n  [SCSI] fcoe: fix broken fcoe interface reset\n  [SCSI] fcoe: precedence bug in fcoe_filter_frames()\n  [SCSI] libfcoe: Remove stale fcoe-netdev entries\n  [SCSI] libfcoe: Move FCOE_MTU definition from fcoe.h to libfcoe.h\n  [SCSI] libfc: introduce __fc_fill_fc_hdr that accepts fc_hdr as an argument\n  [SCSI] fcoe, libfc: initialize EM anchors list and then update npiv EMs\n  [SCSI] Revert \"[SCSI] libfc: fix exchange being deleted when the abort itself is timed out\"\n  [SCSI] libfc: Fixing a memory leak when destroying an interface\n  [SCSI] megaraid_sas: Version and Changelog update\n  ...\n\nFix up trivial conflicts due to whitespace differences in\ndrivers/scsi/libsas/{sas_ata.c,sas_scsi_host.c}\n"
    },
    {
      "commit": "f74b9444192c60603020c61d7915b72893137edc",
      "tree": "8b1d16d373234038c2b045c9ceb3c33b93059e8a",
      "parents": [
        "7a6362800cb7d1d618a697a650c7aaed3eb39320",
        "4ba8216cd90560bc402f52076f64d8546e8aefcb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:21:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:21:00 2011 -0700"
      },
      "message": "Merge branch \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  BKL: That\u0027s all, folks\n  fs/locks.c: Remove stale FIXME left over from BKL conversion\n  ipx: remove the BKL\n  appletalk: remove the BKL\n  x25: remove the BKL\n  ufs: remove the BKL\n  hpfs: remove the BKL\n  drivers: remove extraneous includes of smp_lock.h\n  tracing: don\u0027t trace the BKL\n  adfs: remove the big kernel lock\n"
    },
    {
      "commit": "904f0bc482201fa86e75c330d79dfd11be494cf8",
      "tree": "150fa17a137ecc22c22accf126c61e9dd79d354b",
      "parents": [
        "853e2bd2103aaa91d1ba1c0b57ba17628d836f03"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Mar 02 15:52:51 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Mar 14 18:31:08 2011 -0500"
      },
      "message": "[SCSI] target: Fix volume size misreporting for volumes \u003e 2TB\n\nthe target infrastructure fails to send the correct conventional size\nto READ_CAPACITY that force a retry with READ_CAPACITY_16, which reads\nthe capacity for devices \u003e 2TB.  Fix by adding the correct return to\ntrigger RC(16).\n\nReported-by: Ben Jarvis \u003cbjarvismn@gmail.com\u003e\nSigned-off-by: Signed-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "7eaceaccab5f40bbfda044629a6298616aeaed50",
      "tree": "33954d12f63e25a47eb6d86ef3d3d0a5e62bf752",
      "parents": [
        "73c101011926c5832e6e141682180c4debe2cf45"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "message": "block: remove per-queue plugging\n\nCode has been converted over to the new explicit on-stack plugging,\nand delay users have been converted to use the new API for that.\nSo lets kill off the old plugging along with aops-\u003esync_page().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5edc341313a188d94cde7ef87ac31647cea8601a",
      "tree": "081cb8074de5abb9592e38e314505998bf99cd90",
      "parents": [
        "f51b452bed4ae5c20e1f8a790e4ed8663d909a40"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jan 25 22:08:05 2011 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Mar 02 00:02:40 2011 +0100"
      },
      "message": "drivers: remove extraneous includes of smp_lock.h\n\nThese were missed the last time I cleaned this up\nglobally, because of code moving around or new code\ngetting merged.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "52208ae3fc60cbcb214c10fb8b82304199e2cc3a",
      "tree": "d7c7e938453b257ce49197cb91f64fed1860b254",
      "parents": [
        "493f3358cb289ccf716c5a14fa5bb52ab75943e5"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Feb 24 16:58:20 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 28 11:23:32 2011 -0600"
      },
      "message": "[SCSI] target: Fix t_transport_aborted handling in LUN_RESET + active I/O shutdown\n\nThis patch addresses two outstanding bugs related to\nT_TASK(cmd)-\u003et_transport_aborted handling during TMR LUN_RESET and\nactive I/O shutdown.\n\nThis first involves adding two explict t_transport_aborted\u003d1\nassignments in core_tmr_lun_reset() in order to signal the task has\nbeen aborted, and updating transport_generic_wait_for_tasks() to skip\nsleeping when t_transport_aborted\u003d1 has been set.  This fixes an issue\nwhere transport_generic_wait_for_tasks() would end up sleeping\nindefinately when called from fabric module context while TMR\nLUN_RESET was happening with long outstanding backend struct se_task\nnot yet being completed.\n\nThe second adds a missing call to\ntransport_remove_task_from_execute_queue() when\ntask-\u003etask_execute_queue\u003d1 is set in order to fix an OOPs when\ntask-\u003et_execute_list has not been dropped.  It also fixes the same\ncase in transport_processing_shutdown() to prevent the issue from\nhappening during active I/O struct se_device shutdown.\n\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5629f8a7fa391e40e61d528d4f5d7850dbfdf7ae",
      "tree": "959c1d13d6a8714c8d06f81ab3c5cbdfffb079cf",
      "parents": [
        "177b241d0ed7154417d3510695c6d14107591e80"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Jan 17 22:49:36 2011 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Feb 17 16:40:25 2011 +0100"
      },
      "message": "target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c\n\ndrivers/target/target_core_hba.c includes target/target_core_device.h\ntwice - the two includes are even on two lines next to each other.\nThis patch removes the duplicate include.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "1f6fe7cba1c0a817a8712d7fdd0ec1b4ddd4ea2f",
      "tree": "d3210e224f8c415d78fbf70883026fa945591b8a",
      "parents": [
        "e89d15eeadb172bd53ca6362bf9ab6b22077224c"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Feb 09 15:34:54 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 12:32:41 2011 -0600"
      },
      "message": "[SCSI] target: fix use after free detected by SLUB poison\n\nThis patch moves a large number of memory release paths inside of the\nconfigfs callback target_core_hba_item_ops-\u003erelease() called from\nwithin fs/configfs/item.c: config_item_cleanup() context.  This patch\nresolves the SLUB \u0027Poison overwritten\u0027 warnings.\n\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e89d15eeadb172bd53ca6362bf9ab6b22077224c",
      "tree": "d7b5716ed3ccc80a4b3863305d6a0f8284ce49e4",
      "parents": [
        "e63af95888894af6ca4112dc90083d1dff0fec29"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Feb 09 15:35:03 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 12:15:47 2011 -0600"
      },
      "message": "[SCSI] target: Remove procfs based target_core_mib.c code\n\nThis patch removes the legacy procfs based target_core_mib.c code,\nand moves the necessary scsi_index_tables functions and defines into\ntarget_core_transport.c and target_core_base.h code to allow existing\nfabric independent statistics to function.\n\nThis includes the removal of a handful of \u0027atomic_t mib_ref_count\u0027\ncounters used in struct se_node_acl, se_session and se_hba to prevent\nremoval while using seq_list procfs walking logic.\n\n[jejb: fix up compile failures]\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e63af95888894af6ca4112dc90083d1dff0fec29",
      "tree": "4251ae1e75e8dfe1f9ad4d0eaf1020eeb8e1b518",
      "parents": [
        "7c2bf6e925c38b8e3358f5046971b0d6086ddcf8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Feb 09 15:35:04 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 12:01:42 2011 -0600"
      },
      "message": "[SCSI] target: Fix SCF_SCSI_CONTROL_SG_IO_CDB breakage\n\nThis patch fixes a bug introduced during the v4 control CDB emulation\nrefactoring that broke SCF_SCSI_CONTROL_SG_IO_CDB operation within\ntransport_map_control_cmd_to_task().  It moves the BUG_ON() into\ntransport_do_se_mem_map() after the TRANSPORT(dev)-\u003edo_se_mem_map()\nRAMDISK_DR special case, and adds the proper struct se_mem assignment\nwhen !list_empty() for normal non RAMDISK_DR backend device cases.\n\nReported-by: Kai-Thorsten Hambrecht \u003ckai@hambrecht.org\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "7c2bf6e925c38b8e3358f5046971b0d6086ddcf8",
      "tree": "824200b53c4a95cab8e337d6c776aaacb1ef782a",
      "parents": [
        "85dc98d93f3dc41cce54118a7abab9e6aa616dd2"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Feb 09 15:34:53 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:39:14 2011 -0600"
      },
      "message": "[SCSI] target: Fix top-level configfs_subsystem default_group shutdown breakage\n\nThis patch fixes two bugs uncovered during testing with\nslub_debug\u003dFPUZ during module_exit() -\u003e target_core_exit_configfs()\nwith release of configfs subsystem consumer default groups, namely how\nthis should be working with\nfs/configfs/dir.c:configfs_unregister_subsystem() release logic for\nstruct config_group-\u003edefault_group.\n\nThe first issue involves configfs_unregister_subsystem() expecting to\nwalk+drain the top-level subsys-\u003esu_group.default_groups directly in\nunlink_group(), and not directly from the configfs subsystem consumer\nfor the top level struct config_group-\u003edefault_groups.  This patch\ndrops the walk+drain of subsys-\u003esu_group.default_groups from TCM\nconfigfs subsystem consumer code, and moves the top-level\n-\u003edefault_groups kfree() after configfs_unregister_subsystem() has\nbeen called.\n\nThe second issue involves calling\ncore_alua_free_lu_gp(se_global-\u003edefault_lu_gp) to release the\ndefault_lu_gp-\u003elu_gp_group before configfs_unregister_subsystem() has\nbeen called.  This patches also moves the core_alua_free_lu_gp() call\nto release default_lu_group-\u003elu_gp_group after the subsys has been\nunregistered.\n\nFinally, this patch explictly clears the\n[lu_gp,alua,hba]_cg-\u003edefault_groups pointers after kfree() to ensure\nthat no stale memory is picked up from child struct\nconfig_group-\u003edefault_group[] while configfs_unregister_subsystem() is\ncalled.\n\nReported-by: Fubo Chen \u003cfubo.chen@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "85dc98d93f3dc41cce54118a7abab9e6aa616dd2",
      "tree": "3d0f9db5817dca8a16e60b10ef9e69b81d69719c",
      "parents": [
        "29fe609d124d6d7478d1241bb82dc2e00509f516"
      ],
      "author": {
        "name": "Fubo Chen",
        "email": "fubo.chen@gmail.com",
        "time": "Wed Feb 09 15:34:48 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:38:17 2011 -0600"
      },
      "message": "[SCSI] target: fixed missing lock drop in error path\n\nThe struct se_node_acl-\u003edevice_list_lock needs to be released if either\nsanity check for struct se_dev_entry-\u003ese_lun_acl or deve-\u003ese_lun fails.\n\nSigned-off-by: Fubo Chen \u003cfubo.chen@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "29fe609d124d6d7478d1241bb82dc2e00509f516",
      "tree": "418710a406229abb6c6fa55494afc36bbef5b259",
      "parents": [
        "bc66552476d3faf706ea72f5a082df717ed6c30d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Feb 09 15:34:43 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:37:29 2011 -0600"
      },
      "message": "[SCSI] target: Fix demo-mode MappedLUN shutdown UA/PR breakage\n\nThis patch fixes a bug in core_update_device_list_for_node() where\nindividual demo-mode generated MappedLUN\u0027s UA + Persistent\nReservations metadata where being leaked, instead of falling through\nand calling existing core_scsi3_ua_release_all() and\ncore_scsi3_free_pr_reg_from_nacl() at the end of\ncore_update_device_list_for_node().\n\nThis bug would manifest itself with the following OOPs w/ TPG\ndemo-mode endpoints (tfo-\u003etpg_check_demo_mode()\u003d1), and PROUT\nREGISTER+RESERVE -\u003e explict struct se_session logout -\u003e struct\nse_device shutdown:\n\n[  697.021139] LIO_iblock used greatest stack depth: 2704 bytes left\n[  702.235017] general protection fault: 0000 [#1] SMP\n[  702.235074] last sysfs file: /sys/devices/virtual/net/lo/operstate\n[  704.372695] CPU 0\n[  704.372725] Modules linked in: crc32c target_core_stgt scsi_tgt target_core_pscsi target_core_file target_core_iblock target_core_mod configfs sr_mod cdrom sd_mod ata_piix mptspi mptscsih libata mptbase [last unloaded: iscsi_target_mod]\n[  704.375442]\n[  704.375563] Pid: 4964, comm: tcm_node Not tainted 2.6.37+ #1 440BX Desktop Reference Platform/VMware Virtual Platform\n[  704.375912] RIP: 0010:[\u003cffffffffa00aaa16\u003e]  [\u003cffffffffa00aaa16\u003e] __core_scsi3_complete_pro_release+0x31/0x133 [target_core_mod]\n[  704.376017] RSP: 0018:ffff88001e5ffcb8  EFLAGS: 00010296\n[  704.376017] RAX: 6d32335b1b0a0d0a RBX: ffff88001d952cb0 RCX: 0000000000000015\n[  704.376017] RDX: ffff88001b428000 RSI: ffff88001da5a4c0 RDI: ffff88001e5ffcd8\n[  704.376017] RBP: ffff88001e5ffd28 R08: ffff88001e5ffcd8 R09: ffff88001d952080\n[  704.377116] R10: ffff88001dfc5480 R11: ffff88001df8abb0 R12: ffff88001d952cb0\n[  704.377319] R13: 0000000000000000 R14: ffff88001df8abb0 R15: ffff88001b428000\n[  704.377521] FS:  00007f033d15c6e0(0000) GS:ffff88001fa00000(0000) knlGS:0000000000000000\n[  704.377861] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[  704.378043] CR2: 00007fff09281510 CR3: 000000001e5db000 CR4: 00000000000006f0\n[  704.378110] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[  704.378110] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[  704.378110] Process tcm_node (pid: 4964, threadinfo ffff88001e5fe000, task ffff88001d99c260)\n[  704.378110] Stack:\n[  704.378110]  ffffea0000678980 ffff88001da5a4c0 ffffea0000678980 ffff88001f402b00\n[  704.378110]  ffff88001e5ffd08 ffffffff810ea236 ffff88001e5ffd18 0000000000000282\n[  704.379772]  ffff88001d952080 ffff88001d952cb0 ffff88001d952cb0 ffff88001dc79010\n[  704.380082] Call Trace:\n[  704.380220]  [\u003cffffffff810ea236\u003e] ? __slab_free+0x89/0x11c\n[  704.380403]  [\u003cffffffffa00ab781\u003e] core_scsi3_free_all_registrations+0x3e/0x157 [target_core_mod]\n[  704.380479]  [\u003cffffffffa00a752b\u003e] se_release_device_for_hba+0xa6/0xd8 [target_core_mod]\n[  704.380479]  [\u003cffffffffa00a7598\u003e] se_free_virtual_device+0x3b/0x45 [target_core_mod]\n[  704.383750]  [\u003cffffffffa00a3177\u003e] target_core_drop_subdev+0x13a/0x18d [target_core_mod]\n[  704.384068]  [\u003cffffffffa00960db\u003e] client_drop_item+0x25/0x31 [configfs]\n[  704.384263]  [\u003cffffffffa00967b5\u003e] configfs_rmdir+0x1a1/0x223 [configfs]\n[  704.384459]  [\u003cffffffff810fa8cd\u003e] vfs_rmdir+0x7e/0xd3\n[  704.384631]  [\u003cffffffff810fc3be\u003e] do_rmdir+0xa3/0xf4\n[  704.384895]  [\u003cffffffff810eed15\u003e] ? filp_close+0x67/0x72\n[  704.386485]  [\u003cffffffff810fc446\u003e] sys_rmdir+0x11/0x13\n[  704.387893]  [\u003cffffffff81002a92\u003e] system_call_fastpath+0x16/0x1b\n[  704.388083] Code: 4c 8d 45 b0 41 56 49 89 d7 41 55 41 89 cd 41 54 b9 15 00 00 00 53 48 89 fb 48 83 ec 48 4c 89 c7 48 89 75 98 48 8b 86 28 01 00 00 \u003c48\u003e 8b 80 90 01 00 00 48 89 45 a0 31 c0 f3 aa c7 45 ac 00 00 00\n[  704.388763] RIP  [\u003cffffffffa00aaa16\u003e] __core_scsi3_complete_pro_release+0x31/0x133 [target_core_mod]\n[  704.389142]  RSP \u003cffff88001e5ffcb8\u003e\n[  704.389572] ---[ end trace 2a3614f3cd6261a5 ]---\n\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "bc66552476d3faf706ea72f5a082df717ed6c30d",
      "tree": "52fc15a6907c502bfd7b701bc70265c2d24bc734",
      "parents": [
        "3ae279d25954de47c704ca713a2711ac10fcd1ee"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Feb 09 15:34:38 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:37:00 2011 -0600"
      },
      "message": "[SCSI] target/iblock: Fix failed bd claim NULL pointer dereference\n\nThis patch adds an explict check for struct iblock_dev-\u003eibd_bd in\niblock_free_device() before calling blkdev_put(), which will otherwise hit\nthe following NULL pointer dereference @ ib_dev-\u003eibd_bd when iblock_create_virtdevice()\nfails to claim an already in-use struct block_device via blkdev_get_by_path().\n\n[  112.528578] Target_Core_ConfigFS: Allocated struct se_subsystem_dev: ffff88001e750000 se_dev_su_ptr: ffff88001dd05d70\n[  112.534681] Target_Core_ConfigFS: Calling t-\u003efree_device() for se_dev_su_ptr: ffff88001dd05d70\n[  112.535029] BUG: unable to handle kernel NULL pointer dereference at 0000000000000020\n[  112.535029] IP: [\u003cffffffff814987a3\u003e] mutex_lock+0x14/0x35\n[  112.535029] PGD 1e5d0067 PUD 1e274067 PMD 0\n[  112.535029] Oops: 0002 [#1] SMP\n[  112.535029] last sysfs file: /sys/devices/pci0000:00/0000:00:07.1/host2/target2:0:0/2:0:0:0/type\n[  112.535029] CPU 0\n[  112.535029] Modules linked in: iscsi_target_mod target_core_stgt scsi_tgt target_core_pscsi target_core_file target_core_iblock target_core_mod configfs sr_mod cdrom sd_mod ata_piix mptspi mptscsih libata mptbase [last unloaded: scsi_wait_scan]\n[  112.535029]\n[  112.535029] Pid: 3345, comm: python2.5 Not tainted 2.6.37+ #1 440BX Desktop Reference Platform/VMware Virtual Platform\n[  112.535029] RIP: 0010:[\u003cffffffff814987a3\u003e]  [\u003cffffffff814987a3\u003e] mutex_lock+0x14/0x35\n[  112.535029] RSP: 0018:ffff88001e6d7d58  EFLAGS: 00010246\n[  112.535029] RAX: 0000000000000000 RBX: 0000000000000020 RCX: 0000000000000082\n[  112.535029] RDX: ffff88001e6d7fd8 RSI: 0000000000000083 RDI: 0000000000000020\n[  112.535029] RBP: ffff88001e6d7d68 R08: 0000000000000000 R09: 0000000000000000\n[  112.535029] R10: ffff8800000be860 R11: ffff88001f420000 R12: 0000000000000020\n[  112.535029] R13: 0000000000000083 R14: ffff88001d809430 R15: ffff88001d8094f8\n[  112.535029] FS:  00007ff17ca7d6e0(0000) GS:ffff88001fa00000(0000) knlGS:0000000000000000\n[  112.535029] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[  112.535029] CR2: 0000000000000020 CR3: 000000001e5d2000 CR4: 00000000000006f0\n[  112.535029] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[  112.535029] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[  112.535029] Process python2.5 (pid: 3345, threadinfo ffff88001e6d6000, task ffff88001e2d0760)\n[  112.535029] Stack:\n[  112.535029]  ffff88001e6d7d88 0000000000000000 ffff88001e6d7d98 ffffffff811187fc\n[  112.535029]  ffff88001d809430 ffff88001dd05d70 ffff88001e750860 ffff88001e750000\n[  112.535029]  ffff88001e6d7db8 ffffffffa00e3757 ffff88001e6d7db8 0000000000000004\n[  112.535029] Call Trace:\n[  112.535029]  [\u003cffffffff811187fc\u003e] blkdev_put+0x28/0x107\n[  112.535029]  [\u003cffffffffa00e3757\u003e] iblock_free_device+0x1d/0x36 [target_core_iblock]\n[  112.535029]  [\u003cffffffffa00a319c\u003e] target_core_drop_subdev+0x15f/0x18d [target_core_mod]\n[  112.535029]  [\u003cffffffffa00960db\u003e] client_drop_item+0x25/0x31 [configfs]\n[  112.535029]  [\u003cffffffffa00967b5\u003e] configfs_rmdir+0x1a1/0x223 [configfs]\n[  112.535029]  [\u003cffffffff810fa8cd\u003e] vfs_rmdir+0x7e/0xd3\n[  112.535029]  [\u003cffffffff810fc3be\u003e] do_rmdir+0xa3/0xf4\n[  112.535029]  [\u003cffffffff810fc446\u003e] sys_rmdir+0x11/0x13\n[  112.535029]  [\u003cffffffff81002a92\u003e] system_call_fastpath+0x16/0x1b\n[  112.535029] Code: 8b 04 25 88 b5 00 00 48 2d d8 1f 00 00 48 89 43 18 31 c0 5e 5b c9 c3 55 48 89 e5 53 48 89 fb 48 83 ec 08 e8 c4 f7 ff ff 48 89 df \u003c3e\u003e ff 0f 79 05 e8 1e ff ff ff 65 48 8b 04 25 88 b5 00 00 48 2d\n[  112.535029] RIP  [\u003cffffffff814987a3\u003e] mutex_lock+0x14/0x35\n[  112.535029]  RSP \u003cffff88001e6d7d58\u003e\n[  112.535029] CR2: 0000000000000020\n[  132.679636] ---[ end trace 05754bb48eb828f0 ]---\n\nNote it also adds an second explict check for ib_dev-\u003eibd_bio_set before calling\nbioset_free() to fix the same possible NULL pointer deference during an early\niblock_create_virtdevice() failure.\n\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3ae279d25954de47c704ca713a2711ac10fcd1ee",
      "tree": "cb5b7976ad78d86c761a8e66e9c13cd718c03937",
      "parents": [
        "a361cc0025614fdd07f5f69aeeaa8075530870bc"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Feb 09 15:34:36 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:29:07 2011 -0600"
      },
      "message": "[SCSI] target: iblock/pscsi claim checking for NULL instead of IS_ERR\n\nblkdev_get_by_path() returns an ERR_PTR() or error and it doesn\u0027t return\na NULL.  It looks like this bug would be easy to trigger by mistake.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5",
      "tree": "71c6344688bf56ea6aaf18c586ab69ff4f077ade",
      "parents": [
        "f4013c3879d1bbd9f3ab8351185decd049502368"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Dec 17 11:11:26 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Jan 14 10:12:29 2011 -0600"
      },
      "message": "[SCSI] target: Add LIO target core v4.0.0-rc6\n\nLIO target is a full featured in-kernel target framework with the\nfollowing feature set:\n\nHigh-performance, non-blocking, multithreaded architecture with SIMD\nsupport.\n\nAdvanced SCSI feature set:\n\n    * Persistent Reservations (PRs)\n    * Asymmetric Logical Unit Assignment (ALUA)\n    * Protocol and intra-nexus multiplexing, load-balancing and failover (MC/S)\n    * Full Error Recovery (ERL\u003d0,1,2)\n    * Active/active task migration and session continuation (ERL\u003d2)\n    * Thin LUN provisioning (UNMAP and WRITE_SAMExx)\n\nMultiprotocol target plugins\n\nStorage media independence:\n\n    * Virtualization of all storage media; transparent mapping of IO to LUNs\n    * No hard limits on number of LUNs per Target; maximum LUN size ~750 TB\n    * Backstores: SATA, SAS, SCSI, BluRay, DVD, FLASH, USB, ramdisk, etc.\n\nStandards compliance:\n\n    * Full compliance with IETF (RFC 3720)\n    * Full implementation of SPC-4 PRs and ALUA\n\nSignificant code cleanups done by Christoph Hellwig.\n\n[jejb: fix up for new block bdev exclusive interface. Minor fixes from\n Randy Dunlap and Dan Carpenter.]\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    }
  ]
}
