imsm: Do not require MDADM_EXPERIMENTAL flag anymore
authorMichal Zylowski <michal.zylowski@intel.com>
Tue, 29 May 2018 13:47:25 +0000 (15:47 +0200)
committerJes Sorensen <jsorensen@fb.com>
Thu, 31 May 2018 15:30:36 +0000 (11:30 -0400)
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
mdadm.h
super-intel.c
tests/env-imsm-template
util.c

index ea45bbc..d6bb3fa 100644 (file)
@@ -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 (file)
--- 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);
index 12f60f6..a01be13 100644 (file)
@@ -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");
index bc5f585..ea45bae 100644 (file)
@@ -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 (file)
--- 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