dm raid: enhance status interface and fixup takeover/raid0
authorHeinz Mauelshagen <heinzm@redhat.com>
Thu, 19 May 2016 16:49:34 +0000 (18:49 +0200)
committerMike Snitzer <snitzer@redhat.com>
Tue, 14 Jun 2016 21:24:55 +0000 (17:24 -0400)
commit3a1c1ef2fd62087c3d6521de217ddb9360776658
tree00c82785d5247f169a918413e06df303d7778d9a
parentecbfb9f118bce49f571675929160e4ecef91cc8a
dm raid: enhance status interface and fixup takeover/raid0

The target's status interface has to provide the new 'data_offset' value
to allow userspace to retrieve the kernels offset to the data on each
raid device of a raid set.  This is the base for out-of-place reshaping
required to not write over any data during reshaping (e.g. change
raid6_zr -> raid6_nc):

 - add rs_set_cur() to be able to start up existing array in case of no
   takeover; use in ctr on takeover check

 - enhance raid_status()

 - add supporting functions to get resync/reshape progress and raid
   device status chars

 - fixup rebuild table line output race, which does miss to emit
   'rebuild N' on fully synced/rebuild devices, because it is relying on
   the transient 'In_sync' raid device flag

 - add new status line output for 'data_offset', which'll later be used
   for out-of-place reshaping

 - fixup takeover not working for all levels

 - fixup raid0 message interface oops caused by missing checks
   for the md threads, which don't exist in case of raid0

 - remove ALL_FREEZE_FLAGS not needed for takeover

 - adjust comments

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