diff options
author | NeilBrown <neilb@suse.de> | 2014-08-06 02:34:27 -0400 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2014-08-08 01:33:17 -0400 |
commit | a8461a61c241a25afedbe493c13d98a6e0cf4246 (patch) | |
tree | 129cf82707c536924406d7029fd66ae431eb577e | |
parent | ac7e50a3835de2321bcc511e4b6fe736c73c830f (diff) |
md/raid0: check for bitmap compatability when changing raid levels.
If an array has a bitmap, then it cannot be converted to raid0.
Reported-by: Xiao Ni <xni@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r-- | drivers/md/raid0.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c index 407a99e46f69..cf91f5910c7c 100644 --- a/drivers/md/raid0.c +++ b/drivers/md/raid0.c | |||
@@ -685,6 +685,12 @@ static void *raid0_takeover(struct mddev *mddev) | |||
685 | * raid10 - assuming we have all necessary active disks | 685 | * raid10 - assuming we have all necessary active disks |
686 | * raid1 - with (N -1) mirror drives faulty | 686 | * raid1 - with (N -1) mirror drives faulty |
687 | */ | 687 | */ |
688 | |||
689 | if (mddev->bitmap) { | ||
690 | printk(KERN_ERR "md/raid0: %s: cannot takeover array with bitmap\n", | ||
691 | mdname(mddev)); | ||
692 | return ERR_PTR(-EBUSY); | ||
693 | } | ||
688 | if (mddev->level == 4) | 694 | if (mddev->level == 4) |
689 | return raid0_takeover_raid45(mddev); | 695 | return raid0_takeover_raid45(mddev); |
690 | 696 | ||