<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/md/raid10.c, branch v2.6.19</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/md/raid10.c?h=v2.6.19</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/md/raid10.c?h=v2.6.19'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2006-10-28T18:30:52Z</updated>
<entry>
<title>[PATCH] md: fix printk format warnings, seen on powerpc64:</title>
<updated>2006-10-28T18:30:52Z</updated>
<author>
<name>Randy Dunlap</name>
<email>randy.dunlap@oracle.com</email>
</author>
<published>2006-10-28T17:38:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=969b755aadf7bcf3df5991a127a103acd0145a52'/>
<id>urn:sha1:969b755aadf7bcf3df5991a127a103acd0145a52</id>
<content type='text'>
drivers/md/raid1.c:1479: warning: long long unsigned int format, long unsigned int arg (arg 4)
drivers/md/raid10.c:1475: warning: long long unsigned int format, long unsigned int arg (arg 4)

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: fix calculation of -&gt;degraded for multipath and raid10</title>
<updated>2006-10-21T20:35:05Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-10-21T17:24:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2e333e89860431d22816c1bdaa2ea72c2753396e'/>
<id>urn:sha1:2e333e89860431d22816c1bdaa2ea72c2753396e</id>
<content type='text'>
Two less-used md personalities have bugs in the calculation of -&gt;degraded (the
extent to which the array is degraded).

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: define -&gt;congested_fn for raid1, raid10, and multipath</title>
<updated>2006-10-03T15:04:18Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-10-03T08:15:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0d12922823408b26f83b15cae4a4feff4bd22f28'/>
<id>urn:sha1:0d12922823408b26f83b15cae4a4feff4bd22f28</id>
<content type='text'>
raid1, raid10 and multipath don't report their 'congested' status through
bdi_*_congested, but should.

This patch adds the appropriate functions which just check the 'congested'
status of all active members (with appropriate locking).

raid1 read_balance should be modified to prefer devices where
bdi_read_congested returns false.  Then we could use the '&amp;' branch rather
than the '|' branch.  However that should would need some benchmarking first
to make sure it is actually a good idea.

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: Improve locking around error handling</title>
<updated>2006-10-03T15:04:18Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-10-03T08:15:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c04be0aa82ff535e3676ab3e573957bdeef41879'/>
<id>urn:sha1:c04be0aa82ff535e3676ab3e573957bdeef41879</id>
<content type='text'>
The error handling routines don't use proper locking, and so two concurrent
errors could trigger a problem.

So:
  - use test-and-set and test-and-clear to synchonise
    the In_sync bits with the -&gt;degraded count
  - use the spinlock to protect updates to the
    degraded count (could use an atomic_t but that
    would be a bigger change in code, and isn't
    really justified)
  - remove un-necessary locking in raid5

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: remove 'working_disks' from raid10 state</title>
<updated>2006-10-03T15:04:17Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-10-03T08:15:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=76186dd8b73d2b7b9b4c8629b89c845e97009801'/>
<id>urn:sha1:76186dd8b73d2b7b9b4c8629b89c845e97009801</id>
<content type='text'>
It isn't needed as mddev-&gt;degraded contains equivalent info.

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: replace magic numbers in sb_dirty with well defined bit flags</title>
<updated>2006-10-03T15:04:17Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-10-03T08:15:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=850b2b420cd5b363ed4cf48a8816d656c8b5251b'/>
<id>urn:sha1:850b2b420cd5b363ed4cf48a8816d656c8b5251b</id>
<content type='text'>
Instead of magic numbers (0,1,2,3) in sb_dirty, we have
some flags instead:
MD_CHANGE_DEVS
   Some device state has changed requiring superblock update
   on all devices.
MD_CHANGE_CLEAN
   The array has transitions from 'clean' to 'dirty' or back,
   requiring a superblock update on active devices, but possibly
   not on spares
MD_CHANGE_PENDING
   A superblock update is underway.

We wait for an update to complete by waiting for all flags to be clear.  A
flag can be set at any time, even during an update, without risk that the
change will be lost.

Stop exporting md_update_sb - isn't needed.

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: factor out part of raid10d into a separate function.</title>
<updated>2006-10-03T15:04:17Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-10-03T08:15:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6814d5368d68341ec6b5e4ecd10ea5947130775a'/>
<id>urn:sha1:6814d5368d68341ec6b5e4ecd10ea5947130775a</id>
<content type='text'>
raid10d has toooo many nested block, so take the fix_read_error functionality
out into a separate function.

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: include sector number in messages about corrected read errors</title>
<updated>2006-07-10T20:24:17Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-07-10T11:44:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d69504325978c461b51b03cca49626026970307b'/>
<id>urn:sha1:d69504325978c461b51b03cca49626026970307b</id>
<content type='text'>
This is generally useful, but particularly helps see if it is the same sector
that always needs correcting, or different ones.

[akpm@osdl.org: fix printk warnings]
Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: Calculate correct array size for raid10 in new offset mode</title>
<updated>2006-06-26T16:58:39Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-06-26T07:27:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8838832830d2c6c28ae2db93188ae90652eb7fc2'/>
<id>urn:sha1:8838832830d2c6c28ae2db93188ae90652eb7fc2</id>
<content type='text'>
The size calculation made assumtion which the new offset mode didn't
follow.  This gets the size right in all cases.

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: support stripe/offset mode in raid10</title>
<updated>2006-06-26T16:58:37Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-06-26T07:27:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c93983bf517c100a31e40ef087e19bd3d7aa2d28'/>
<id>urn:sha1:c93983bf517c100a31e40ef087e19bd3d7aa2d28</id>
<content type='text'>
The "industry standard" DDF format allows for a stripe/offset layout where
data is duplicated on different stripes.  e.g.

  A  B  C  D
  D  A  B  C
  E  F  G  H
  H  E  F  G

(columns are drives, rows are stripes, LETTERS are chunks of data).

This is similar to raid10's 'far' mode, but not quite the same.  So enhance
'far' mode with a 'far/offset' option which follows the layout of DDFs
stripe/offset.

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
