1. 03 8月, 2018 1 次提交
    • M
      scsi: target: rename target_alloc_session · fa834287
      Mike Christie 提交于
      Rename target_alloc_session to target_setup_session to avoid confusion with
      the other transport session allocation function that only allocates the
      session and because the target_alloc_session does so much more. It
      allocates the session, sets up the nacl and registers the session.
      
      The next patch will then add a remove function to match the setup in this
      one, so it should make sense for all drivers, except iscsi, to just call
      those 2 functions to setup and remove a session.
      
      iscsi will continue to be the odd driver.
      Signed-off-by: NMike Christie <mchristi@redhat.com>
      Reviewed-by: NBart Van Assche <bart.vanassche@wdc.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Cc: Chris Boot <bootc@bootc.net>
      Cc: Bryant G. Ly <bryantly@linux.vnet.ibm.com>
      Cc: Michael Cyr <mikecyr@linux.vnet.ibm.com>
      Cc: <qla2xxx-upstream@qlogic.com>
      Cc: Johannes Thumshirn <jth@kernel.org>
      Cc: Felipe Balbi <balbi@kernel.org>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Juergen Gross <jgross@suse.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      fa834287
  2. 03 7月, 2018 1 次提交
  3. 20 6月, 2018 2 次提交
  4. 07 7月, 2017 3 次提交
  5. 10 5月, 2016 2 次提交
  6. 11 3月, 2016 3 次提交
  7. 09 2月, 2016 2 次提交
  8. 18 12月, 2015 1 次提交
  9. 14 10月, 2015 1 次提交
  10. 16 6月, 2015 3 次提交
  11. 02 6月, 2015 1 次提交
    • B
      target: Minimize SCSI header #include directives · ba929992
      Bart Van Assche 提交于
      Only include SCSI initiator header files in target code that needs
      these header files, namely the SCSI pass-through code and the tcm_loop
      driver. Change SCSI_SENSE_BUFFERSIZE into TRANSPORT_SENSE_BUFFER in
      target code because the former is intended for initiator code and the
      latter for target code. With this patch the only initiator include
      directives in target code that remain are as follows:
      
      $ git grep -nHE 'include .scsi/(scsi.h|scsi_host.h|scsi_device.h|scsi_cmnd.h)' drivers/target drivers/infiniband/ulp/{isert,srpt} drivers/usb/gadget/legacy/tcm_*.[ch] drivers/{vhost,xen} include/{target,trace/events/target.h}
      drivers/target/loopback/tcm_loop.c:29:#include <scsi/scsi.h>
      drivers/target/loopback/tcm_loop.c:31:#include <scsi/scsi_host.h>
      drivers/target/loopback/tcm_loop.c:32:#include <scsi/scsi_device.h>
      drivers/target/loopback/tcm_loop.c:33:#include <scsi/scsi_cmnd.h>
      drivers/target/target_core_pscsi.c:39:#include <scsi/scsi_device.h>
      drivers/target/target_core_pscsi.c:40:#include <scsi/scsi_host.h>
      drivers/xen/xen-scsiback.c:52:#include <scsi/scsi_host.h> /* SG_ALL */
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJames Bottomley <JBottomley@Odin.com>
      ba929992
  12. 01 6月, 2015 1 次提交
    • N
      target: Convert se_portal_group->tpg_lun_list[] to RCU hlist · 6bb82612
      Nicholas Bellinger 提交于
      This patch converts the fixed size se_portal_group->tpg_lun_list[]
      to use modern RCU with hlist_head in order to support an arbitary
      number of se_lun ports per target endpoint.
      
      It includes dropping core_tpg_alloc_lun() from core_dev_add_lun(),
      and calling it directly from target_fabric_make_lun() to allocate
      a new se_lun.  And add a new target_fabric_port_release() configfs
      item callback to invoke kfree_rcu() to release memory during
      se_lun->lun_group shutdown.
      
      Also now that se_node_acl->lun_entry_hlist is using RCU, convert
      existing tpg_lun_lock to struct mutex so core_tpg_add_node_to_devs()
      can perform RCU updater logic without releasing ->tpg_lun_mutex.
      
      Also, drop core_tpg_clear_object_luns() and it's single consumer
      in iscsi-target, which is duplicating TPG LUN shutdown logic and
      is current code results in a NOP.
      
      Finally, sbp-target and xen-scsiback fabric driver conversions are
      included, which are required due to the non-standard way they use
      ->tpg_lun_hlist.
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Sagi Grimberg <sagig@mellanox.com>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Chris Boot <bootc@bootc.net>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      6bb82612
  13. 31 5月, 2015 9 次提交
  14. 15 4月, 2015 2 次提交
    • W
      xenbus_client: Extend interface to support multi-page ring · ccc9d90a
      Wei Liu 提交于
      Originally Xen PV drivers only use single-page ring to pass along
      information. This might limit the throughput between frontend and
      backend.
      
      The patch extends Xenbus driver to support multi-page ring, which in
      general should improve throughput if ring is the bottleneck. Changes to
      various frontend / backend to adapt to the new interface are also
      included.
      
      Affected Xen drivers:
      * blkfront/back
      * netfront/back
      * pcifront/back
      * scsifront/back
      * vtpmfront
      
      The interface is documented, as before, in xenbus_client.c.
      Signed-off-by: NWei Liu <wei.liu2@citrix.com>
      Signed-off-by: NPaul Durrant <paul.durrant@citrix.com>
      Signed-off-by: NBob Liu <bob.liu@oracle.com>
      Cc: Konrad Wilk <konrad.wilk@oracle.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      ccc9d90a
    • C
      target: simplify the target template registration API · 9ac8928e
      Christoph Hellwig 提交于
      Instead of calling target_fabric_configfs_init() +
      target_fabric_configfs_register() / target_fabric_configfs_deregister()
      target_fabric_configfs_free() from every target driver, rewrite the API
      so that we have simple register/unregister functions that operate on
      a const operations vector.
      
      This patch also fixes a memory leak in several target drivers. Several
      target drivers namely called target_fabric_configfs_deregister()
      without calling target_fabric_configfs_free().
      
      A large part of this patch is based on earlier changes from
      Bart Van Assche <bart.vanassche@sandisk.com>.
      
      (v2: Add a new TF_CIT_SETUP_DRV macro so that the core configfs code
      can declare attributes as either core only or for drivers)
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      9ac8928e
  15. 20 3月, 2015 1 次提交
    • B
      loop/usb/vhost-scsi/xen-scsiback: Fix use of __transport_register_session · 2f450cc1
      Bart Van Assche 提交于
      This patch changes loopback, usb-gadget, vhost-scsi and xen-scsiback
      fabric code to invoke transport_register_session() instead of the
      unprotected flavour, to ensure se_tpg->session_lock is taken when
      adding new session list nodes to se_tpg->tpg_sess_list.
      
      Note that since these four fabric drivers already hold their own
      internal TPG mutexes when accessing se_tpg->tpg_sess_list, and
      consist of a single se_session created through configfs attribute
      access, no list corruption can currently occur.
      
      So for correctness sake, go ahead and use the se_tpg->session_lock
      protected version for these four fabric drivers.
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      2f450cc1
  16. 16 3月, 2015 2 次提交
  17. 24 2月, 2015 1 次提交
  18. 28 1月, 2015 1 次提交
  19. 09 1月, 2015 1 次提交
  20. 04 12月, 2014 1 次提交
  21. 12 11月, 2014 1 次提交