1. 30 Jul, 2011 1 commit
    • Nicholas Bellinger's avatar
      target: Fix bug for transport_generic_wait_for_tasks with direct operation · dd8ae59d
      Nicholas Bellinger authored
      This patch fixes a bug in transport_handle_cdb_direct() usage with target_core
      where transport_generic_wait_for_tasks() was bypassing active I/O + usage of
      cmd->t_transport_stop_comp because cmd->t_transport_active=1 was not being set
      before dispatching with transport_generic_new_cmd().  The fix follows existing
      usage in transport_generic_handle_cdb*() -> transport_add_cmd_to_queue() and
      set these directly, as well as handle transport_generic_new_cmd() exceptions
      for QUEUE_FULL and CHECK_CONDITION instead of propigating up to RX context
      fabric code.
      
      The bug was manifesting itself with the following SLUB poison overwritten
      warnings with iscsi-target v4.1 LUNs using the new process context direct
      operation during session reinstatement with active I/O exception handling:
      
      [885410.498267] =============================================================================
      [885410.621622] BUG lio_cmd_cache: Poison overwritten
      [885410.621791] -----------------------------------------------------------------------------
      [885410.621792]
      [885410.623420] INFO: 0xffff880000cf3750-0xffff880000cf378d. First byte 0x6a instead of 0x6b
      [885410.626332] INFO: Allocated in iscsit_allocate_cmd+0x1c/0xd4 [iscsi_target_mod] age=345 cpu=1 pid=22554
      [885411.855189] INFO: Freed in iscsit_release_cmd+0x208/0x217 [iscsi_target_mod] age=1410 cpu=1 pid=22554
      [885411.856048] INFO: Slab 0xffffea000002d480 objects=22 used=0 fp=0xffff880000cf7300 flags=0x4080
      [885411.856368] INFO: Object 0xffff880000cf33c0 @offset=13248 fp=0xffff880000cf6780
      
      <SNIP>
      
      [885411.955678] Pid: 22554, comm: iscsi_trx Not tainted 3.0.0-rc7+ #30
      [885411.956040] Call Trace:
      [885411.957029]  [<ffffffff810e5cf9>] print_trailer+0x12e/0x137
      [885412.752879]  [<ffffffff810e61d9>] check_bytes_and_report+0xb9/0xfd
      [885412.754933]  [<ffffffff810e62d2>] check_object+0xb5/0x192
      [885412.755099]  [<ffffffff810e6445>] __free_slab+0x96/0x13a
      [885412.757008]  [<ffffffff810e652a>] discard_slab+0x41/0x43
      [885412.758171]  [<ffffffff810e7a4c>] __slab_free+0xf3/0xfe
      [885412.761027]  [<ffffffffa030a536>] ? iscsit_release_cmd+0x208/0x217 [iscsi_target_mod]
      [885412.761354]  [<ffffffff810e7e95>] kmem_cache_free+0x6f/0xac
      [885412.761536]  [<ffffffffa030a536>] iscsit_release_cmd+0x208/0x217 [iscsi_target_mod]
      [885412.762056]  [<ffffffffa020e467>] ? iblock_free_task+0x34/0x39 [target_core_iblock]
      [885412.762368]  [<ffffffffa0314131>] lio_release_cmd+0x10/0x12 [iscsi_target_mod]
      [885412.764129]  [<ffffffffa02c2254>] transport_release_cmd+0x2f/0x33 [target_core_mod]
      [885412.805024]  [<ffffffffa02c230e>] transport_generic_remove+0xb6/0xc3 [target_core_mod]
      [885412.806424]  [<ffffffff81035b5f>] ? try_to_wake_up+0x1bd/0x1bd
      [885412.809033]  [<ffffffffa02c241f>] transport_generic_free_cmd+0x75/0x7d [target_core_mod]
      [885412.810066]  [<ffffffffa02c2643>] transport_generic_wait_for_tasks+0x21c/0x22b [target_core_mod]
      [885412.811056]  [<ffffffff8139f0b1>] ? mutex_lock+0x11/0x32
      [885412.813059]  [<ffffffff8139f0b1>] ? mutex_lock+0x11/0x32
      [885412.813200]  [<ffffffffa030b81d>] iscsit_close_connection+0x1d5/0x63a [iscsi_target_mod]
      [885412.813517]  [<ffffffffa0300a82>] iscsit_take_action_for_connection_exit+0xdb/0xe0 [iscsi_target_mod]
      [885412.813851]  [<ffffffffa03111e9>] iscsi_target_rx_thread+0x11f6/0x1221 [iscsi_target_mod]
      [885412.829024]  [<ffffffff81033e8d>] ? pick_next_task_fair+0xbe/0x10e
      [885412.831010]  [<ffffffffa030fff3>] ? iscsit_handle_scsi_cmd+0x91d/0x91d [iscsi_target_mod]
      [885412.833011]  [<ffffffffa030fff3>] ? iscsit_handle_scsi_cmd+0x91d/0x91d [iscsi_target_mod]
      [885412.835010]  [<ffffffff8105388a>] kthread+0x7d/0x85
      [885412.837022]  [<ffffffff813a7124>] kernel_thread_helper+0x4/0x10
      [885412.838008]  [<ffffffff8105380d>] ? kthread_worker_fn+0x145/0x145
      [885412.840047]  [<ffffffff813a7120>] ? gs_change+0x13/0x13
      [885412.842007] FIX lio_cmd_cache: Restoring 0xffff880000cf3750-0xffff880000cf378d=0x6
      
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Andy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      dd8ae59d
  2. 28 Jul, 2011 2 commits
    • Randy Dunlap's avatar
      target: iscsi_target depends on NET · d52a10d0
      Randy Dunlap authored
      iscsi target code uses lots on network interface functions, so it
      should depend on NET.  Fixes many build errors when NET is not enabled:
      
      ERROR: "kernel_sendmsg" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!
      ERROR: "in_aton" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!
      ERROR: "sock_release" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!
      ERROR: "kernel_listen" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!
      ERROR: "kernel_setsockopt" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!
      ERROR: "kernel_recvmsg" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!
      ERROR: "kernel_accept" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!
      ERROR: "sock_create" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!
      ERROR: "kernel_bind" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!
      ERROR: "in6_pton" [drivers/target/iscsi/iscsi_target_mod.ko] undefined!
      Signed-off-by: default avatarRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      d52a10d0
    • Nicholas Bellinger's avatar
      target: Fix WRITE_SAME_16 lba assignment breakage · 5db0753b
      Nicholas Bellinger authored
      This patch fixes a bug in WRITE_SAME_16 LBA assignment where get_unaligned_be16()
      is incorrectly being used instead of get_unaligned_be64() for a 64-bit LBA.
      
      This was introduced with:
      
      commit a1d8b49a
      Author: Andy Grover <agrover@redhat.com>
      Date:   Mon May 2 17:12:10 2011 -0700
      
          target: Updates from AGrover and HCH (round 3)
      
          (target: inline struct se_transport_task into struct se_cmd)
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      5db0753b
  3. 27 Jul, 2011 6 commits
  4. 26 Jul, 2011 3 commits
  5. 25 Jul, 2011 3 commits
  6. 23 Jul, 2011 13 commits
  7. 22 Jul, 2011 12 commits