From: Larkin Lowrey <llowrey@nuclearwinter.com>
To: Jonathan Tripathy <jonnyt@abpni.co.uk>
Cc: linux-raid@vger.kernel.org
Subject: Re: Resync Every Sunday
Date: Mon, 02 Jul 2012 12:06:26 -0500 [thread overview]
Message-ID: <4FF1D512.8030406@nuclearwinter.com> (raw)
In-Reply-To: <4FF0C8AF.9020703@abpni.co.uk>
On 7/1/2012 5:01 PM, Jonathan Tripathy wrote:
>
> On 01/07/2012 22:57, Jonathan Tripathy wrote:
>>
>> On 01/07/2012 22:24, Larkin Lowrey wrote:
>>> There was a fedora bug in the raid-check script would only queue an
>>> array for check if the array_state was 'clean'. Unfortunately, when the
>>> array is busy performing normal I/O its array_state is 'active'. So,
>>> any
>>> arrays which were servicing I/O at the time raid-check was run would
>>> not
>>> be checked.
>>>
>>> It is quite possible that your CentOS version does not include the fix.
>>>
>>> https://bugzilla.redhat.com/show_bug.cgi?id=679843
>>>
>>> If it's fixed you should see something like:
>>>
>>> # Only perform the checks on idle, healthy arrays, but delay
>>> # actually writing the check field until the next loop so we
>>> # don't switch currently idle arrays to active, which happens
>>> # when two or more arrays are on the same physical disk
>>> array_state=`cat /sys/block/$dev/md/array_state`
>>> if [ "$array_state" != "clean" -a "$array_state" != "active" ]; then
>>> continue
>>> fi
>>>
>>> The fix, iirc, was simply the inclusion of '-a "$array_state" !=
>>> "active"' in the 'if' statement above.
>>>
>>> --Larkin
>> Hi Larkin,
>>
>> This sounds like exactly what I'm experiencing.
>>
>> Is this 'if' statement supposed to be in the raid-check script? I
>> don't have any if statement in my raid-check script
>>
>> Thanks
>>
> Here is a small part of my 99-raid-check script:
>
> for dev in $active_list; do
> echo $SKIP_DEVS | grep -w $dev >/dev/null 2>&1 && continue
> if [ -f /sys/block/$dev/md/sync_action ]; then
> # Only perform the checks on idle, healthy arrays, but delay
> # actually writing the check field until the next loop so we
> # don't switch currently idle arrays to active, which happens
> # when two or more arrays are on the same physical disk
> array_state=`cat /sys/block/$dev/md/array_state`
> sync_action=`cat /sys/block/$dev/md/sync_action`
> if [ "$array_state" = clean -a "$sync_action" = idle ]; then
> ck=""
> echo $REPAIR_DEVS | grep -w $dev >/dev/null 2>&1 &&
> ck="repair"
> echo $CHECK_DEVS | grep -w $dev >/dev/null 2>&1 && ck="check"
> [ -z "$ck" ] && ck=$CHECK
> dev_list="$dev_list $dev"
> check[$devnum]=$ck
> let devnum++
> [ "$ck" = "check" ] && check_list="$check_list $dev"
> fi
> fi
> done
>
> So the bug hasn't been fixed in my version then?
>
> Thanks
That is not the correct logic so your script is out of date. I would
recommend updating your mdadm package via yum. My CentOS 6.2 install has
the correct logic in /usr/sbin/raid-check, which is the new location for
the script. The RPM I have installed is mdadm-3.2.2-9.el6.x86_64.
--Larkin
next prev parent reply other threads:[~2012-07-02 17:06 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-01 11:20 Resync Every Sunday Jonathan Tripathy
2012-07-01 12:04 ` Jonathan Tripathy
2012-07-01 12:44 ` Mikael Abrahamsson
2012-07-01 12:53 ` Jonathan Tripathy
2012-07-01 20:41 ` Keith Keller
2012-07-01 20:44 ` Jonathan Tripathy
2012-07-01 21:24 ` Larkin Lowrey
2012-07-01 21:57 ` Jonathan Tripathy
2012-07-01 22:01 ` Jonathan Tripathy
2012-07-02 17:06 ` Larkin Lowrey [this message]
2012-07-02 21:30 ` Keith Keller
2012-07-02 22:55 ` Jonathan Tripathy
2012-07-03 3:33 ` Keith Keller
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=4FF1D512.8030406@nuclearwinter.com \
--to=llowrey@nuclearwinter.com \
--cc=jonnyt@abpni.co.uk \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.