dm raid: introduce extended superblock and new raid types to support takeover/reshaping
authorHeinz Mauelshagen <heinzm@redhat.com>
Thu, 19 May 2016 16:49:30 +0000 (18:49 +0200)
committerMike Snitzer <snitzer@redhat.com>
Tue, 14 Jun 2016 21:09:32 +0000 (17:09 -0400)
commit33e53f06850f44ec9722e08a993ecf8816e447a5
tree999b931d88f9bcf8328f9ce39c3c08ca62169e2e
parent676fa5ad6e96e5704b0f2d5bb56ea115c807eef4
dm raid: introduce extended superblock and new raid types to support takeover/reshaping

Add new members to the dm-raid superblock and new raid types to support
takeover/reshape.

Add all necessary members needed to support takeover and reshape in one
go -- aiming to limit the amount of changes to the superblock layout.

This is a larger patch due to the new superblock members, their related
flags, validation of both and involved API additions/changes:

 - add additional members to keep track of:
   - state about forward/backward reshaping
   - reshape position
   - new level, layout, stripe size and delta disks
   - data offset to current and new data for out-of-place reshapes
   - failed devices bitfield extensions to keep track of max raid devices

 - adjust super_validate() to cope with new superblock members

 - adjust super_init_validation() to cope with new superblock members

 - add definitions for ctr flags supporting delta disks etc.

 - add new raid types (raid6_n_6 etc.)

 - add new raid10 supporting function API (_is_raid10_*())

 - adjust to changed raid10 supporting function API

Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-raid.c