From: NeilBrown <neilb@suse.de>
To: "Arkadiusz Bubała" <arkadiusz.bubala@open-e.com>
Cc: linux-raid <linux-raid@vger.kernel.org>
Subject: Re: Mdadm monitor sometimes doesn't send events.
Date: Tue, 30 Apr 2013 11:48:06 +1000 [thread overview]
Message-ID: <20130430114806.0f687c0f@notabene.brown> (raw)
In-Reply-To: <517E34E9.3050602@open-e.com>
[-- Attachment #1: Type: text/plain, Size: 2450 bytes --]
On Mon, 29 Apr 2013 10:52:57 +0200 Arkadiusz Bubała
<arkadiusz.bubala@open-e.com> wrote:
> Hello,
> We've got a problem that sometimes mdadm monitor doesn't send events.
> Actions are as follows:
>
> start:
> create new RAID 5 array
> wait until it's rebuilding
> stop created array
> go to start
>
> Only first time we get "NewArray" event then when new array is created
> only "RebuildStarted" event appears. After our analysis we found out
> that when we stop an array we get "DeviceDisapeared" event and when we
> create a new array we get "RebuildFinished" and then "RebuildStarted"
> event. Sometimes those two events don't show up.
The missing NewArray messages was fixed in June last year by
commit 0f760384ebc92d81a988c1501e4a493ef064ad66
You are using a very old mdadm. Maybe you should try 3.2.6
I'm less sure about the RebuildStarted/RebuildFinished oddities but there is
a good chance they are fixed is the latest release too.
NeilBrown
> The problem is in mdstat_read function:
>
> else if (ent->percent == -1 && w[0] >= '0' && w[0] <= '9' && w[l-1] ==
> '%') {
> ent->percent = atoi(w);
> }
>
> atoi(w) sometimes returns 0 instead -1. It causes that mse->percent = 0 in:
>
> if (mse &&
> mse->percent == -1 &&
> st->percent >= 0)
> alert("RebuildFinished", dev, NULL, mailaddr, mailfrom,
> alert_cmd, dosyslog);
>
> and above conditions aren't met. Then in:
>
> if (mse)
> st->percent = mse->percent;
>
> st->percent becomes 0 and next conditions where "RebuildStarted" event
> should be sent also aren't met:
> if (mse &&
> st->percent == -1 &&
> mse->percent >= 0)
> alert("RebuildStarted", dev, NULL, mailaddr, mailfrom,
> alert_cmd, dosyslog);
>
> Probably it is fine because rebuild already started and this is what
> monitor reads from /proc/mdstat. Shouldn't it return "NewArray" event
> instead those two "RebuildFinished" and "RebuildStarted" in this situation?
>
> We use mdadm version 2.5.6 and monitor runs as a daemon with 10s
> interval and scan option.
>
> Do we need to restart mdadm monitor when new disk is added to the system
> (hotplug)? Do we need to generate config file in such situation or
> running mdadm with option --scan is sufficient?
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
next prev parent reply other threads:[~2013-04-30 1:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-29 8:52 Mdadm monitor sometimes doesn't send events Arkadiusz Bubała
2013-04-30 1:48 ` NeilBrown [this message]
2013-05-02 8:34 ` Arkadiusz Bubała
2013-05-02 10:30 ` NeilBrown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130430114806.0f687c0f@notabene.brown \
--to=neilb@suse.de \
--cc=arkadiusz.bubala@open-e.com \
--cc=linux-raid@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).