dcavalca / rpms / mdadm

Forked from rpms/mdadm 3 years ago
Clone
Blob Blame History Raw
From 5a5b3a6725ded07697f03ddd05ee537ce289e951 Mon Sep 17 00:00:00 2001
From: Michal Zylowski <michal.zylowski@intel.com>
Date: Tue, 29 May 2018 15:47:25 +0200
Subject: [RHEL7.5 PATCH 17/26] imsm: Do not require MDADM_EXPERIMENTAL flag
 anymore

Grow feature for IMSM metadata is currently fully supported and tested.
Reshape operation is not in experimental state anymore, so usage of this
flag is unnecessary.

Do not require MDADM_EXPERIMENTAL flag and remove obsolete information
from manual.

Signed-off-by: Michal Zylowski <michal.zylowski@intel.com>
Acked-by: Mariusz Dabrowski <mariusz.dabrowski@intel.com>
Acked-by: Roman Sobanski <roman.sobanski@intel.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
---
 mdadm.8.in              | 24 ++++++------------------
 mdadm.h                 |  1 -
 super-intel.c           |  3 ---
 tests/env-imsm-template |  1 -
 util.c                  | 10 ----------
 5 files changed, 6 insertions(+), 33 deletions(-)

diff --git a/mdadm.8.in b/mdadm.8.in
index ea45bbc..d6bb3fa 100644
--- a/mdadm.8.in
+++ b/mdadm.8.in
@@ -2718,27 +2718,15 @@ above.  Resizing arrays in an IMSM container with
 .B "--grow --size"
 is not yet supported.
 
-Grow functionality (e.g. expand a number of raid devices) for Intel's
-IMSM container format has an experimental status. It is guarded by the
-.B MDADM_EXPERIMENTAL
-environment variable which must be set to '1' for a GROW command to
-succeed.
-This is for the following reasons:
-
-.IP 1.
-Intel's native IMSM check-pointing is not fully tested yet.
-This can causes IMSM incompatibility during the grow process: an array
-which is growing cannot roam between Microsoft Windows(R) and Linux
-systems.
-
-.IP 2.
-Interrupting a grow operation is not recommended, because it
-has not been fully tested for Intel's IMSM container format yet.
-
 .PP
-Note: Intel's native checkpointing doesn't use
+Notes:
+.IP \(bu 4
+Intel's native checkpointing doesn't use
 .B --backup-file
 option and it is transparent for assembly feature.
+.IP \(bu 4
+Roaming between Windows(R) and Linux systems for IMSM metadata is not
+supported during grow process.
 
 .SS SIZE CHANGES
 Normally when an array is built the "size" is taken from the smallest
diff --git a/mdadm.h b/mdadm.h
index 61bc7af..387e681 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -1485,7 +1485,6 @@ extern struct mddev_ident *conf_match(struct supertype *st,
 				      struct mdinfo *info,
 				      char *devname,
 				      int verbose, int *rvp);
-extern int experimental(void);
 
 extern void free_line(char *line);
 extern int match_oneof(char *devices, char *devname);
diff --git a/super-intel.c b/super-intel.c
index 12f60f6..a01be13 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -11607,9 +11607,6 @@ static int imsm_reshape_super(struct supertype *st, unsigned long long size,
 	dprintf("for level      : %i\n", geo.level);
 	dprintf("for raid_disks : %i\n", geo.raid_disks);
 
-	if (experimental() == 0)
-		return ret_val;
-
 	if (strcmp(st->container_devnm, st->devnm) == 0) {
 		/* On container level we can only increase number of devices. */
 		dprintf("imsm: info: Container operation\n");
diff --git a/tests/env-imsm-template b/tests/env-imsm-template
index bc5f585..ea45bae 100644
--- a/tests/env-imsm-template
+++ b/tests/env-imsm-template
@@ -65,7 +65,6 @@ imsm_check() {
 export IMSM_NO_PLATFORM=1
 export IMSM_DEVNAME_AS_SERIAL=1
 export IMSM_TEST_OROM=1
-export MDADM_EXPERIMENTAL=1
 container=/dev/md/container
 member0=/dev/md/vol0
 member1=/dev/md/vol1
diff --git a/util.c b/util.c
index 4adbbff..c26cf5f 100644
--- a/util.c
+++ b/util.c
@@ -2149,16 +2149,6 @@ void append_metadata_update(struct supertype *st, void *buf, int len)
 unsigned int __invalid_size_argument_for_IOC = 0;
 #endif
 
-int experimental(void)
-{
-	if (check_env("MDADM_EXPERIMENTAL"))
-		return 1;
-	else {
-		pr_err("To use this feature MDADM_EXPERIMENTAL environment variable has to be defined.\n");
-		return 0;
-	}
-}
-
 /* Pick all spares matching given criteria from a container
  * if min_size == 0 do not check size
  * if domlist == NULL do not check domains
-- 
2.7.4