From: Clive Messer <clive@vacuumtube.org.uk>
To: linux-raid@vger.kernel.org
Subject: Re: [PATCH] md: raid10: wake up frozen array
Date: Sat, 30 Aug 2008 22:30:52 +0100 [thread overview]
Message-ID: <1220131852.19005.77.camel@pc343.objectsoft-systems.ltd.uk> (raw)
In-Reply-To: <20080725190338.GA27484@ajones-laptop.nbttech.com>
On Fri, 2008-07-25 at 12:03 -0700, Arthur Jones wrote:
> When rescheduling a bio in raid10, we wake up
> the md thread, but if the array is frozen, this
> will have no effect. This causes the array to
> remain frozen for eternity. We add a wake_up
> to allow the array to de-freeze. This code is
> nearly identical to the raid1 code, which has
> this fix already.
Can someone explain this to me in simple terms?
What will cause a rescheduling of bio?
Frozen for eternity - what will be the effect assuming my root file
system is on raid10?
I have a Fedora Core 9 box using a 4 disk f2 raid10 array. This is the
main partition and root file system. Every couple of days the machine
would hard lock. Sometimes I could ssh in. Most of the time not. I never
managed to catch anything to the logs with SysRq. With the benefit of
hindsight - if the kernel was 'jammed' writing to logfiles on a frozen
raid10 array that could explain it. I assumed faulty hardware. I have
actually replaced one at a time, (and at considerable expense), the
power supply, motherboard, processor, all 4 disks in the array. Still
the machine would lock-up. What is interesting is that I have managed 5
days uptime since I added this one line patch to
2.6.25.14-108.fc9.x86_64. Could someone confirm for me that it is more
than likely that the hard locks I experienced on this machine could be
resolved by this one line patch? Has this patch now made it into an
official kernel release?
> Signed-off-by: Arthur Jones <ajones@riverbed.com>
> ---
> drivers/md/raid10.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
> index 159535d..d41bebb 100644
> --- a/drivers/md/raid10.c
> +++ b/drivers/md/raid10.c
> @@ -215,6 +215,9 @@ static void reschedule_retry(r10bio_t *r10_bio)
> conf->nr_queued ++;
> spin_unlock_irqrestore(&conf->device_lock, flags);
>
> + /* wake up frozen array... */
> + wake_up(&conf->wait_barrier);
> +
> md_wakeup_thread(mddev->thread);
> }
>
Regards
Clive
-
Clive Messer <clive@vacuumtube.org.uk>
next prev parent reply other threads:[~2008-08-30 21:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-25 19:03 [PATCH] md: raid10: wake up frozen array Arthur Jones
2008-08-01 3:03 ` Neil Brown
2008-08-30 21:30 ` Clive Messer [this message]
2008-09-02 15:07 ` Arthur Jones
2008-09-05 16:58 ` Bill Davidsen
2008-09-05 17:04 ` Arthur Jones
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=1220131852.19005.77.camel@pc343.objectsoft-systems.ltd.uk \
--to=clive@vacuumtube.org.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.