)]}'
{
  "log": [
    {
      "commit": "95efa2863996b643083957079b9304fb3c01130f",
      "tree": "e76d1c677a36cc08588069cacfefa2b0c56af6e3",
      "parents": [
        "7c7cf3b9c31ed09822e5c186297991093ee13c49"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jun 23 23:28:46 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:09:16 2011 +0000"
      },
      "message": "tcm_fc: Fix conversion spec warning\n\nThis patch fixes the following conversion specification warning for size_t\n\ndrivers/target/tcm_fc/tfc_io.c: In function ‘ft_queue_data_in’:\ndrivers/target/tcm_fc/tfc_io.c:209: warning: format ‘%x’ expects type ‘unsigned int’, but argument 5 has type ‘size_t’\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7c7cf3b9c31ed09822e5c186297991093ee13c49",
      "tree": "9fc758477e9275b3c6657e020152e98ab6825f2b",
      "parents": [
        "61db952713a8bc1b18515db3f2eac354ec8990bd"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Jun 13 23:08:46 2011 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:09:15 2011 +0000"
      },
      "message": "tcm_fc: Fix possible lock to unlock type deadlock\n\nThere is a typo here, it should be an unlock instead of a lock.  The\noriginal code will deadlock.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "61db952713a8bc1b18515db3f2eac354ec8990bd",
      "tree": "94495bc24648a2990b39baf8c865fe0c36ccc9bf",
      "parents": [
        "60d645a4e9e7e7ddc20e534fea82aa4e6947f911"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Wed Jun 22 16:30:22 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:09:15 2011 +0000"
      },
      "message": "tcm_fc: Fix ft_send_tm LUN lookup OOPs\n\nThis patch fixes a bug in ft_send_tm() that was incorrectly calling\nft_get_lun_for_cmd() -\u003e transport_get_lun_for_cmd(), instead of using\ntransport_get_lun_for_tmr() for the proper struct se_lun lookup\nthat was triggering an OOPs in the se_cmd-\u003etmr_req failure path.\n\nThis patch fixes the issue by re-arranging the codepath where\ntransport_get_lun_for_tmr() is called after tmr request is allocated and\nmade it available as part of se_cmd.\n\nIt also drops the now unnecessary ft_get_lun_for_cmd() unpacking code, and\nuses scsilun_to_int() directly ahead of transport_get_lun_for_cmd() and\ntransport_get_lun_for_tmr() usage.\n\nSigned-off-by: Patil, Kiran \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "60d645a4e9e7e7ddc20e534fea82aa4e6947f911",
      "tree": "656848db8b14b92993df040058df24ce7012cb8b",
      "parents": [
        "5eff5be0b1993f4291f2b8c6d035b408010f96c5"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Jun 15 10:03:05 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:08:11 2011 +0000"
      },
      "message": "target: Fix incorrect strlen() NULL terminator checks\n\nThis patch fixes a number of cases in target core using an incorrectly\n\n\tif (strlen(foo) \u003e SOME_MAX_SIZE)\n\nAs strlen() returns the number of characters in the string not counting\nthe NULL character at the end.  So if you do something like:\n\n        char buf[10];\n\n        if (strlen(\"0123456789\") \u003e 10)\n                return -ETOOLONG;\n        snprintf(buf, 10, \"0123456789\");\n        printf(\"%s\\n\", buf);\n\nthen the last \"9\" gets chopped off and only \"012345678\" is printed.\n\nPlus I threw in one small related cleanup.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5eff5be0b1993f4291f2b8c6d035b408010f96c5",
      "tree": "6388265637ceb3420ab114579bd56eac43f85ca6",
      "parents": [
        "552523dcbf0f33d44d816da310be8227a2c1502a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Jun 13 23:10:49 2011 +0300"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:03:51 2011 +0000"
      },
      "message": "target: Drop bogus ERR_PTR usage in target_fabric_configfs_init\n\nIn the original code, there were several places inside the\ntarget_fabric_configfs_init() function that returned NULL on error\nand one place the returned an ERR_PTR.  There are two places that\ncall this function and they only check for NULL returns; they don\u0027t\ncheck for ERR_PTRs.  So I\u0027ve changed the ERR_PTR so now the function\nonly returns NULL on error.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "552523dcbf0f33d44d816da310be8227a2c1502a",
      "tree": "b3068ed11f76b583996b59f001d68bcc4be25156",
      "parents": [
        "233888644d80cc44330062e5e978c9e3a14c9cb9"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Jun 15 09:41:33 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jun 24 00:03:27 2011 +0000"
      },
      "message": "target: Fix ERR_PTR dereferencing bugs\n\ntransport_init_session() and core_tmr_alloc_req() never return NULL,\nthey only return ERR_PTRs on error.\n\nv2: Fix patch to return PTR_ERR(tl_nexus-\u003ese_sess) from Ankit Jain\u0027s\nfeedback.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Ankit Jain \u003cjankit@suse.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "233888644d80cc44330062e5e978c9e3a14c9cb9",
      "tree": "88b2b59e76a5f73d27ebda4a0e4d5a3bac49a741",
      "parents": [
        "7fd29aa920273b70be50c14c4b7e2213fb6623ce"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jun 22 01:02:21 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jun 23 23:59:45 2011 +0000"
      },
      "message": "target: Convert transport_deregister_session_configfs nacl_sess_lock to save irq state\n\nThis patch converts transport_deregister_session_configfs() to save/restore\nspinlock IRQ state for struct se_node_acl-\u003enacl_sess_lock access as tcm_qla2xxx\nlogic expects to call transport_deregister_session_configfs() code with\nirq save already held for struct qla_hw_data.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7fd29aa920273b70be50c14c4b7e2213fb6623ce",
      "tree": "e8fc3c2526db9cb1c76c91ca56434b5261f260f9",
      "parents": [
        "74d83b7eedab14e4b963a2220ff76f98fa6d4cb8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jun 23 23:48:32 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jun 23 23:59:45 2011 +0000"
      },
      "message": "target: Fix transport_get_lun_for_tmr failure cases\n\nThis patch fixes two possible NULL pointer dereferences in target v4.0\ncode where se_tmr release path in core_tmr_release_req() can OOPs upon\ntransport_get_lun_for_tmr() failure by attempting to access se_device or\nse_tmr-\u003etmr_list without a valid member of se_device-\u003etmr_list during\ntransport_free_se_cmd() release.  This patch moves the se_tmr-\u003etmr_dev\npointer assignment in transport_get_lun_for_tmr() until after possible\n-ENODEV failures during unpacked_lun lookup.\n\nThis addresses an OOPs originally reported with LIO v4.1 upstream on\n.39 code here:\n\n    TARGET_CORE[qla2xxx]: Detected NON_EXISTENT_LUN Access for 0x00000000\n    BUG: unable to handle kernel NULL pointer dereference at 0000000000000550\n    IP: [\u003cffffffff81035ec4\u003e] __ticket_spin_trylock+0x4/0x20\n    PGD 0\n    Oops: 0000 [#1] SMP\n    last sysfs file: /sys/devices/system/cpu/cpu23/cache/index2/shared_cpu_map\n    CPU 1\n    Modules linked in: netconsole target_core_pscsi target_core_file\ntcm_qla2xxx target_core_iblock tcm_loop target_core_mod configfs\nipmi_devintf ipmi_si ipmi_msghandler serio_raw i7core_edac ioatdma dca\nedac_core ps_bdrv ses enclosure usbhid usb_storage ahci qla2xxx hid\nuas e1000e mpt2sas libahci mlx4_core scsi_transport_fc\nscsi_transport_sas raid_class scsi_tgt [last unloaded: netconsole]\n\n    Pid: 0, comm: kworker/0:0 Tainted: G        W   2.6.39+ #1 Xyratex Storage Server\n    RIP: 0010:[\u003cffffffff81035ec4\u003e] [\u003cffffffff81035ec4\u003e]__ticket_spin_trylock+0x4/0x20\n    RSP: 0018:ffff88063e803c08  EFLAGS: 00010286\n    RAX: ffff880619ab45e0 RBX: 0000000000000550 RCX: 0000000000000000\n    RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000550\n    RBP: ffff88063e803c08 R08: 0000000000000002 R09: 0000000000000000\n    R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000568\n    R13: 0000000000000001 R14: 0000000000000000 R15: ffff88060cd96a20\n    FS:  0000000000000000(0000) GS:ffff88063e800000(0000) knlGS:0000000000000000\n    CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n    CR2: 0000000000000550 CR3: 0000000001a03000 CR4: 00000000000006e0\n    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n    Process kworker/0:0 (pid: 0, threadinfo ffff880619ab8000, task ffff880619ab45e0)\n    Stack:\n     ffff88063e803c28 ffffffff812cf039 0000000000000550 0000000000000568\n     ffff88063e803c58 ffffffff8157071e ffffffffa028a1dc ffff88060f7e4600\n     0000000000000550 ffff880616961480 ffff88063e803c78 ffffffffa028a1dc\n    Call Trace:\n\u003cIRQ\u003e\n     [\u003cffffffff812cf039\u003e] do_raw_spin_trylock+0x19/0x50\n     [\u003cffffffff8157071e\u003e] _raw_spin_lock+0x3e/0x70\n     [\u003cffffffffa028a1dc\u003e] ? core_tmr_release_req+0x2c/0x60 [target_core_mod]\n     [\u003cffffffffa028a1dc\u003e] core_tmr_release_req+0x2c/0x60 [target_core_mod]\n     [\u003cffffffffa028d0d2\u003e] transport_free_se_cmd+0x22/0x50 [target_core_mod]\n     [\u003cffffffffa028d120\u003e] transport_release_cmd_to_pool+0x20/0x40 [target_core_mod]\n     [\u003cffffffffa028e525\u003e] transport_generic_free_cmd+0xa5/0xb0 [target_core_mod]\n     [\u003cffffffffa0147cc4\u003e] tcm_qla2xxx_handle_tmr+0xc4/0xd0 [tcm_qla2xxx]\n     [\u003cffffffffa0191ba3\u003e] __qla24xx_handle_abts+0xd3/0x150 [qla2xxx]\n     [\u003cffffffffa0197651\u003e] qla_tgt_response_pkt+0x171/0x520 [qla2xxx]\n     [\u003cffffffffa0197a2d\u003e] qla_tgt_response_pkt_all_vps+0x2d/0x220 [qla2xxx]\n     [\u003cffffffffa0171dd3\u003e] qla24xx_process_response_queue+0x1a3/0x670 [qla2xxx]\n     [\u003cffffffffa0196281\u003e] ? qla24xx_atio_pkt+0x81/0x120 [qla2xxx]\n     [\u003cffffffffa0174025\u003e] ? qla24xx_msix_default+0x45/0x2a0 [qla2xxx]\n     [\u003cffffffffa0174198\u003e] qla24xx_msix_default+0x1b8/0x2a0 [qla2xxx]\n     [\u003cffffffff810dadb4\u003e] handle_irq_event_percpu+0x54/0x210\n     [\u003cffffffff810dafb8\u003e] handle_irq_event+0x48/0x70\n     [\u003cffffffff810dd5ee\u003e] ? handle_edge_irq+0x1e/0x110\n     [\u003cffffffff810dd647\u003e] handle_edge_irq+0x77/0x110\n     [\u003cffffffff8100d362\u003e] handle_irq+0x22/0x40\n     [\u003cffffffff8157b28d\u003e] do_IRQ+0x5d/0xe0\n     [\u003cffffffff81571413\u003e] common_interrupt+0x13/0x13\n\u003cEOI\u003e\n     [\u003cffffffff813003f7\u003e] ? intel_idle+0xd7/0x130\n     [\u003cffffffff813003f0\u003e] ? intel_idle+0xd0/0x130\n     [\u003cffffffff8144832b\u003e] cpuidle_idle_call+0xab/0x1c0\n     [\u003cffffffff8100a26b\u003e] cpu_idle+0xab/0xf0\n     [\u003cffffffff81566c59\u003e] start_secondary+0x1cb/0x1d2\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e66ecd505addaaf40e7d352796ba8d344f6359dd",
      "tree": "3a97bb4ff8936ae73150a499acd73119cb7dca04",
      "parents": [
        "d60b7a0fc918245c6fb8cc2b15e570e040d8f38b"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:14 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 13:03:56 2011 -0400"
      },
      "message": "[SCSI] target: Convert TASK_ATTR to scsi_tcq.h definitions\n\nThis patch converts target core and follwing scsi-misc upstream fabric\nmodules to use include/scsi/scsi_tcq.h includes for SIMPLE, HEAD_OF_QUEUE\nand ORDERED SCSI tasks instead of scsi/libsas.h with TASK_ATTR*\n\n*) tcm_loop: Convert tcm_loop_allocate_core_cmd() + tcm_loop_device_reset() to\n   scsi_tcq.h\n*) tcm_fc: Convert ft_send_cmd() from FCP_PTA_* to scsi_tcq.h\n\nReported-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "d60b7a0fc918245c6fb8cc2b15e570e040d8f38b",
      "tree": "954f4a6144738b17f6c08e6a72cd30f537e272fd",
      "parents": [
        "af57c3ac9947990da2608561b71f4799eb7795c6"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:13 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 13:02:42 2011 -0400"
      },
      "message": "[SCSI] target: Convert REPORT_LUNs to use int_to_scsilun\n\nThis patch converts transport_core_report_lun_response() to use\ndrivers/scsi/scsi_scan.c:int_to_scsilun instead of using the\nstruct target_core_fabric_ops-\u003epack_lun() fabric provided API vector.\n\nIt also removes the tfo-\u003epack_lun check from target_fabric_tf_ops_check()\nand removes from struct target_core_fabric_ops-\u003epack_lun() from\ntarget_core_fabric_ops.h, and the following mainline scsi-misc fabric\nmodules:\n\n*) tcm_loop: Drop tcm_loop_pack_lun() usage\n*) tcm_fc: Drop ft_pack_lun() usage\n\nReported-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "af57c3ac9947990da2608561b71f4799eb7795c6",
      "tree": "35c113646dbd8f18d14e8060220ef9428e1bee61",
      "parents": [
        "f436677262a5b524ac87675014c6d4e8ee153029"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:12 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 13:01:05 2011 -0400"
      },
      "message": "[SCSI] target: Fix task-\u003etask_execute_queue\u003d1 clear bug + LUN_RESET OOPs\n\nThis patch fixes a bug where task-\u003etask_execute_queue\u003d1 was not being\ncleared once se_task had been removed from se_device-\u003eexecute_task_list,\nresulting in an OOPs in core_tmr_lun_reset() for the task-\u003etask_active\u003d0\ncase where transport_remove_task_from_execute_queue() was incorrectly\nbeing called.\n\nThis patch fixes two cases in transport_get_task_from_execute_queue()\nand transport_remove_task_from_execute_queue() to properly clear\ntask-\u003etask_execute_queue\u003d0 once list_del(\u0026task-\u003et_execute_list) has\nbeen called.\n\nIt also adds an explict check in transport_remove_task_from_execute_queue()\nto dump_stack + return if called with task-\u003etask_execute_queue\u003d0.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "f436677262a5b524ac87675014c6d4e8ee153029",
      "tree": "c3ab2fb111163ac52eb4999b83d3063ca4fca718",
      "parents": [
        "53ab6709b4d35b1924240854d794482fd7d33d4a"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:11 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 13:00:10 2011 -0400"
      },
      "message": "[SCSI] target: Fix bug with task_sg chained transport_free_dev_tasks release\n\nThis patch addresses a bug in the target core release path for HW\noperation where transport_free_dev_tasks() was incorrectly being called\nfrom transport_lun_remove_cmd() while releasing a se_cmd reference and\ncalling struct target_core_fabric_ops-\u003equeue_data_in().\n\nThis would result in a OOPs with HW target mode when the release of\nse_task-\u003etask_sg[] would happen before pci_unmap_sg() can be called in\nHW target mode fabric module code.  This patch addresses the issue by\nmoving transport_free_dev_tasks() from transport_lun_remove_cmd() into\ntransport_generic_free_cmd(), and adding TRANSPORT_FREE_CMD_INTR and\ntransport_generic_free_cmd_intr() to allow se_cmd descriptor release\nto happen fromfrom within transport_processing_thread() process context\nwhen release of se_cmd is not possible from HW interrupt context.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "53ab6709b4d35b1924240854d794482fd7d33d4a",
      "tree": "9a1b10d03d4c6aa91076dd6ea55a3874f0db590c",
      "parents": [
        "97868c8905a1537153d406c4a3aa39a503a5c299"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:10 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 12:58:17 2011 -0400"
      },
      "message": "[SCSI] target: Fix interrupt context bug with stats_lock and core_tmr_alloc_req\n\nThis patch fixes two bugs wrt to the interrupt context usage of target\ncore with HW target mode drivers.  It first converts the usage of struct\nse_device-\u003estats_lock in transport_get_lun_for_cmd() and core_tmr_lun_reset()\nto properly use spin_lock_irq() to address an BUG with CONFIG_LOCKDEP_SUPPORT\u003dy\nenabled.\n\nThis patch also adds a \u0027in_interrupt()\u0027 check to allow GFP_ATOMIC usage from\ncore_tmr_alloc_req() to fix a \u0027sleeping in interrupt context\u0027 BUG with HW\ntarget fabrics that require this logic to function.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "97868c8905a1537153d406c4a3aa39a503a5c299",
      "tree": "3814892385b463a3ba14d81bf4101285855300f6",
      "parents": [
        "3eef6257de48ff84a5d98ca533685df8a3beaeb8"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:09 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 12:56:58 2011 -0400"
      },
      "message": "[SCSI] target: Fix multi task-\u003etask_sg[] chaining logic bug\n\nThis patch fixes a bug in transport_do_task_sg_chain() used by HW target\nmode modules with sg_chain() to provide a single sg_next() walkable memory\nlayout for use with pci_map_sg() and friends.  This patch addresses an\nissue with mapping multiple small block max_sector tasks across multiple\nstruct se_task-\u003etask_sg[] mappings for HW target mode operation.\n\nThis was causing OOPs with (cmd-\u003et_task-\u003et_tasks_no \u003e 1) I/O traffic for\nHW target drivers using transport_do_task_sg_chain(), and has been tested\nso far with tcm_fc(openfcoe), tcm_qla2xxx, and ib_srpt fabrics with\nt_tasks_no \u003e 1 IBLOCK backends using a smaller max_sectors to trigger the\noriginal issue.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nAcked-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "57d19e80f459dd845fb3cfeba8e6df8471bac142",
      "tree": "8254766715720228db3d50f1ef3c7fe003c06d65",
      "parents": [
        "ee9ec4f82049c678373a611ce20ac67fe9ad836e",
        "e64851f5a0ad6ec991f74ebb3108c35aa0323d5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  b43: fix comment typo reqest -\u003e request\n  Haavard Skinnemoen has left Atmel\n  cris: typo in mach-fs Makefile\n  Kconfig: fix copy/paste-ism for dell-wmi-aio driver\n  doc: timers-howto: fix a typo (\"unsgined\")\n  perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c\n  md, raid5: Fix spelling error in comment (\u0027Ofcourse\u0027 --\u003e \u0027Of course\u0027).\n  treewide: fix a few typos in comments\n  regulator: change debug statement be consistent with the style of the rest\n  Revert \"arm: mach-u300/gpio: Fix mem_region resource size miscalculations\"\n  audit: acquire creds selectively to reduce atomic op overhead\n  rtlwifi: don\u0027t touch with treewide double semicolon removal\n  treewide: cleanup continuations and remove logging message whitespace\n  ath9k_hw: don\u0027t touch with treewide double semicolon removal\n  include/linux/leds-regulator.h: fix syntax in example code\n  tty: fix typo in descripton of tty_termios_encode_baud_rate\n  xtensa: remove obsolete BKL kernel option from defconfig\n  m68k: fix comment typo \u0027occcured\u0027\n  arch:Kconfig.locks Remove unused config option.\n  treewide: remove extra semicolons\n  ...\n"
    },
    {
      "commit": "3699d92a4d7b649bde67dff3cc681400992e0254",
      "tree": "728d226d93278025ed7c8ab35265877a000d7c3e",
      "parents": [
        "8a025bbc8ff897c36c6e2b91c2e852ea5e569394"
      ],
      "author": {
        "name": "Kiran Patil",
        "email": "kiran.patil@intel.com",
        "time": "Mon Apr 18 16:24:14 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 17 10:52:46 2011 +0400"
      },
      "message": "[SCSI] tcm_fc: Adding FC_FC4 provider (tcm_fc) for FCoE target (TCM - target core) support\n\nThis is a comprehensive patch for FC-FC4 provider. tcm_fc is a FC-FC4\nprovider which glues target core (TCM) with Fiber channel library\n(libfc). tcm_fc uses existing FC4 provider hooks from Fiber channel\nlibrary. This Fiber channel library is used by FCoE (transport - FC\nover Ethernet) protocol driver as well.\n\nCombination of modules such as Fiber channel library, tcm_fc, TCM\ntarget core, and FCoE protocol driver enables functional FCoE target.\n\nThis patch includes initial commit for tcm_fc plus additional\nenhancement, bug fixes.\n\nThis tcm_fc module essentially contains 3 entry points such as \"prli\",\n\"prlo\", \"recv\".  When process login request (ELS_PRLI) request is\nreceived, Fiber channel library (libfc) module calls passive providers\n(FC-FC4, tcm_fc) (if any registered) \"prli\" function. Likewise when\nLOGO request is received, \"prlo\" function of passive provider is\ninvoked by libfc.  For all other request (e.g. any read/write, task\nmanagement, LUN inquiry commands), \"recv\" function of passiver\nprovider is invoked by libfc. Those passive providers \"prli, prlo,\nrecv\" functions interact with TCM target core for requested operation.\n\nThis module was primarily developed by \"Joe Eykholt\" and there were\nsignificant contributions from the people listed under signed-off.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\n\nAcked-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "07f9479a40cc778bc1462ada11f95b01360ae4ff",
      "tree": "0676cf38df3844004bb3ebfd99dfa67a4a8998f5",
      "parents": [
        "9d5e6bdb3013acfb311ab407eeca0b6a6a3dedbf",
        "cd2e49e90f1cae7726c9a2c54488d881d7f1cd1c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:15 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:59 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nFast-forwarded to current state of Linus\u0027 tree as there are patches to be\napplied for files that didn\u0027t exist on the old branch.\n"
    },
    {
      "commit": "6eab04a87677a37cf15b52e2b4b4fd57917102ad",
      "tree": "dc92e25473e7e5c9183312d7feeeaeabb2157baf",
      "parents": [
        "9f0af69b2dd34d2c21817d599db7bdb3c972a759"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Fri Apr 08 19:49:08 2011 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Apr 10 17:01:05 2011 +0200"
      },
      "message": "treewide: remove extra semicolons\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "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"
    }
  ]
}
