[PATCH 00/13] target core: Update ALUA support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nic,

I've finally bitten the bullet and updated the ALUA support
for TCM. Major points here:

- Make supported ALUA states configurable
- Asynchronous Transitioning mode; instead of using
  sleep() I've pushed out the final transition back from
  'Transitioning' onto a workqueue. With this I've enabled
  the 'implicit transition time' to work properly.
- Referrals support. One of these things which have been
  on my to-do list for a long time.
  TCM now will enable referrals support when an appropriate
  map is being fed into 'lba_map'. Format there is:
  <segment size> <segment multiplier>
  <start lba> <end lba> <pgX:stateY> ... <pgN:stateM>
  ...
  <pgX> is the number of the first target port group,
  <stateY> is a character denominating the ALUA access state:
  'O' for 'Active/Optimized', 'A' for 'Active/Non-Optimized',
  'S' for 'Standby', and 'U' for 'Unavailable'.
  For further details see SBC-3, Section 'Referrals'.
  Yes, I know, it's far from perfect and violates the
  'one item per attribute' rule. But breaking this
  down into several attributes and ensure the update
  is done consistently _and_ atomically is beyond my
  configfs skills. So there.
- Minor fixes, spell checking etc.

Hannes Reinecke (13):
  target core: rename (ex,im)plict -> (ex,im)plicit
  target_core_alua: Store supported ALUA states
  target_core_alua: Make supported states configurable
  target_core_alua: Rename ALUA_ACCESS_STATE_OPTIMIZED
  target_core_alua: spellcheck
  target_core_alua: Validate ALUA state transition
  target_core_alua: Allocate ALUA metadata on demand
  target_core_alua: store old and pending ALUA state
  target_core_alua: Use workqueue for ALUA transitioning
  target_core_alua: Referrals infrastructure
  target_core_alua: Referrals configfs integration
  target_core_spc: Fixup VPD page support
  tcm_loop: Check for valid hba in tcm_loop_drop_nexus()

 drivers/target/loopback/tcm_loop.c     |   5 +-
 drivers/target/target_core_alua.c      | 700 ++++++++++++++++++++++++---------
 drivers/target/target_core_alua.h      |  48 ++-
 drivers/target/target_core_configfs.c  | 247 +++++++++++-
 drivers/target/target_core_device.c    |   9 +-
 drivers/target/target_core_file.c      |   2 +-
 drivers/target/target_core_pr.c        |  24 +-
 drivers/target/target_core_sbc.c       |   5 +-
 drivers/target/target_core_spc.c       |  56 ++-
 drivers/target/target_core_transport.c |  32 +-
 drivers/target/target_core_ua.h        |   2 +-
 include/scsi/scsi.h                    |   1 +
 include/target/target_core_base.h      |  32 +-
 13 files changed, 926 insertions(+), 237 deletions(-)

-- 
1.7.12.4

--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux