Thread (18 messages) 18 messages, 4 authors, 2011-01-10

Re: [PATCH v3 0/8] dm-raid (raid456) target

From: Jonathan Brassow <hidden>
Date: 2011-01-06 21:01:06

[sorry, this msg bounced earlier today]

On Jan 6, 2011, at 4:46 AM, NeilBrown wrote:
Patches 1 and 2 aren't really needed - I feel inclined not to remove  
that
stuff until all the dust settles..  So I'll put them at the bottom  
of my
queue and bring them forward in a couple of releases if that seems
appropriate.
No problem.
Patch 3 I'll push out through my tree shortly.
thanks
The rest I am happy with going out through 'dm' to -next and beyond  
whenever
you like.

However I will take this opportunity to suggest that the raid  
parameters
might need a bit of review before they are finalised.

The possible parameters are as follows:
<chunk_size>		Chunk size in sectors.
[[no]sync]		Force/Prevent RAID initialization
[rebuild <idx>]	Rebuild the drive indicated by the index
[daemon_sleep <ms>]	Time between bitmap daemon work to clear bits
[min_recovery_rate <kB/sec/disk>]	Throttle RAID initialization
[max_recovery_rate <kB/sec/disk>]	Throttle RAID initialization
[max_write_behind <value>]		See '-write-behind=' (man mdadm)
[stripe_cache <sectors>]		Stripe cache size for higher RAIDs


'rebuild idx' only allows one device to be rebuilt at a time.  With  
RAID6 it
is possible that two devices can be ready for rebuild, in which case  
we would
want to rebuild both of them.
In which case, you can specify the parameter twice:
"... rebuild 0 rebuild 1..."
No problem there, I think.
Also if you stop an array during a rebuild you really want to start  
again
where you were up to.
This is kept in the superblock (forthcoming patches).  In the case  
where metadata devices are not specified (or can't be specified, as in  
this initial set of patches), the user has two choices: 1) allow the  
array to completely resync, or 2) specify [no]sync.
Most general solution would be to combine the rebuild information  
with the
list of component devices - either a sector number or something to  
indicate
that the rebuild it complete (which could be just a v.big sector  
number).
Is there something more to this, or is the above comment suitable for  
this also?
I'd much prefer 'daemon_sleep' to be in seconds, we decimals  
supported if
needed.
I had this in seconds originally, but device-mapper tables already  
have a precedent for specifying things in ms.  We don't want to have  
each target pick their own units.  (A similar thing can be said for  
values given in sectors.  We may have wanted kiB or B, but sectors is  
the standard.)
Also:

3:	<#raid_devs> <meta_dev1> <dev1> .. <meta_devN> <devN>

This doesn't allow offsets into the various devices like dm-stripe,
dm-linear, dm-raid1 all do.
This is a conscious choice.  The offset was discarded because it is  
unneeded.

  brassow
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help