SHA256
1
0
forked from pool/mdadm
mdadm/0080-super-intel-make-freesize-not-required-for-chunk-siz.patch
Coly Li 90d4e6869d Accepting request 1137473 from home:colyli:branches:Base:System
- Update mdadm to latest upstream state upto commit
  582945c2d3bb. (jsc#PED-7542)
  1) The testing changes are not included here.
  2) Code clean up, and more helper routines added for Manage.c,
     Monitor.c, mdadm.c, ReadMe.c, super-intel.c, super0.c, super1.c,
     Create.c, Incremental.c and so on.
  3) Man page update for mdadm.8.in.
  4) Several memory leak and double free fixes.
  5) Check /etc/initrd-release for whether systemd running on an initrd.
  - Manage: Block unsafe member failing
    0062-Manage-Block-unsafe-member-failing.patch
  - Mdmonitor: Split alert() into separate functions
    0063-Mdmonitor-Split-alert-into-separate-functions.patch
  - Monitor: block if monitor modes are combined.
    0064-Monitor-block-if-monitor-modes-are-combined.patch
  - Update mdadm Monitor manual.
    0065-Update-mdadm-Monitor-manual.patch
  - mdadm: create ident_init()
    0066-mdadm-create-ident_init.patch
  - mdadm: Add option validation for --update-subarray
    0067-mdadm-Add-option-validation-for-update-subarray.patch
  - Fix --update-subarray on active volume
    0068-Fix-update-subarray-on-active-volume.patch
  - Add code specific update options to enum.
    0069-Add-code-specific-update-options-to-enum.patch
  - super-ddf: Remove update_super_ddf.
    0070-super-ddf-Remove-update_super_ddf.patch
  - super0: refactor the code for enum
    0071-super0-refactor-the-code-for-enum.patch
  - super1: refactor the code for enum

OBS-URL: https://build.opensuse.org/request/show/1137473
OBS-URL: https://build.opensuse.org/package/show/Base:System/mdadm?expand=0&rev=231
2024-01-11 00:49:23 +00:00

53 lines
1.8 KiB
Diff

From 071f839ea549e2a384cd13bba445245cd87e48b1 Mon Sep 17 00:00:00 2001
From: Kinga Tanska <kinga.tanska@intel.com>
Date: Fri, 28 Oct 2022 04:51:17 +0200
Subject: [PATCH] super-intel: make freesize not required for chunk size
migration
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>
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
---
super-intel.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/super-intel.c b/super-intel.c
index 1f5f6ed..89fac62 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -7719,11 +7719,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,
@@ -7731,7 +7731,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);
--
2.35.3