dcavalca / rpms / mdadm

Forked from rpms/mdadm 3 years ago
Clone

Blame SOURCES/IMSM-Initialize-my_vol_raid_dev_num-during-vol-creat.patch

b7f731
From 2a24dc1b0988a7d924de6339754d4160762a61f7 Mon Sep 17 00:00:00 2001
b7f731
From: Pawel Baldysiak <pawel.baldysiak@intel.com>
b7f731
Date: Wed, 26 Apr 2017 11:08:07 +0200
b7f731
Subject: [RHEL7.5 PATCH 103/169] IMSM: Initialize my_vol_raid_dev_num
b7f731
 during vol creation
b7f731
b7f731
This field was not initialized so far. This ID needs to be unique
b7f731
for every newly created array in container.
b7f731
b7f731
Signed-off-by: Pawel Baldysiak <pawel.baldysiak@intel.com>
b7f731
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
b7f731
---
b7f731
 super-intel.c | 11 +++++++++--
b7f731
 1 file changed, 9 insertions(+), 2 deletions(-)
b7f731
b7f731
diff --git a/super-intel.c b/super-intel.c
b7f731
index fbff215..36f77d3 100644
b7f731
--- a/super-intel.c
b7f731
+++ b/super-intel.c
b7f731
@@ -232,8 +232,13 @@ struct imsm_super {
b7f731
 	__u32 orig_family_num;		/* 0x40 - 0x43 original family num */
b7f731
 	__u32 pwr_cycle_count;		/* 0x44 - 0x47 simulated power cycle count for array */
b7f731
 	__u32 bbm_log_size;		/* 0x48 - 0x4B - size of bad Block Mgmt Log in bytes */
b7f731
-#define IMSM_FILLERS 35
b7f731
-	__u32 filler[IMSM_FILLERS];	/* 0x4C - 0xD7 RAID_MPB_FILLERS */
b7f731
+	__u16 num_raid_devs_created;	/* 0x4C - 0x4D Used for generating unique
b7f731
+					 * volume IDs for raid_dev created in this array
b7f731
+					 * (starts at 1)
b7f731
+					 */
b7f731
+	__u16 filler1;			/* 0x4E - 0x4F */
b7f731
+#define IMSM_FILLERS 34
b7f731
+	__u32 filler[IMSM_FILLERS];	/* 0x50 - 0xD7 RAID_MPB_FILLERS */
b7f731
 	struct imsm_disk disk[1];	/* 0xD8 diskTbl[numDisks] */
b7f731
 	/* here comes imsm_dev[num_raid_devs] */
b7f731
 	/* here comes BBM logs */
b7f731
@@ -5368,6 +5373,8 @@ static int init_super_imsm_volume(struct supertype *st, mdu_array_info_t *info,
b7f731
 		set_imsm_ord_tbl_ent(map, i, IMSM_ORD_REBUILD);
b7f731
 	}
b7f731
 	mpb->num_raid_devs++;
b7f731
+	mpb->num_raid_devs_created++;
b7f731
+	dev->my_vol_raid_dev_num = mpb->num_raid_devs_created;
b7f731
 
b7f731
 	if (s->consistency_policy <= CONSISTENCY_POLICY_RESYNC) {
b7f731
 		dev->rwh_policy = RWH_OFF;
b7f731
-- 
b7f731
2.7.4
b7f731