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>
This commit is contained in:
Michal Zylowski 2018-05-29 15:47:25 +02:00 committed by Jes Sorensen
parent 59632db96b
commit 5a5b3a6725
5 changed files with 6 additions and 33 deletions

View 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

View File

@ -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);

View 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");

View 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

10
util.c
View File

@ -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