linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Neil Brown <neilb@suse.de>
To: raz ben yehuda <raziebe@013.net>
Cc: linux-raid@vger.kernel.org
Subject: Re: Subject: [001/002 ] raid0 reshape
Date: Mon, 11 May 2009 08:31:59 +1000	[thread overview]
Message-ID: <18951.21983.1676.992436@notabene.brown> (raw)
In-Reply-To: message from raz ben yehuda on Sunday May 3

On Sunday May 3, raziebe@013.net wrote:
> Neil Hello
> The bellow is the raid0 grow code.I have decided to fix raid0 and not 
> perform the transformation raid0-raid4-raid0 due to two reasons:
> 1. raid0 zones. this patch support any zone transformations.
> 2. Undesired dependency of raid0 over raid4 re-striping code. 
> 
> The following tests were conducted:
> 1. various chunk sizes, 4K to 512K. ( mainly in 2.6.27 and 2.6.18 )
> 2. regrow ( tested on 2.6.27 and 2.6.18 )
> 3. various super blocks. 0.9 , 1, 1.1 and 1.2 ( mainly in 2.6.27 and 2.6.18 ).
> 4. support assembling and mounting older raid version ( older kernels and code before patch) after it was grown.
> 
> patch passed checkpatch.pl . other than reshaping code i beautified the code. 
> Currently i about to pass this code to our testing team for further tests. 
> Other things to do:
> 1. Speedup the reshape process.It is too slow.
> 2. Support for non power 2^n ( page size) chunks.
> 
> I will be thankful for your criticism.

Probably my main criticism at this point is that there is no
commentary explaining how it works.
You appear to have chosen to run your own reshape thread rather than
providing a "resync" method and make use of the md_do_sync thread
which provides speed limiting etc.  
Maybe that it a good decision, but as you haven't explained it, it is
hard to be sure.

Also, it seems to if an IO request arrives while the reshape is
happening, then it fails with -EBUSY.
I don't think that is a good thing.
1/ no filesystem is going to be expecting EBUSY so it could cause
   serious problems
2/ if you aren't going to support online reshape so that a device can 
   be reshaped while it is in use, then there seems to be little point
   in putting this code in the kernel.  Just write a program that runs
   in userspace which reshapes the array while it is not assembled.

Also, I cannot see any evidence that you checkpoint the reshape at
all.  So if your machine crashes during the reshape, everything is
lost.  I do not find this acceptable.

NeilBrown

  reply	other threads:[~2009-05-10 22:31 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-02 21:46 Subject: [001/002 ] raid0 reshape raz ben yehuda
2009-05-10 22:31 ` Neil Brown [this message]
2009-05-12 16:59   ` Raz
2009-05-19 18:09 ` Dan Williams
2009-05-19 22:27   ` Raz
2009-05-21 11:48   ` Neil Brown
2009-05-21 12:33     ` OT: busting a gut (was Re: Subject: [001/002 ] raid0 reshape) John Robinson
2009-05-21 19:20     ` Subject: [001/002 ] raid0 reshape Greg Freemyer
2009-05-25 12:19       ` Goswin von Brederlow
2009-05-25 20:06         ` Raz
2009-05-27 21:55           ` Bill Davidsen
2009-05-25 22:14         ` Neil Brown
2009-05-26 11:17           ` Goswin von Brederlow
2009-05-26 11:51             ` Neil Brown
2009-05-28 19:07               ` Goswin von Brederlow
2009-05-22  7:53     ` Dan Williams
2009-05-23 22:33     ` Raz

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=18951.21983.1676.992436@notabene.brown \
    --to=neilb@suse.de \
    --cc=linux-raid@vger.kernel.org \
    --cc=raziebe@013.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).