From: Bill Davidsen <davidsen@tmr.com>
To: Neil Brown <neilb@suse.de>
Cc: linux-raid@vger.kernel.org
Subject: Re: Roadmap for md/raid ???
Date: Wed, 21 Jan 2009 12:04:32 -0500 [thread overview]
Message-ID: <497755A0.3090600@tmr.com> (raw)
In-Reply-To: <18804.65407.220481.267665@notabene.brown>
Neil Brown wrote:
> On Monday January 19, davidsen@tmr.com wrote:
>
>> Neil Brown wrote:
>>
>>> The difficulty is "How do you handle a crash?"
>>> If you crash and restart in the middle of a reshape, you need to know
>>> where all the data is.
>>> To follow your scheme, you would need to update the metadata for
>>> every block that is moved.
>>>
>>>
>>>
>> That would seem to be an issue doing it in a large task as well, if I
>> understand what you want to do. After the data have been written to the
>> spare space I believe you are going to write it back. If you update the
>> metadata before the write and something happens you have old metadata
>> but data in another format. Conversely, if you update the metadata
>> first, and something happens, you have the metadata describing a change
>> which didn't happen. So You would have to have a metadata reflecting the
>> data not being in the array, but actually somewhere else, or you would
>> have to keep the spare space inside the array, where room might not be
>> available.
>>
>
> I "freeze" a section of the array so that any writes block,
> I copy that data to somewhere safe, and mark that copy as being a
> valid copy of the moved data.
> Then I copy it back in the new layout and update the array metadata to
> show that the change-over point between old-layout and new-layout has
> changed. Then I invalidate the copy.
> Then repeat.
>
> When restarting an array, mdadm checks the copy (which could be in a
> file on a different device) and if it is valid, it is copied on to
> the array and the metadata is updated.
>
Sounds good...
--
Bill Davidsen <davidsen@tmr.com>
"Woe unto the statesman who makes war without a reason that will still
be valid when the war is over..." Otto von Bismark
next prev parent reply other threads:[~2009-01-21 17:04 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-19 4:10 Roadmap for md/raid ??? Neil Brown
2008-12-19 15:44 ` Chris Worley
2008-12-19 15:51 ` Justin Piszcz
2008-12-19 16:13 ` Bernd Schubert
2008-12-30 18:12 ` Janek Kozicki
2008-12-30 18:15 ` Janek Kozicki
2009-01-19 0:54 ` Neil Brown
2009-01-19 12:25 ` Keld Jørn Simonsen
2009-01-19 19:03 ` thomas62186218
2009-01-19 20:00 ` Jon Nelson
2009-01-19 20:18 ` Greg Freemyer
2009-01-19 20:30 ` Jon Nelson
2009-01-11 18:14 ` Piergiorgio Sartor
2009-01-19 1:40 ` Neil Brown
2009-01-19 18:19 ` Piergiorgio Sartor
2009-01-19 18:26 ` Peter Rabbitson
2009-01-19 18:41 ` Piergiorgio Sartor
2009-01-19 21:08 ` Keld Jørn Simonsen
2009-01-14 20:43 ` Bill Davidsen
2009-01-19 2:05 ` Neil Brown
[not found] ` <49740C81.2030502@tmr.com>
2009-01-19 22:32 ` Neil Brown
2009-01-21 17:04 ` Bill Davidsen [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-12-19 9:01 Aw: " piergiorgio.sartor
2008-12-19 17:01 ` Dan Williams
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=497755A0.3090600@tmr.com \
--to=davidsen@tmr.com \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.de \
/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.