1. 10 May, 2016 3 commits
  2. 06 Mar, 2016 1 commit
  3. 10 Feb, 2016 1 commit
  4. 07 Jan, 2016 2 commits
  5. 06 Jan, 2016 2 commits
  6. 20 Dec, 2015 1 commit
  7. 13 Oct, 2015 1 commit
  8. 30 Jul, 2015 1 commit
    • Nicholas Bellinger's avatar
      target: Perform RCU callback barrier before backend/fabric unload · 94509182
      Nicholas Bellinger authored
      This patch addresses a v4.2-rc1 regression where backend driver
      module unload happening immediately after TBO->free_device()
      does internal call_rcu(), will currently result in IRQ context
      rcu_process_callbacks() use-after-free paging OOPsen.
      
      It adds the missing rcu_barrier() in target_backend_unregister()
      to perform an explicit RCU barrier waiting for all RCU callbacks
      to complete before releasing target_backend_ops memory, and
      allowing TBO->module exit to proceed.
      
      Also, do the same for fabric drivers in target_unregister_template()
      to ensure se_deve_entry->rcu_head -> kfree_rcu() callbacks have
      completed, before allowing target_core_fabric_ops->owner module
      exit to proceed.
      Acked-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Hannes Reinecke <hare@suse.de>
      Cc: Sagi Grimberg <sagig@mellanox.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      94509182
  9. 24 Jul, 2015 3 commits
  10. 23 Jun, 2015 2 commits
  11. 16 Jun, 2015 1 commit
  12. 01 Jun, 2015 5 commits
  13. 30 May, 2015 11 commits
  14. 14 Apr, 2015 1 commit
    • Christoph Hellwig's avatar
      target: simplify the target template registration API · 9ac8928e
      Christoph Hellwig authored
      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: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      9ac8928e
  15. 20 Mar, 2015 1 commit
  16. 01 Dec, 2014 4 commits
    • Nicholas Bellinger's avatar
      target: Drop left-over internal dev attribute code · 43cf208c
      Nicholas Bellinger authored
      Now that backend drivers are populating their own device attributes,
      go ahead and remove left-over definitions + internal attribute list
      of device attributes from target_core_configfs.c code
      
      Also update TB_CIT_SETUP(dev_attrib,...) to signal ct_attr = NULL.
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      43cf208c
    • Nicholas Bellinger's avatar
      target: Move dev_stat_cit to struct se_subsystem_api · d23ab570
      Nicholas Bellinger authored
      This patch adds support for dev_stat_cit as an external config_item_type
      using TB_CIT_SETUP() helper macro, and sets only ct_group_ops following
      existing code.
      
      It updates target_core_make_subdev() + target_core_setup_dev_attrib_cit() +
      struct target_backend_cits, and drops left-over target_core_dev_stat_cit
      from target_core_configfs.c code and update comments.
      
      This patch introduces no functional change from existing code.
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      d23ab570
    • Nicholas Bellinger's avatar
      target: Move dev_alua_tg_pt_gps_cit to struct se_subsystem_api · 72aca57b
      Nicholas Bellinger authored
      This patch adds support for dev_alua_tg_pt_gps_cit as an external config_item_type
      using TB_CIT_SETUP() helper macro, and sets only ct_group_ops following
      existing code.
      
      It updates target_core_make_subdev() + target_core_setup_dev_attrib_cit() +
      struct target_backend_cits, and drops left-over target_core_dev_alua_tg_pt_gps_cit
      from target_core_configfs.c code and update comments.
      
      This patch introduces no functional change from existing code.
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      72aca57b
    • Nicholas Bellinger's avatar
      target: Move dev_wwn_cit to struct se_subsystem_api · f8d389c6
      Nicholas Bellinger authored
      This patch adds support for dev_wwn_cit as an external config_item_type
      using TB_CIT_SETUP() helper macro, and sets both ct_item_ops + ct_attr
      following existing code.
      
      It updates target_core_make_subdev() + target_core_setup_dev_attrib_cit() +
      struct target_backend_cits, and drops left-over target_core_dev_wwn_cit
      from target_core_configfs.c code and update comments.
      
      This patch introduces no functional change from existing code.
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      f8d389c6