Re: Subject: [001/002 ] raid0 reshape

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 11, 2009 at 1:31 AM, Neil Brown <neilb@xxxxxxx> wrote:
> On Sunday May 3, raziebe@xxxxxxx 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.
You are correct , I will move to md resync; online reshape is essential.
I just need to understand the entire md resync processes for that. I
am going to
base raid0 reshape code like raid1's, meaning, have two threads,
raid0_resync and
raid0d for the writes.
Thank you Neil

> 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
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux