linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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).