All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.