<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/md/raid10.c, branch linux-2.6.31.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-2.6.31.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-2.6.31.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2009-12-08T18:20:58+00:00</updated>
<entry>
<title>md/raid1/raid10: add a cond_resched</title>
<updated>2009-12-08T18:20:58+00:00</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-10-16T04:55:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=57a0aa351bff86bd529c8638a376cf0a18b60eae'/>
<id>urn:sha1:57a0aa351bff86bd529c8638a376cf0a18b60eae</id>
<content type='text'>
commit 1d9d52416c0445019ccc1f0fddb9a227456eb61b upstream.

During 'check' of a raid1 or raid10 it is possible for the management
thread to spend a lot of time running 'memcmp' on blocks from
different devices, so make sure the thread has a chance to schedule.
raid5d already has a cond_resched (in process_stripe).

Reported-By: Lee Howard &lt;faxguy@howardsilvan.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>md: Push down data integrity code to personalities.</title>
<updated>2009-08-03T00:59:47+00:00</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-08-03T00:59:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ac5e7113e74872928844d00085bd47c988f12728'/>
<id>urn:sha1:ac5e7113e74872928844d00085bd47c988f12728</id>
<content type='text'>
This patch replaces md_integrity_check() by two new public functions:
md_integrity_register() and md_integrity_add_rdev() which are both
personality-independent.

md_integrity_register() is called from the -&gt;run and -&gt;hot_remove
methods of all personalities that support data integrity.  The
function iterates over the component devices of the array and
determines if all active devices are integrity capable and if their
profiles match. If this is the case, the common profile is registered
for the mddev via blk_integrity_register().

The second new function, md_integrity_add_rdev() is called from the
-&gt;hot_add_disk methods, i.e. whenever a new device is being added
to a raid array. If the new device does not support data integrity,
or has a profile different from the one already registered, data
integrity for the mddev is disabled.

For raid0 and linear, only the call to md_integrity_register() from
the -&gt;run method is necessary.

Signed-off-by: Andre Noll &lt;maan@systemlinux.org&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: Use new topology calls to indicate alignment and I/O sizes</title>
<updated>2009-07-01T01:13:45+00:00</updated>
<author>
<name>Martin K. Petersen</name>
<email>martin.petersen@oracle.com</email>
</author>
<published>2009-07-01T01:13:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8f6c2e4b325a8e9f8f47febb2fd0ed4fae7d45a9'/>
<id>urn:sha1:8f6c2e4b325a8e9f8f47febb2fd0ed4fae7d45a9</id>
<content type='text'>
Switch MD over to the new disk_stack_limits() function which checks for
aligment and adjusts preferred I/O sizes when stacking.

Also indicate preferred I/O sizes where applicable.

Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: Push down reconstruction log message to personality code.</title>
<updated>2009-06-17T22:48:06+00:00</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-06-17T22:48:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8c6ac868b107ed50a46204f6d14e2ad9443ff146'/>
<id>urn:sha1:8c6ac868b107ed50a46204f6d14e2ad9443ff146</id>
<content type='text'>
Currently, the md layer checks in analyze_sbs() if the raid level
supports reconstruction (mddev-&gt;level &gt;= 1) and if reconstruction is
in progress (mddev-&gt;recovery_cp != MaxSector).

Move that printk into the personality code of those raid levels that
care (levels 1, 4, 5, 6, 10).

Signed-off-by: Andre Noll &lt;maan@systemlinux.org&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: Make mddev-&gt;chunk_size sector-based.</title>
<updated>2009-06-17T22:45:01+00:00</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-06-17T22:45:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9d8f0363623b3da12c43007cf77f5e1a4e8a5964'/>
<id>urn:sha1:9d8f0363623b3da12c43007cf77f5e1a4e8a5964</id>
<content type='text'>
This patch renames the chunk_size field to chunk_sectors with the
implied change of semantics.  Since

	is_power_of_2(chunk_size) = is_power_of_2(chunk_sectors &lt;&lt; 9)
				  = is_power_of_2(chunk_sectors)

these bits don't need an adjustment for the shift.

Signed-off-by: Andre Noll &lt;maan@systemlinux.org&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: raid10: chunk size check in run</title>
<updated>2009-06-16T07:01:22+00:00</updated>
<author>
<name>raz ben yehuda</name>
<email>raziebe@gmail.com</email>
</author>
<published>2009-06-16T07:01:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=964e7913b0d25b988e27a7cd9378bc55cc572bb4'/>
<id>urn:sha1:964e7913b0d25b988e27a7cd9378bc55cc572bb4</id>
<content type='text'>
have raid10 check chunk size in run method instead of in md

Signed-off-by: raziebe@gmail.com
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: remove mddev_to_conf "helper" macro</title>
<updated>2009-06-16T06:54:21+00:00</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-06-16T06:54:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=070ec55d07157a3041f92654135c3c6e2eaaf901'/>
<id>urn:sha1:070ec55d07157a3041f92654135c3c6e2eaaf901</id>
<content type='text'>
Having a macro just to cast a void* isn't really helpful.
I would must rather see that we are simply de-referencing -&gt;private,
than have to know what the macro does.

So open code the macro everywhere and remove the pointless cast.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>block: Use accessor functions for queue limits</title>
<updated>2009-05-22T21:22:54+00:00</updated>
<author>
<name>Martin K. Petersen</name>
<email>martin.petersen@oracle.com</email>
</author>
<published>2009-05-22T21:17:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ae03bf639a5027d27270123f5f6e3ee6a412781d'/>
<id>urn:sha1:ae03bf639a5027d27270123f5f6e3ee6a412781d</id>
<content type='text'>
Convert all external users of queue limits to using wrapper functions
instead of poking the request queue variables directly.

Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>md/raid10: don't clear bitmap during recovery if array will still be degraded.</title>
<updated>2009-05-07T02:48:10+00:00</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-05-07T02:48:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=18055569127253755d01733f6ecc004ed02f88d0'/>
<id>urn:sha1:18055569127253755d01733f6ecc004ed02f88d0</id>
<content type='text'>
If we have a raid10 with multiple missing devices, and we recover just
one of these to a spare, then we risk (depending on the bitmap and
array chunk size) clearing bits of the bitmap for which recovery isn't
complete (because a device is still missing).

This can lead to a subsequent "re-add" being recovered without
any IO happening, which would result in loss of data.

This patch takes the safe approach of not clearing bitmap bits
if the array will still be degraded.

This patch is suitable for all active -stable kernels.

Cc: stable@kernel.org
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>block: move bio list helpers into bio.h</title>
<updated>2009-04-15T06:28:09+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2009-04-07T17:55:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8f3d8ba20e67991b531e9c0227dcd1f99271a32c'/>
<id>urn:sha1:8f3d8ba20e67991b531e9c0227dcd1f99271a32c</id>
<content type='text'>
It's used by DM and MD and generally useful, so move the bio list
helpers into bio.h.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
</feed>
