From: Jonathan Tripathy <jonnyt@abpni.co.uk>
To: Larkin Lowrey <llowrey@nuclearwinter.com>
Cc: Keith Keller <kkeller@wombat.san-francisco.ca.us>,
linux-raid@vger.kernel.org
Subject: Re: Resync Every Sunday
Date: Sun, 01 Jul 2012 23:01:19 +0100 [thread overview]
Message-ID: <4FF0C8AF.9020703@abpni.co.uk> (raw)
In-Reply-To: <4FF0C7C0.7020706@abpni.co.uk>
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
next prev parent reply other threads:[~2012-07-01 22:01 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 [this message]
2012-07-02 17:06 ` Larkin Lowrey
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=4FF0C8AF.9020703@abpni.co.uk \
--to=jonnyt@abpni.co.uk \
--cc=kkeller@wombat.san-francisco.ca.us \
--cc=linux-raid@vger.kernel.org \
--cc=llowrey@nuclearwinter.com \
/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.