diff mbox series

[v2] super-intel: make freesize not required for chunk size migration

Message ID 20221028025117.27048-1-kinga.tanska@intel.com (mailing list archive)
State Accepted, archived
Headers show
Series [v2] super-intel: make freesize not required for chunk size migration | expand

Commit Message

Kinga Tanska Oct. 28, 2022, 2:51 a.m. UTC
Freesize is needed to be set for migrations where size of RAID could
be changed - expand. It tells how many free space is determined for
members. In chunk size migartion freesize is not needed to be set,
pointer shouldn't be checked if exists. This commit moves check to
condition which contains size calculations, instead of checking it
always at the first step.
Fix return value when superblock is not set.

Signed-off-by: Kinga Tanska <kinga.tanska@intel.com>
---
 super-intel.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Jes Sorensen Jan. 5, 2023, 3:41 a.m. UTC | #1
On 10/27/22 22:51, Kinga Tanska wrote:
> Freesize is needed to be set for migrations where size of RAID could
> be changed - expand. It tells how many free space is determined for
> members. In chunk size migartion freesize is not needed to be set,
> pointer shouldn't be checked if exists. This commit moves check to
> condition which contains size calculations, instead of checking it
> always at the first step.
> Fix return value when superblock is not set.
> 
> Signed-off-by: Kinga Tanska <kinga.tanska@intel.com>
> ---
>  super-intel.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)

Applied!

Thanks,
Jes
diff mbox series

Patch

diff --git a/super-intel.c b/super-intel.c
index 4d82af3d..37c59da5 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -7714,11 +7714,11 @@  static int validate_geometry_imsm(struct supertype *st, int level, int layout,
 		struct intel_super *super = st->sb;
 
 		/*
-		 * Autolayout mode, st->sb and freesize must be set.
+		 * Autolayout mode, st->sb must be set.
 		 */
-		if (!super || !freesize) {
-			pr_vrb("freesize and superblock must be set for autolayout, aborting\n");
-			return 1;
+		if (!super) {
+			pr_vrb("superblock must be set for autolayout, aborting\n");
+			return 0;
 		}
 
 		if (!validate_geometry_imsm_orom(st->sb, level, layout,
@@ -7726,7 +7726,7 @@  static int validate_geometry_imsm(struct supertype *st, int level, int layout,
 						 verbose))
 			return 0;
 
-		if (super->orom) {
+		if (super->orom && freesize) {
 			imsm_status_t rv;
 			int count = count_volumes(super->hba, super->orom->dpa,
 					      verbose);