|
|
59ea72 |
From 5a5b3a6725ded07697f03ddd05ee537ce289e951 Mon Sep 17 00:00:00 2001
|
|
|
59ea72 |
From: Michal Zylowski <michal.zylowski@intel.com>
|
|
|
59ea72 |
Date: Tue, 29 May 2018 15:47:25 +0200
|
|
|
59ea72 |
Subject: [RHEL7.5 PATCH 17/26] imsm: Do not require MDADM_EXPERIMENTAL flag
|
|
|
59ea72 |
anymore
|
|
|
59ea72 |
|
|
|
59ea72 |
Grow feature for IMSM metadata is currently fully supported and tested.
|
|
|
59ea72 |
Reshape operation is not in experimental state anymore, so usage of this
|
|
|
59ea72 |
flag is unnecessary.
|
|
|
59ea72 |
|
|
|
59ea72 |
Do not require MDADM_EXPERIMENTAL flag and remove obsolete information
|
|
|
59ea72 |
from manual.
|
|
|
59ea72 |
|
|
|
59ea72 |
Signed-off-by: Michal Zylowski <michal.zylowski@intel.com>
|
|
|
59ea72 |
Acked-by: Mariusz Dabrowski <mariusz.dabrowski@intel.com>
|
|
|
59ea72 |
Acked-by: Roman Sobanski <roman.sobanski@intel.com>
|
|
|
59ea72 |
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
|
|
|
59ea72 |
---
|
|
|
59ea72 |
mdadm.8.in | 24 ++++++------------------
|
|
|
59ea72 |
mdadm.h | 1 -
|
|
|
59ea72 |
super-intel.c | 3 ---
|
|
|
59ea72 |
tests/env-imsm-template | 1 -
|
|
|
59ea72 |
util.c | 10 ----------
|
|
|
59ea72 |
5 files changed, 6 insertions(+), 33 deletions(-)
|
|
|
59ea72 |
|
|
|
59ea72 |
diff --git a/mdadm.8.in b/mdadm.8.in
|
|
|
59ea72 |
index ea45bbc..d6bb3fa 100644
|
|
|
59ea72 |
--- a/mdadm.8.in
|
|
|
59ea72 |
+++ b/mdadm.8.in
|
|
|
59ea72 |
@@ -2718,27 +2718,15 @@ above. Resizing arrays in an IMSM container with
|
|
|
59ea72 |
.B "--grow --size"
|
|
|
59ea72 |
is not yet supported.
|
|
|
59ea72 |
|
|
|
59ea72 |
-Grow functionality (e.g. expand a number of raid devices) for Intel's
|
|
|
59ea72 |
-IMSM container format has an experimental status. It is guarded by the
|
|
|
59ea72 |
-.B MDADM_EXPERIMENTAL
|
|
|
59ea72 |
-environment variable which must be set to '1' for a GROW command to
|
|
|
59ea72 |
-succeed.
|
|
|
59ea72 |
-This is for the following reasons:
|
|
|
59ea72 |
-
|
|
|
59ea72 |
-.IP 1.
|
|
|
59ea72 |
-Intel's native IMSM check-pointing is not fully tested yet.
|
|
|
59ea72 |
-This can causes IMSM incompatibility during the grow process: an array
|
|
|
59ea72 |
-which is growing cannot roam between Microsoft Windows(R) and Linux
|
|
|
59ea72 |
-systems.
|
|
|
59ea72 |
-
|
|
|
59ea72 |
-.IP 2.
|
|
|
59ea72 |
-Interrupting a grow operation is not recommended, because it
|
|
|
59ea72 |
-has not been fully tested for Intel's IMSM container format yet.
|
|
|
59ea72 |
-
|
|
|
59ea72 |
.PP
|
|
|
59ea72 |
-Note: Intel's native checkpointing doesn't use
|
|
|
59ea72 |
+Notes:
|
|
|
59ea72 |
+.IP \(bu 4
|
|
|
59ea72 |
+Intel's native checkpointing doesn't use
|
|
|
59ea72 |
.B --backup-file
|
|
|
59ea72 |
option and it is transparent for assembly feature.
|
|
|
59ea72 |
+.IP \(bu 4
|
|
|
59ea72 |
+Roaming between Windows(R) and Linux systems for IMSM metadata is not
|
|
|
59ea72 |
+supported during grow process.
|
|
|
59ea72 |
|
|
|
59ea72 |
.SS SIZE CHANGES
|
|
|
59ea72 |
Normally when an array is built the "size" is taken from the smallest
|
|
|
59ea72 |
diff --git a/mdadm.h b/mdadm.h
|
|
|
59ea72 |
index 61bc7af..387e681 100644
|
|
|
59ea72 |
--- a/mdadm.h
|
|
|
59ea72 |
+++ b/mdadm.h
|
|
|
59ea72 |
@@ -1485,7 +1485,6 @@ extern struct mddev_ident *conf_match(struct supertype *st,
|
|
|
59ea72 |
struct mdinfo *info,
|
|
|
59ea72 |
char *devname,
|
|
|
59ea72 |
int verbose, int *rvp);
|
|
|
59ea72 |
-extern int experimental(void);
|
|
|
59ea72 |
|
|
|
59ea72 |
extern void free_line(char *line);
|
|
|
59ea72 |
extern int match_oneof(char *devices, char *devname);
|
|
|
59ea72 |
diff --git a/super-intel.c b/super-intel.c
|
|
|
59ea72 |
index 12f60f6..a01be13 100644
|
|
|
59ea72 |
--- a/super-intel.c
|
|
|
59ea72 |
+++ b/super-intel.c
|
|
|
59ea72 |
@@ -11607,9 +11607,6 @@ static int imsm_reshape_super(struct supertype *st, unsigned long long size,
|
|
|
59ea72 |
dprintf("for level : %i\n", geo.level);
|
|
|
59ea72 |
dprintf("for raid_disks : %i\n", geo.raid_disks);
|
|
|
59ea72 |
|
|
|
59ea72 |
- if (experimental() == 0)
|
|
|
59ea72 |
- return ret_val;
|
|
|
59ea72 |
-
|
|
|
59ea72 |
if (strcmp(st->container_devnm, st->devnm) == 0) {
|
|
|
59ea72 |
/* On container level we can only increase number of devices. */
|
|
|
59ea72 |
dprintf("imsm: info: Container operation\n");
|
|
|
59ea72 |
diff --git a/tests/env-imsm-template b/tests/env-imsm-template
|
|
|
59ea72 |
index bc5f585..ea45bae 100644
|
|
|
59ea72 |
--- a/tests/env-imsm-template
|
|
|
59ea72 |
+++ b/tests/env-imsm-template
|
|
|
59ea72 |
@@ -65,7 +65,6 @@ imsm_check() {
|
|
|
59ea72 |
export IMSM_NO_PLATFORM=1
|
|
|
59ea72 |
export IMSM_DEVNAME_AS_SERIAL=1
|
|
|
59ea72 |
export IMSM_TEST_OROM=1
|
|
|
59ea72 |
-export MDADM_EXPERIMENTAL=1
|
|
|
59ea72 |
container=/dev/md/container
|
|
|
59ea72 |
member0=/dev/md/vol0
|
|
|
59ea72 |
member1=/dev/md/vol1
|
|
|
59ea72 |
diff --git a/util.c b/util.c
|
|
|
59ea72 |
index 4adbbff..c26cf5f 100644
|
|
|
59ea72 |
--- a/util.c
|
|
|
59ea72 |
+++ b/util.c
|
|
|
59ea72 |
@@ -2149,16 +2149,6 @@ void append_metadata_update(struct supertype *st, void *buf, int len)
|
|
|
59ea72 |
unsigned int __invalid_size_argument_for_IOC = 0;
|
|
|
59ea72 |
#endif
|
|
|
59ea72 |
|
|
|
59ea72 |
-int experimental(void)
|
|
|
59ea72 |
-{
|
|
|
59ea72 |
- if (check_env("MDADM_EXPERIMENTAL"))
|
|
|
59ea72 |
- return 1;
|
|
|
59ea72 |
- else {
|
|
|
59ea72 |
- pr_err("To use this feature MDADM_EXPERIMENTAL environment variable has to be defined.\n");
|
|
|
59ea72 |
- return 0;
|
|
|
59ea72 |
- }
|
|
|
59ea72 |
-}
|
|
|
59ea72 |
-
|
|
|
59ea72 |
/* Pick all spares matching given criteria from a container
|
|
|
59ea72 |
* if min_size == 0 do not check size
|
|
|
59ea72 |
* if domlist == NULL do not check domains
|
|
|
59ea72 |
--
|
|
|
59ea72 |
2.7.4
|
|
|
59ea72 |
|