From: Heinz Mauelshagen Date: Fri, 20 Sep 2019 15:26:36 +0000 (+0200) Subject: Revert "dmeventd: avoid bail out preventing repair in raid plugin" X-Git-Tag: v2_03_06~113 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=6fc46af8ecd9532aca41df43fd588fb207ed4e92;p=lvm2.git Revert "dmeventd: avoid bail out preventing repair in raid plugin" This reverts commit ad560a286a0b5d08086324e6194b060c136e9353. The reverted patch also removed the warning which we realized we need to keep as valuable process information (see related bugzilla below). In a followup patch, we'll keep the message and avoid bailing out thus always allowing lvconvert to try repairing if 'allocate' fault policy set. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1751887 --- diff --git a/daemons/dmeventd/plugins/raid/dmeventd_raid.c b/daemons/dmeventd/plugins/raid/dmeventd_raid.c index 3431f1ec1..aa2b5789d 100644 --- a/daemons/dmeventd/plugins/raid/dmeventd_raid.c +++ b/daemons/dmeventd/plugins/raid/dmeventd_raid.c @@ -76,12 +76,16 @@ static int _process_raid_event(struct dso_state *state, char *params, const char } if (dead) { - /* - * Use the first event to run a repair ignoring any additonal ones. - * - * We presume lvconvert to do pre-repair - * checks to avoid bloat in this plugin. - */ + if (status->insync_regions < status->total_regions) { + if (!state->warned) { + state->warned = 1; + log_warn("WARNING: waiting for resynchronization to finish " + "before initiating repair on RAID device %s.", device); + } + + goto out; /* Not yet done syncing with accessible devices */ + } + if (state->failed) goto out; /* already reported */