dm raid: add support for the MD RAID0 personality
authorHeinz Mauelshagen <heinzm@redhat.com>
Wed, 29 Apr 2015 12:03:04 +0000 (14:03 +0200)
committerMike Snitzer <snitzer@redhat.com>
Fri, 29 May 2015 18:19:00 +0000 (14:19 -0400)
commit0cf4503174c12025ac7ea61048cb7c1d4d1ed85c
tree52b88a85b6bd98f5156ecd2c1e573e04fcb7c59a
parentc76d53f43ec4f9b9f200f031d303f21bdf6927d0
dm raid: add support for the MD RAID0 personality

Add dm-raid access to the MD RAID0 personality to enable single zone
striping.

The following changes enable that access:
- add type definition to raid_types array
- make bitmap creation conditonal in super_validate(), because
  bitmaps are not allowed in raid0
- set rdev->sectors to the data image size in super_validate()
  to allow the raid0 personality to calculate the MD array
  size properly
- use mdddev(un)lock() functions instead of direct mutex_(un)lock()
  (wrapped in here because it's a trivial change)
- enhance raid_status() to always report full sync for raid0
  so that userspace checks for 100% sync will succeed and allow
  for resize (and takeover/reshape once added in future paches)
- enhance raid_resume() to not load bitmap in case of raid0
- add merge function to avoid data corruption (seen with readahead)
  that resulted from bio payloads that grew too large.  This problem
  did not occur with the other raid levels because it either did not
  apply without striping (raid1) or was avoided via stripe caching.
- raise version to 1.7.0 because of the raid0 API change

Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com>
Reviewed-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Documentation/device-mapper/dm-raid.txt
drivers/md/dm-raid.c