78f6e472f9
- DDF-compare_super_ddf-fix-sequence-number-check.patch - Monitor-don-t-set-arrays-dirty-after-transition-to-r.patch - DDF-add_to_super_ddf-be-careful-with-workspace_lba.patch - Monitor-write-meta-data-in-readonly-state-sometimes.patch - Assembe-fix-bug-in-force_array-it-wasn-t-forcing-pro.patch Various bugfixes from upstream - several to improve DDF support, one which fixes a nasty bug in "--assemble --force". - DDF-brief_examine_subarrays_ddf-print-array-name.patch DDF-factor-out-array-name-generation.patch Include name in "-Db" output for DDF FATE#316007 OBS-URL: https://build.opensuse.org/package/show/Base:System/mdadm?expand=0&rev=96
44 lines
1.4 KiB
Diff
44 lines
1.4 KiB
Diff
From 7bb1d61354e4f8932f0a6eb926d5855b05c8c7b8 Mon Sep 17 00:00:00 2001
|
|
From: "mwilck@arcor.de" <mwilck@arcor.de>
|
|
Date: Sat, 14 Sep 2013 23:24:07 +0200
|
|
Subject: [PATCH] Monitor: don't set arrays dirty after transition to read-only
|
|
|
|
This patch reverts commit 4867e068. Setting arrays dirty after
|
|
transition from inactive to anything else causes unnecessary
|
|
meta data writes and may wreak trouble unnecessarily when
|
|
a disk was missing during assembly but the array was never
|
|
written to.
|
|
|
|
The reason for 4867e068 was a special situation during reshape
|
|
from RAID0 to RAID4. I ran all IMSM test cases with it reverted
|
|
and found no regressions, so I believe the reshape logic for
|
|
IMSM works fine in mdadm 3.3 also without this.
|
|
|
|
Signed-off-by: Martin Wilck <mwilck@arcor.de>
|
|
Signed-off-by: NeilBrown <neilb@suse.de>
|
|
---
|
|
monitor.c | 7 -------
|
|
1 file changed, 7 deletions(-)
|
|
|
|
diff --git a/monitor.c b/monitor.c
|
|
index 742aa196fb3b..3b57ed05ec9b 100644
|
|
--- a/monitor.c
|
|
+++ b/monitor.c
|
|
@@ -270,13 +270,6 @@ static int read_and_act(struct active_array *a)
|
|
a->info.resync_start
|
|
);
|
|
|
|
- if (a->curr_state > inactive &&
|
|
- a->prev_state == inactive) {
|
|
- /* array has been started
|
|
- * possible that container operation has to be completed
|
|
- */
|
|
- a->container->ss->set_array_state(a, 0);
|
|
- }
|
|
if ((a->curr_state == bad_word || a->curr_state <= inactive) &&
|
|
a->prev_state > inactive) {
|
|
/* array has been stopped */
|
|
--
|
|
1.8.3.1.487.g3e7a5b4
|
|
|