Skip to content
  1. May 15, 2013
  2. May 12, 2013
  3. May 08, 2013
  4. May 04, 2013
  5. Apr 25, 2013
    • Nicholas Bellinger's avatar
      iser-target: Add iSCSI Extensions for RDMA (iSER) target driver · b8d26b3b
      Nicholas Bellinger authored
      
      
      This patch adds support for iSCSI Extensions for RDMA target mode,
      and includes CQ pooling per isert_device context distributed across
      multiple active iser target sessions.
      
      It also uses cmwq process context for RX / TX ib_post_cq() polling
      via isert_cq_desc->cq_[rx,tx]_work invoked by isert_cq_[rx,tx]_callback()
      hardIRQ context callbacks.
      
      v5 changes:
      
      - Use ISER_RECV_DATA_SEG_LEN instead of hardcoded value in ISER_RX_PAD_SIZE (Or)
      - Fix make W=1 warnings (Or)
      - Add missing depends on NET && INFINIBAND_ADDR_TRANS in Kconfig (Randy + Or)
      - Make isert_device_find_by_ib_dev() return proper ERR_PTR (Wei Yongjun)
      - Properly setup iscsi_np->np_sockaddr in isert_setup_np() (Shlomi + nab)
      - Add special case for early ISCSI_OP_SCSI_CMD exception handling (nab)
      
      v4 changes:
      - Mark isert_cq_rx_work as static (Or)
      - Drop unnecessary ib_dma_sync_single_for_cpu + ib_dma_sync_single_for_device
        calls for isert_cmd->sense_buf_dma from isert_put_response (Or)
      - Use 12288 for ISER_RX_PAD_SIZE base to save extra page per
        struct iser_rx_desc (Or + nab)
      - Drop now unnecessary isert_rx_desc usage, and convert RX users to
        iser_rx_desc (Or + nab)
      - Move isert_[alloc,free]_rx_descriptors() ahead of
        isert_create_device_ib_res() usage (nab)
      - Mark isert_cq_[rx,tx]_callback() + prototypes as static
      - Fix 'warning: 'ret' may be used uninitialized' warning for
        isert_create_device_ib_res on powerpc allmodconfig (fengguang + nab)
      - Fix 'warning: 'ret' may be used uninitialized' warning for
        isert_connect_request on i386 allyesconfig (fengguang + nab)
      - Fix pr_debug conversion specification in isert_rx_completion()
        (fengguang + nab)
      - Drop unnecessary isert_conn->conn_cm_id != NULL check in
        isert_connect_release causing the build warning:
        "variable dereferenced before check 'isert_conn->conn_cm_id'"
      - Fix isert_lid + isert_np leak in isert_setup_np failure path
      - Add isert_conn->conn_wait_comp_err usage in isert_free_conn()
        for isert_cq_comp_err completion path
      - Add isert_conn->logout_posted bit to determine decrement of
        isert_conn->post_send_buf_count from logout response completion
      - Always set ISER_CONN_DOWN from isert_disconnect_work() callback
      
      v3 changes:
      
      - Convert to use per isert_cq_desc->cq_[rx,tx]_work + drop tasklets (Or + nab)
      - Move IB_EVENT_QP_LAST_WQE_REACHED warn into correct
        isert_qp_event_callback (Or)
      - Drop unnecessary IB_ACCESS_REMOTE_* access flag usage in
        isert_create_device_ib_res (Or)
      - Add common isert_init_send_wr(), and convert isert_put_* calls (Or)
      - Move to verbs+core logic to single ib_isert.[c,h]  (Or + nab)
      - Add kmem_cache isert_cmd_cache usage for descriptor allocation (nab)
      - Move common ib_post_send() logic used by isert_put_*() to
        isert_post_response() (nab)
      - Add isert_put_reject call in isert_response_queue() for posting
        ISCSI_REJECT response. (nab)
      - Add ISTATE_SEND_REJECT checking in isert_do_control_comp. (nab)
      
      v2 changes:
      
      - Drop unused ISERT_ADDR_ROUTE_TIMEOUT define
      - Add rdma_notify() call for IB_EVENT_COMM_EST in isert_qp_event_callback()
      - Make isert_query_device() less verbose
      - Drop unused RDMA_CM_EVENT_ADDR_ERROR and RDMA_CM_EVENT_ROUTE_ERROR
        cases from isert_cma_handler()
      - Drop unused rdma/ib_fmr_pool.h include
      - Update isert_conn_setup_qp() to assign cq based upon least used
      - Add isert_create_device_ib_res() to setup PD, CQs and MRs for each
        underlying struct ib_device, instead of using per isert_conn resources.
      - Add isert_free_device_ib_res() to release PD, CQs and MRs for each
        underlying struct ib_device.
      - Add isert_device_find_by_ib_dev()
      - Change isert_connect_request() to drop PD, CQs and MRs allocation,
        and use isert_device_find_by_ib_dev() instead.
      - Add isert_device_try_release()
      - Change isert_connect_release() to decrement cq_active_qps, and drop
        PD, CQs and MRs resource release.
      - Update isert_connect_release() to call isert_device_try_release()
      - Make isert_create_device_ib_res() determine device->cqs_used based
        upon num_online_cpus()
      - Drop misleading isert_dump_ib_wc() usage
      - Drop unused rdma/ib_fmr_pool.h include
      - Use proper xfer_len for login PDUs in isert_rx_completion()
      - Add isert_release_cmd() usage
      - Change isert_alloc_cmd() to setup iscsi_cmd.release_cmd() pointer
      - Change isert_put_cmd() to perform per iscsi_opcode specific release
        logic
      - Add isert_unmap_cmd() call for ISCSI_OP_SCSI_CMD from isert_put_cmd()
      - Change isert_send_completion() to call
        atomic_dec(&isert_conn->post_send_buf_count)
        based upon per iscsi_opcode logic
      - Drop ISTATE_REMOVE processing from isert_immediate_queue()
      - Drop ISTATE_SEND_DATAIN processing from isert_response_queue()
      - Drop ISTATE_SEND_STATUS processing from isert_response_queue()
      - Drop iscsit_transport->iscsit_unmap_cmd() and ->iscsit_free_cmd()
      - Convert iser_cq_tx_tasklet() to use struct isert_cq_desc pooling logic
      - Convert isert_cq_tx_callback() to use struct isert_cq_desc pooling
        logic
      - Convert iser_cq_rx_tasklet() to use struct isert_cq_desc pooling logic
      - Convert isert_cq_rx_callback() to use struct isert_cq_desc pooling
        logic
      - Add explict iscsit_stop_dataout_timer() call to
        isert_do_rdma_read_comp()
      - Use isert_get_dataout() for iscsit_transport->iscsit_get_dataout()
        caller
      - Drop ISTATE_SEND_R2T processing from isert_immediate_queue()
      - Drop unused rdma/ib_fmr_pool.h include
      - Drop isert_cmd->cmd_kref in favor of se_cmd->cmd_kref usage
      - Add struct isert_device in order to support multiple EQs + CQ pooling
      - Add struct isert_cq_desc
      - Drop tasklets and cqs from isert_conn
      - Bump ISERT_MAX_CQ to 64
      - Various minor checkpatch fixes
      
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      b8d26b3b
    • Asias He's avatar
      tcm_vhost: Enable VIRTIO_SCSI_F_HOTPLUG · 04b59bab
      Asias He authored
      
      
      Everything for hotplug is ready. Let's enable the feature bit.
      
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      04b59bab
    • Asias He's avatar
    • Asias He's avatar
      tcm_vhost: Add hotplug/hotunplug support · a6c9af87
      Asias He authored
      In commit 365a7150
      
       ([SCSI] virtio-scsi: hotplug support for
      virtio-scsi), hotplug support is added to virtio-scsi.
      
      This patch adds hotplug and hotunplug support to tcm_vhost.
      
      You can create or delete a LUN in targetcli to hotplug or hotunplug a
      LUN in guest.
      
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      a6c9af87
    • Asias He's avatar
      tcm_vhost: Refactor the lock nesting rule · f2b7daf5
      Asias He authored
      
      
      We want to use tcm_vhost_mutex to make sure hotplug/hotunplug will not
      happen when set_endpoint/clear_endpoint is in process.
      
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      f2b7daf5
    • Mark Rustad's avatar
      tcm_fc: Check for aborted sequence · d3682b1a
      Mark Rustad authored
      
      
      Add a check for an aborted sequence, which has a
      NULL sequence pointer, to avoid target crashes.
      The most relevant messages from the crash (entered
      from video capture) include:
      
      BUG: unable to handle kernel paging request at ffffffffffffffdf
      IP: [<ffffffffa02d514c>] fc_seq_send+0x3c/0x150 [libfc]
      ...
      Call Trace:
       [<ffffffffa0443de6>] ft_queue_data_in+0x266/0x560 [tcm_fc]
      
      Signed-off-by: default avatarMark Rustad <mark.d.rustad@intel.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      d3682b1a
    • Nicholas Bellinger's avatar
      iscsi-target: Add iser network portal attribute · 72438cdd
      Nicholas Bellinger authored
      
      
      This patch adds a new network portal attribute for iser, that lives
      under existing iscsi-target configfs layout at:
      
         /sys/kernel/config/target/iscsi/$TARGETNAME/$TPGT/np/$PORTAL/iser
      
      When lio_target_np_store_iser() is enabled, iscsit_tpg_add_network_portal()
      will attempt to start an rdma_cma network portal for iser-target, only if
      the external ib_isert module transport has been loaded.
      
      When disabled, iscsit_tpg_del_network_portal() will cease iser login service
      on the network portal, and release any external ib_isert module reference.
      
      v4 changes:
      
      - Add request_module for ib_isert to lio_target_np_store_iser()
      
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      72438cdd
    • Nicholas Bellinger's avatar
      iscsi-target: Refactor TX queue logic + export response PDU creation · 2ec5a8c1
      Nicholas Bellinger authored
      
      
      This patch refactors TX immediate + response queue handling to use
      the new iscsit_transport API callers, and exports the necessary
      traditional iscsi PDU response creation functions for iser-target
      to utilize.
      
      This includes:
      
      - Add iscsit_build_datain_pdu() for DATAIN PDU init + convert
        iscsit_build_datain_pdu()
      - Add iscsit_build_logout_rsp() for LOGOUT_RSP PDU init + convert
        iscsit_send_logout()
      - Add iscsit_build_nopin_rsp() for NOPIN_RSP PDU init + convert
        iscsit_send_nopin()
      - Add iscsit_build_rsp_pdu() for SCSI_RSP PDU init + convert
        iscsit_send_response()
      - Add iscsit_build_task_mgt_rsp for TM_RSP PDU init + convert
        iscsit_send_task_mgt_rsp()
      - Refactor immediate queue state switch into iscsit_immediate_queue()
      - Convert handle_immediate_queue() to use iscsit_transport caller
      - Refactor response queue state switch into iscsit_response_queue()
      - Convert handle_response_queue to use iscsit_transport caller
      - Export iscsit_logout_post_handler(), iscsit_increment_maxcmdsn()
        and iscsit_tmr_post_handler() for external transport module usage
      
      v5 changes:
      
      - Fix solicited NopIN handling with RDMAExtensions=No (nab)
      
      v3 changes:
      - Add iscsit_build_reject for REJECT PDU init + convert
        iscsit_send_reject()
      
      v2 changes:
      
      - Add iscsit_queue_rsp() for iscsit_transport->iscsit_queue_data_in()
        and iscsit_transport->iscsit_queue_status()
      - Update lio_queue_data_in() to use ->iscsit_queue_data_in()
      - Update lio_queue_status() to use ->iscsit_queue_status()
      - Use mutex_trylock() in iscsit_increment_maxcmdsn()
      
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      2ec5a8c1
    • Nicholas Bellinger's avatar
      iscsi-target: Refactor RX PDU logic + export request PDU handling · 3e1c81a9
      Nicholas Bellinger authored
      
      
      This patch refactors existing traditional iscsi RX side PDU handling
      to use iscsit_transport, and exports the necessary logic for external
      transport modules.
      
      This includes:
      
      - Refactor iscsit_handle_scsi_cmd() into PDU setup / processing
      - Add updated iscsit_handle_scsi_cmd() for tradtional iscsi code
      - Add iscsit_set_unsoliticed_dataout() wrapper
      - Refactor iscsit_handle_data_out() into PDU check / processing
      - Add updated iscsit_handle_data_out() for tradtional iscsi code
      - Add iscsit_handle_nop_out() + iscsit_handle_task_mgt_cmd() to
        accept pre-allocated struct iscsi_cmd
      - Add iscsit_build_r2ts_for_cmd() caller for iscsi_target_transport
        to handle ISTATE_SEND_R2T for TX immediate queue
      - Refactor main traditional iscsi iscsi_target_rx_thread() PDU switch
        into iscsi_target_rx_opcode() using iscsit_allocate_cmd()
      - Turn iscsi_target_rx_thread() process context into NOP for
        ib_isert side work-queue.
      
      v5 changes:
      
      - Make iscsit_handle_scsi_cmd() static (Fengguang)
      - Fix iscsit_handle_scsi_cmd() exception se_cmd leak (nab)
      
      v3 changes:
      - Add extra target_put_sess_cmd call in iscsit_add_reject_from_cmd
        after completion
      
      v2 changes:
      
      - Disable iscsit_ack_from_expstatsn() usage for RDMAExtentions=Yes
      - Disable iscsit_allocate_datain_req() usage for RDMAExtentions=Yes
      - Add target_get_sess_cmd() reference counting to
        iscsit_setup_scsi_cmd()
      - Add TFO->lio_check_stop_free() fabric API caller
      - Add export of iscsit_stop_dataout_timer() symbol
      - Add iscsit_build_r2ts_for_cmd() for iscsit_transport->iscsit_get_dataout()
      - Convert existing usage of iscsit_build_r2ts_for_cmd() to
        ->iscsit_get_dataout()
      - Drop RDMAExtentions=Yes specific check in iscsit_build_r2ts_for_cmd()
      - Fix RDMAExtentions -> RDMAExtensions typo (andy)
      - Pass correct dump_payload value into iscsit_get_immediate_data()
        for iscsit_handle_scsi_cmd()
      
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      3e1c81a9
    • Nicholas Bellinger's avatar
      iscsi-target: Add per transport iscsi_cmd alloc/free · cdb72665
      Nicholas Bellinger authored
      
      
      This patch converts struct iscsi_cmd memory allocation + free to use
      ->iscsit_alloc_cmd() iscsit_transport API caller, and export
      iscsit_allocate_cmd() symbols
      
      Also add iscsi_cmd->release_cmd() to be used seperately from
      iscsit_transport for connection/session shutdown.
      
      v2 changes:
      
      - Remove unnecessary checks in iscsit_alloc_cmd (asias)
      - Drop iscsit_transport->iscsit_free_cmd() usage
      - Drop iscsit_transport->iscsit_unmap_cmd() usage
      - Add iscsi_cmd->release_cmd()
      - Convert lio_release_cmd() to use iscsi_cmd->release_cmd()
      
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      cdb72665
    • Nicholas Bellinger's avatar
      iscsi-target: Add iser-target parameter keys + setup during login · 03aa2070
      Nicholas Bellinger authored
      
      
      This patch adds RDMAExtensions, InitiatorRecvDataSegmentLength and
      TargetRecvDataSegmentLength parameters keys necessary for iser-target
      login to occur.
      
      This includes setting the necessary parameters during login path
      code within iscsi_login_zero_tsih_s2(), and currently PAGE_SIZE
      aligning the target's advertised MRDSL for immediate data and
      unsolicited data-out incoming payloads.
      
      v3 changes:
      - Add iscsi_post_login_start_timers FIXME for ISER
      
      v2 changes:
      
      - Fix RDMAExtentions -> RDMAExtensions typo (andy)
      - Drop unnecessary '== true' conditional checks for type bool
      
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      03aa2070
    • Nicholas Bellinger's avatar
      iscsi-target: Initial traditional TCP conversion to iscsit_transport · baa4d64b
      Nicholas Bellinger authored
      
      
      This patch performs the initial conversion of existing traditional iscsi
      to use iscsit_transport API callers.  This includes:
      
      - iscsi-np cleanups for iscsit_transport_type
      - Add iscsi-np transport calls w/ ->iscsit_setup_up() and ->iscsit_free_np()
      - Convert login thread process context to use ->iscsit_accept_np() for
        connections with pre-allocated struct iscsi_conn
      - Convert existing socket accept code to iscsit_accept_np()
      - Convert login RX/TX callers to use ->iscsit_get_login_rx() and
        ->iscsit_put_login_tx() to exchange request/response PDUs
      - Convert existing socket login RX/TX calls into iscsit_get_login_rx()
        and iscsit_put_login_tx()
      - Change iscsit_close_connection() to invoke ->iscsit_free_conn() +
        iscsit_put_transport() calls.
      - Add iscsit_register_transport() + iscsit_unregister_transport() calls
        to module init/exit
      
      v4 changes:
      
      - Add missing iscsit_put_transport() call in iscsi_target_setup_login_socket()
        failure case
      
      v2 changes:
      
      - Update module init/exit to use register_transport() + unregister_transport()
      
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      baa4d64b
    • Nicholas Bellinger's avatar
      iscsi-target: Add iscsit_transport API template · 3f993063
      Nicholas Bellinger authored
      
      
      Add basic struct iscsit_transport API template to allow iscsi-target for
      running with external transport modules using existing iscsi_target_core.h
      code.
      
      For all external modules, this calls try_module_get() and module_put()
      to obtain + release an external iscsit_transport module reference count.
      
      Also include the iscsi-target symbols necessary in iscsi_transport.h to
      allow external transport modules to function.
      
      v3 changes:
      - Add iscsit_build_reject export for ISTATE_SEND_REJECT usage
      
      v2 changes:
      
      - Drop unnecessary export of iscsit_get_transport + iscsit_put_transport (roland)
      - Add ->iscsit_queue_data_in() to remove extra context switch on RDMA_WRITE
      - Add ->iscsit_queue_status() to remove extra context switch on IB_SEND status
      - Add ->iscsit_get_dataout() to remove extra context switch on RDMA_READ
      - Drop ->iscsit_free_cmd()
      - Drop ->iscsit_unmap_cmd()
      - Rename iscsit_create_transport() -> iscsit_register_transport() (andy)
      - Rename iscsit_destroy_transport() -> iscsit_unregister_transport() (andy)
      
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      3f993063
    • Nicholas Bellinger's avatar
      target: Add export of target_get_sess_cmd symbol · 20361e69
      Nicholas Bellinger authored
      
      
      Export target_get_sess_cmd() symbol so that it can be used by
      iscsi-target.
      
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      20361e69
    • Jörn Engel's avatar
      target: Change default sense key of NOT_READY · ad673282
      Jörn Engel authored
      
      
      As the comment sais, this allows Solaris initiators to survive
      intermittent errors.  The comment from someone reading the Solaris
      sources seem to imply that multipathing would be broken without this
      patch as well.
      
      Signed-off-by: default avatarJoern Engel <joern@logfs.org>
      Cc: Brian Bunker <brian@purestorage.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      ad673282
    • Asias He's avatar
      target/file: Set is_nonrot attribute · 0463a3fe
      Asias He authored
      
      
      Set is_nonrot attribute according to the block queue if the backend
      device is a block device.
      
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      0463a3fe
    • Asias He's avatar
      target: Add sbc_execute_unmap() helper · 86d71829
      Asias He authored
      
      
      iblock_execute_unmap() and fd_execute_unmap share a lot of code.
      Add sbc_execute_unmap() helper to remove duplicated code for
      iblock_execute_unmap() and fd_execute_unmap().
      
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Cc: Nicholas Bellinger <nab@linux-iscsi.org>
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      86d71829
    • Asias He's avatar
      target/iblock: Add iblock_do_unmap() helper · dbc21c5a
      Asias He authored
      
      
      Add helper iblock_do_unmap() to remove duplicated code in
      iblock_execute_write_same_unmap() and iblock_execute_unmap().
      
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Cc: Nicholas Bellinger <nab@linux-iscsi.org>
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      dbc21c5a
    • Asias He's avatar
      target/file: Add fd_do_unmap() helper · 43f55bbb
      Asias He authored
      
      
      Add helper fd_do_unmap() to remove duplicated code in
      fd_execute_write_same_unmap() and fd_execute_unmap().
      
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Cc: Nicholas Bellinger <nab@linux-iscsi.org>
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      43f55bbb
    • Asias He's avatar
      target/file: Add UNMAP emulation support · 50642762
      Asias He authored
      
      
      This patch adds support for emulation of UNMAP within
      fd_execute_unmap() backend code.
      
      If the FILEIO backend is normal file, the emulation uses fallocate to
      punch hole to reclaim the free space used by the file. If the FILEIO
      backend is block device, the emulation uses blkdev_issue_discard().
      
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Cc: Nicholas Bellinger <nab@linux-iscsi.org>
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      50642762
    • Asias He's avatar
      target/file: Add WRITE_SAME w/ UNMAP=1 emulation support · 70d3ae5c
      Asias He authored
      
      
      This patch adds support for emulation of WRITE_SAME w/ UNMAP=1 within
      fd_execute_write_same_unmap() backend code.
      
      If the FILEIO backend is normal file, the emulation uses fallocate to
      punch hole to reclaim the free space used by the file. If the FILEIO
      backend is block device, the emulation uses blkdev_issue_discard().
      
      Tested with 512, 1k, 2k, and 4k block_sizes.
      
      Changes in v2:
      - Set the various dev->dev_attrib.*unmap* values (nab)
      
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Cc: Nicholas Bellinger <nab@linux-iscsi.org>
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      70d3ae5c
    • Jörn Engel's avatar
      qla2xxx: Remove unused function · c0c2dd49
      Jörn Engel authored
      It was already unused when first introduced in 2d70c103
      
      .
      
      Signed-off-by: default avatarJoern Engel <joern@logfs.org>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      c0c2dd49
    • Wei Yongjun's avatar
      tcm_fc: using kfree_rcu() to simplify the code · a6ad57ef
      Wei Yongjun authored
      
      
      The callback function of call_rcu() just calls a kfree(), so we
      can use kfree_rcu() instead of call_rcu() + callback function.
      
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      a6ad57ef
    • Andy Grover's avatar
      target/iscsi: Use ISCSI_LOGIN_CURRENT/NEXT_STAGE macros · 5d358065
      Andy Grover authored
      
      
      Fix bit-clearing in login_rsp->flags for case 0.
      
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      5d358065
    • Andy Grover's avatar
      target/iscsi: Remove chap_set_random() · 98e2eeb3
      Andy Grover authored
      
      
      The result from get_random_bytes should already be random, so further
      manipulation and mixing should not be needed.
      
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      98e2eeb3
  6. Apr 11, 2013