1. 13 2月, 2011 2 次提交
    • N
      [SCSI] target: Remove procfs based target_core_mib.c code · e89d15ee
      Nicholas Bellinger 提交于
      This patch removes the legacy procfs based target_core_mib.c code,
      and moves the necessary scsi_index_tables functions and defines into
      target_core_transport.c and target_core_base.h code to allow existing
      fabric independent statistics to function.
      
      This includes the removal of a handful of 'atomic_t mib_ref_count'
      counters used in struct se_node_acl, se_session and se_hba to prevent
      removal while using seq_list procfs walking logic.
      
      [jejb: fix up compile failures]
      Signed-off-by: NNicholas A. Bellinger <nab@linux-iscsi.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      e89d15ee
    • N
      [SCSI] target: Fix top-level configfs_subsystem default_group shutdown breakage · 7c2bf6e9
      Nicholas Bellinger 提交于
      This patch fixes two bugs uncovered during testing with
      slub_debug=FPUZ during module_exit() -> target_core_exit_configfs()
      with release of configfs subsystem consumer default groups, namely how
      this should be working with
      fs/configfs/dir.c:configfs_unregister_subsystem() release logic for
      struct config_group->default_group.
      
      The first issue involves configfs_unregister_subsystem() expecting to
      walk+drain the top-level subsys->su_group.default_groups directly in
      unlink_group(), and not directly from the configfs subsystem consumer
      for the top level struct config_group->default_groups.  This patch
      drops the walk+drain of subsys->su_group.default_groups from TCM
      configfs subsystem consumer code, and moves the top-level
      ->default_groups kfree() after configfs_unregister_subsystem() has
      been called.
      
      The second issue involves calling
      core_alua_free_lu_gp(se_global->default_lu_gp) to release the
      default_lu_gp->lu_gp_group before configfs_unregister_subsystem() has
      been called.  This patches also moves the core_alua_free_lu_gp() call
      to release default_lu_group->lu_gp_group after the subsys has been
      unregistered.
      
      Finally, this patch explictly clears the
      [lu_gp,alua,hba]_cg->default_groups pointers after kfree() to ensure
      that no stale memory is picked up from child struct
      config_group->default_group[] while configfs_unregister_subsystem() is
      called.
      Reported-by: NFubo Chen <fubo.chen@gmail.com>
      Signed-off-by: NNicholas A. Bellinger <nab@linux-iscsi.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      7c2bf6e9
  2. 15 1月, 2011 1 次提交
    • N
      [SCSI] target: Add LIO target core v4.0.0-rc6 · c66ac9db
      Nicholas Bellinger 提交于
      LIO target is a full featured in-kernel target framework with the
      following feature set:
      
      High-performance, non-blocking, multithreaded architecture with SIMD
      support.
      
      Advanced SCSI feature set:
      
          * Persistent Reservations (PRs)
          * Asymmetric Logical Unit Assignment (ALUA)
          * Protocol and intra-nexus multiplexing, load-balancing and failover (MC/S)
          * Full Error Recovery (ERL=0,1,2)
          * Active/active task migration and session continuation (ERL=2)
          * Thin LUN provisioning (UNMAP and WRITE_SAMExx)
      
      Multiprotocol target plugins
      
      Storage media independence:
      
          * Virtualization of all storage media; transparent mapping of IO to LUNs
          * No hard limits on number of LUNs per Target; maximum LUN size ~750 TB
          * Backstores: SATA, SAS, SCSI, BluRay, DVD, FLASH, USB, ramdisk, etc.
      
      Standards compliance:
      
          * Full compliance with IETF (RFC 3720)
          * Full implementation of SPC-4 PRs and ALUA
      
      Significant code cleanups done by Christoph Hellwig.
      
      [jejb: fix up for new block bdev exclusive interface. Minor fixes from
       Randy Dunlap and Dan Carpenter.]
      Signed-off-by: NNicholas A. Bellinger <nab@linux-iscsi.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      c66ac9db