You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.2 KiB
35 lines
1.2 KiB
6 years ago
|
From 07c45a1871df0a70beb8da80d11601d33c7a5de2 Mon Sep 17 00:00:00 2001
|
||
|
From: Tomasz Majchrzak <tomasz.majchrzak@intel.com>
|
||
|
Date: Mon, 5 Jun 2017 16:09:44 +0200
|
||
|
Subject: [RHEL7.5 PATCH 150/169] Grow: set component size prior to array
|
||
|
size
|
||
|
|
||
|
It is a partial revert of commit 758b327cf5a7 ("Grow: Remove unnecessary
|
||
|
optimization"). For native metadata component size is set in kernel for
|
||
|
entire disk space. As external metadata supports multiple arrays within
|
||
|
one disk, the component size is set to array size. If component size is
|
||
|
not updated prior to array size update, the grow operation fails.
|
||
|
|
||
|
Signed-off-by: Tomasz Majchrzak <tomasz.majchrzak@intel.com>
|
||
|
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
|
||
|
---
|
||
|
Grow.c | 2 ++
|
||
|
1 file changed, 2 insertions(+)
|
||
|
|
||
|
diff --git a/Grow.c b/Grow.c
|
||
|
index ecf5ca0..4ecb1d8 100644
|
||
|
--- a/Grow.c
|
||
|
+++ b/Grow.c
|
||
|
@@ -1977,6 +1977,8 @@ int Grow_reshape(char *devname, int fd,
|
||
|
*/
|
||
|
min_csize = 0;
|
||
|
for (mdi = sra->devs; mdi; mdi = mdi->next) {
|
||
|
+ sysfs_set_num(sra, mdi, "size", s->size == MAX_SIZE ? 0
|
||
|
+ : s->size);
|
||
|
if (array.not_persistent == 0 &&
|
||
|
array.major_version == 0 &&
|
||
|
get_linux_version() < 3001000) {
|
||
|
--
|
||
|
2.7.4
|
||
|
|