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