)]}'
{
  "log": [
    {
      "commit": "88dd9e26d6d3e743f9c7e4562b94b2ad3c2994d3",
      "tree": "452154b4137170de74d4445c5fcbbf62ce2f04fd",
      "parents": [
        "5a4c8666c6d576f076a7c6824589cdbb984c0f84"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 03:33:16 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Nov 02 15:58:30 2011 +0000"
      },
      "message": "target: Make TFO-\u003echeck_stop_free return free status\n\nThis patch converts target_core_fabric_ops-\u003echeck_stop_free() usage in\ntransport_cmd_check_stop() and associated fabric module usage to\nreturn \u00271\u0027 when the passed se_cmd has been released directly within\n-\u003echeck_stop_free(), or return \u00270\u0027 when the passed se_cmd has not\nbeen released.\n\nThis addresses an issue where transport_cmd_finish_abort() -\u003e\ntransport_cmd_check_stop_to_fabric() was leaking descriptors during\nLUN_RESET for modules using -\u003echeck_stop_free(), but not directly\nreleasing se_cmd in all cases.\n\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "8cd79f24350826b81e16990d9e12bc878e67d385",
      "tree": "14421b42c8c7eeb566e5793c1dfd45d051cd74d6",
      "parents": [
        "c9abb9bb0b8451588509192bd53005d65c02986c"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 13:35:37 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Oct 26 20:42:13 2011 +0000"
      },
      "message": "tcm_loop: Add explict read buffer memset for SCF_SCSI_CONTROL_SG_IO_CDB\n\nThis patch addresses an issue with buggy userspace code sending I/O\nvia scsi-generic that does not explictly clear their associated read\nbuffers.  It adds an explict memset of the first SGL entry within\ntcm_loop_new_cmd_map() for SCF_SCSI_CONTROL_SG_IO_CDB payloads that\nare currently guaranteed to be a single SGL by target-core code.\n\nThis issue is a side effect of the v3.1-rc1 merge to remove the\nextra memcpy between certain control CDB types using a contigious\n+ cleared buffer in target-core, and performing a memcpy into the\nSGL list within tcm_loop.\n\nIt was originally mainfesting itself by udev + scsi_id + scsi-generic\nnot properly setting up the expected /dev/disk/by-id/ symlinks because\nthe INQUIRY payload was containing extra bogus data preventing the\nproper NAA IEEE WWN from being parsed by userspace.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "0a020436d8baf412bcf5997aee7796276ea773ae",
      "tree": "6fec66de13bb35b467f7753889521018dfeb3645",
      "parents": [
        "ce8762f6cd1e0e6d87a6d0b536635993aef0a697"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 10 19:44:05 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:21:01 2011 +0000"
      },
      "message": "loopback: Prevent uninitialized use of tl_tpg in tcm_loop_queuecommand\n\nThis patch fixes a bug with tcm_loop where performing a scsi_host rescan was\ncausing an oops due to a received scsi_cmnd-\u003edevice-\u003eid value not matching a\npreviously configured tcm_loop_tpg entry in tcm_loop_hba-\u003etl_hba_tpgs[]\nobtained from within tcm_loop_queuecommand() code.\n\nThis fix adds an explict check for tcm_loop_tpg-\u003etl_hba in order to ensure\ntcm_loop_make_naa_tpg() has already been invoked to initialize a given\ntcm_loop_tpg entry, and also adds an explict clear of tcm_loop_tpg-\u003etl_hba\nfrom within the tcm_loop_drop_naa_tpg() release path.\n\nThis bug was manifesting itself with the following OOPs:\n\n[176289.430909] BUG: unable to handle kernel NULL pointer dereference at 0000000000000090\n[176289.431337] IP: [\u003cffffffffa0395617\u003e] transport_processing_thread+0x1e3/0x794 [target_core_mod]\n[176289.431399] PGD 22e9b067 PUD 23375067 PMD 0\n[176289.431399] Oops: 0000 [#1] SMP\n[176289.431815] CPU 1\n[176289.431815] Modules linked in: tcm_loop target_core_stgt target_core_pscsi target_core_file target_core_iblock target_core_mod crc32c ib_cm ib_sa ib_mad ib_core qla2xxx scsi_tgt configfs fcoe libfcoe libfc scsi_transport_fc ipv6 iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi sr_mod cdrom sd_mod ata_piix libata e1000 mptspi mptscsih mptbase [last unloaded: target_core_mod]\n[176289.431815]\n[176289.431815] Pid: 12339, comm: LIO_iblock Tainted: G        W   3.1.0-rc8+\n[176289.431815] RIP: 0010:[\u003cffffffffa0395617\u003e]  [\u003cffffffffa0395617\u003e] transport_processing_thread+0x1e3/0x794 [target_core_mod]\n[176289.431815] RSP: 0018:ffff880023bfbe10  EFLAGS: 00010283\n[176289.431815] RAX: 0000000000000000 RBX: ffff88002d600040 RCX: ffff88002d600108\n[176289.431815] RDX: ffff88000c9e50bc RSI: 0000000000000246 RDI: 0000000000000246\n[176289.431815] RBP: ffff880023bfbee0 R08: ffff88002d600108 R09: 0000000000000000\n[176289.431815] R10: ffff88002fc8cc80 R11: ffffffff81671b60 R12: ffff88002d600108\n[176289.431815] R13: ffff88000c9e4f38 R14: ffff88000c9e50b8 R15: 0000000000000000\n[176289.431815] FS:  0000000000000000(0000) GS:ffff88002fc80000(0000) knlGS:0000000000000000\n[176289.431815] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[176289.431815] CR2: 0000000000000090 CR3: 000000002a33f000 CR4: 00000000000006e0\n[176289.431815] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[176289.431815] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[176289.431815] Process LIO_iblock (pid: 12339, threadinfo ffff880023bfa000, task ffff88002a2e0000)\n[176289.431815] Stack:\n[176289.431815]  0000000000011280 0000000000000246 ffff88002a2e0000 ffff880023a58900\n[176289.431815]  ffff880023bfbed0 ffff880023bfa000 ffff880023bfa000 ffff88000c9e50d0\n[176289.431815]  ffff88000c9e50c0 ffff88000c9e50bc ffff880023bfa000 ffff880023bfbfd8\n[176289.431815] Call Trace:\n[176289.431815]  [\u003cffffffff81056657\u003e] ? wake_up_bit+0x25/0x25\n[176289.431815]  [\u003cffffffffa0395434\u003e] ? transport_handle_cdb_direct+0x92/0x92 [target_core_mod]\n[176289.431815]  [\u003cffffffff8105619a\u003e] kthread+0x7d/0x85\n[176289.431815]  [\u003cffffffff813cbcb4\u003e] kernel_thread_helper+0x4/0x10\n[176289.431815]  [\u003cffffffff8105611d\u003e] ? kthread_worker_fn+0x16d/0x16d\n[176289.431815]  [\u003cffffffff813cbcb0\u003e] ? gs_change+0x13/0x13\n[176289.431815] Code: 67 05 00 00 41 8b 84 24 4c ff ff ff ff c8 83 f8 11 0f 87 f0 04 00 00 89 c0 ff 24 c5 b0 c6 39 a0 0f 0b eb fe 48 8b 83 d8 00 00 00\n[176289.431815] RIP  [\u003cffffffffa0395617\u003e] transport_processing_thread+0x1e3/0x794 [target_core_mod]\n[176289.431815]  RSP \u003cffff880023bfbe10\u003e\n[176289.431815] CR2: 0000000000000090\n[176295.041004] ---[ end trace 85dc6865b23b8f3e ]---\n\nReported-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nCc: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "dd503a5fcc0dfb8b5fd887bd967b6f431176864b",
      "tree": "59d5bd7db7d4040ea91def8676cca5334f9926a6",
      "parents": [
        "942d82646e16725ac366d44087b8c992f2cb2190"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:56:16 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:53 2011 +0000"
      },
      "message": "target: Have core_tmr_alloc_req() take an explicit GFP_xxx flag\n\nTesting in_interrupt() to know when sleeping is allowed is not really\nreliable (since eg it won\u0027t be true if the caller is holding a spinlock).\nInstead have the caller tell core_tmr_alloc_req() what GFP_xxx to use;\nevery caller except tcm_qla2xxx can use GFP_KERNEL.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "82f1c8a4e7739eae9f1c32c2c419efdc19b8af41",
      "tree": "e4b9141c59cbc1402b96fb34003205fe90d362df",
      "parents": [
        "e6a2573f1f5d66f0456c433afdfc63f33fdf9008"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Sep 13 23:09:01 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 24 03:20:38 2011 +0000"
      },
      "message": "target: push session reinstatement out of transport_generic_free_cmd\n\nPush session reinstatement out of transport_generic_free_cmd into the only\ncaller that actually needs it.  Clean up transport_generic_free_cmd a bit,\nand remove the useless comment.  I\u0027d love to add a more useful kerneldoc\ncomment for it, but as this point I\u0027m still a bit confused in where it\nstands in the command release stack.\n\nSigned-off-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": "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": "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": "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": "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": "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": "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": "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": "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": "61db1802bf33bf027cd97ba3f79566b2b2fce5c6",
      "tree": "09b271607bda6219300874af71795979894d170f",
      "parents": [
        "1078da163fd2c1d3cba76cd4018e897a4f98efc5"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:14 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 27 11:49:49 2011 +0000"
      },
      "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": "1078da163fd2c1d3cba76cd4018e897a4f98efc5",
      "tree": "74ab10b4fb4ddc6120f8b2f1079088b77980c538",
      "parents": [
        "ccf4d680f80941f0073a9bc6a5e0ed41496b46e7"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu May 19 20:19:13 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 27 11:49:43 2011 +0000"
      },
      "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": "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"
    }
  ]
}
