<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/md, branch v2.6.26.8</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/md?h=v2.6.26.8</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/md?h=v2.6.26.8'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2008-08-06T16:03:14Z</updated>
<entry>
<title>linear: correct disk numbering error check</title>
<updated>2008-08-06T16:03:14Z</updated>
<author>
<name>Nikanth Karthikesan</name>
<email>knikanth@novell.com</email>
</author>
<published>2008-07-31T18:47:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d63c77454b3baa95307c71d4d1d74bf7a3268565'/>
<id>urn:sha1:d63c77454b3baa95307c71d4d1d74bf7a3268565</id>
<content type='text'>
[ Upstream commit 13864515f7bf6cabd60e63c62e09d311386ae1f1 ]

From: "Nikanth Karthikesan" &lt;knikanth@novell.com&gt;

Correct disk numbering problem check.

Signed-off-by: Nikanth Karthikesan &lt;knikanth@suse.de&gt;
Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
CC: Oliver Pinter &lt;oliver.pntr@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Close race in md_probe</title>
<updated>2008-08-06T16:03:13Z</updated>
<author>
<name>Neil Brown</name>
<email>neilb@suse.de</email>
</author>
<published>2008-07-31T18:46:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a23a984f8413296fc7656c0593717d9618e6548e'/>
<id>urn:sha1:a23a984f8413296fc7656c0593717d9618e6548e</id>
<content type='text'>
[ Upstream commit f48ed538386cb41559282d989354e8f5d442d71c ]

There is a possible race in md_probe.  If two threads call md_probe
for the same device, then one could exit (having checked that
-&gt;gendisk exists) before the other has called kobject_init_and_add,
thus returning an incomplete kobj which will cause problems when
we try to add children to it.

So extend the range of protection of disks_mutex slightly to
avoid this possibility.

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
CC: Oliver Pinter &lt;oliver.pntr@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Merge branch 'for-2.6.26' of git://neil.brown.name/md</title>
<updated>2008-07-10T16:49:46Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-07-10T16:49:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2283af5b0b99565f516eacd756df2b1ddf9f4f85'/>
<id>urn:sha1:2283af5b0b99565f516eacd756df2b1ddf9f4f85</id>
<content type='text'>
* 'for-2.6.26' of git://neil.brown.name/md:
  md: ensure all blocks are uptodate or locked when syncing
</content>
</entry>
<entry>
<title>md: ensure all blocks are uptodate or locked when syncing</title>
<updated>2008-07-10T05:25:18Z</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2008-07-10T11:54:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7a1fc53c5adb910751a9b212af90302eb4ffb527'/>
<id>urn:sha1:7a1fc53c5adb910751a9b212af90302eb4ffb527</id>
<content type='text'>
Remove the dubious attempt to prefer 'compute' over 'read'.  Not only is it
wrong given commit c337869d (md: do not compute parity unless it is on a failed
drive), but it can trigger a BUG_ON in handle_parity_checks5().

Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm</title>
<updated>2008-07-03T01:55:17Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-07-03T01:55:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cefcade9e7b2331110fdd709b5871ebcc5f9a40f'/>
<id>urn:sha1:cefcade9e7b2331110fdd709b5871ebcc5f9a40f</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:
  dm crypt: use cond_resched
</content>
</entry>
<entry>
<title>dm crypt: use cond_resched</title>
<updated>2008-07-02T08:34:28Z</updated>
<author>
<name>Milan Broz</name>
<email>mbroz@redhat.com</email>
</author>
<published>2008-07-02T08:34:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c7f1b2044191a82e7f0a1a674751ed582289e2e0'/>
<id>urn:sha1:c7f1b2044191a82e7f0a1a674751ed582289e2e0</id>
<content type='text'>
Add cond_resched() to prevent monopolising CPU when processing large bios.

dm-crypt processes encryption of bios in sector units.  If the bio request
is big it can spend a long time in the encryption call.

Signed-off-by: Milan Broz &lt;mbroz@redhat.com&gt;
Tested-by: Yan Li &lt;elliot.li.tech@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>Fix error paths if md_probe fails.</title>
<updated>2008-06-27T22:31:17Z</updated>
<author>
<name>Neil Brown</name>
<email>neilb@notabene.brown</email>
</author>
<published>2008-06-27T22:31:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9bbbca3a0ee09293108b67835c6bdf6196d7bcb3'/>
<id>urn:sha1:9bbbca3a0ee09293108b67835c6bdf6196d7bcb3</id>
<content type='text'>
md_probe can fail (e.g. alloc_disk could fail) without
returning an error (as it alway returns NULL).
So when we call mddev_find immediately afterwards, we need
to check that md_probe actually succeeded.  This means checking
that mdev-&gt;gendisk is non-NULL.

cc: &lt;stable@kernel.org&gt;
Cc: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>Don't acknowlege that stripe-expand is complete until it really is.</title>
<updated>2008-06-27T22:31:14Z</updated>
<author>
<name>Neil Brown</name>
<email>neilb@notabene.brown</email>
</author>
<published>2008-06-27T22:31:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=efe311431869b40d67911820a309f9a1a41306f3'/>
<id>urn:sha1:efe311431869b40d67911820a309f9a1a41306f3</id>
<content type='text'>
We shouldn't acknowledge that a stripe has been expanded (When
reshaping a raid5 by adding a device) until the moved data has
actually been written out.  However we are currently
acknowledging (by calling md_done_sync) when the POST_XOR
is complete and before the write.

So track in s.locked whether there are pending writes, and don't
call md_done_sync yet if there are.

Note: we all set R5_LOCKED on devices which are are about to
read from.  This probably isn't technically necessary, but is
usually done when writing a block, and justifies the use of
s.locked here.

This bug can lead to a crash if an array is stopped while an reshape
is in progress.

Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>Ensure interrupted recovery completed properly (v1 metadata plus bitmap)</title>
<updated>2008-06-27T22:30:52Z</updated>
<author>
<name>Neil Brown</name>
<email>neilb@notabene.brown</email>
</author>
<published>2008-06-27T22:30:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8c2e870a625bd336b2e7a65a97c1836acef07322'/>
<id>urn:sha1:8c2e870a625bd336b2e7a65a97c1836acef07322</id>
<content type='text'>
If, while assembling an array, we find a device which is not fully
in-sync with the array, it is important to set the "fullsync" flags.
This is an exact analog to the setting of this flag in hot_add_disk
methods.

Currently, only v1.x metadata supports having devices in an array
which are not fully in-sync (it keep track of how in sync they are).
The 'fullsync' flag only makes a difference when a write-intent bitmap
is being used.  In this case it tells recovery to ignore the bitmap
and recovery all blocks.

This fix is already in place for raid1, but not raid5/6 or raid10.

So without this fix, a raid1 ir raid4/5/6 array with version 1.x
metadata and a write intent bitmaps, that is stopped in the middle
of a recovery, will appear to complete the recovery instantly
after it is reassembled, but the recovery will not be correct.

If you might have an array like that, issueing
   echo repair &gt; /sys/block/mdXX/md/sync_action

will make sure recovery completes properly.

Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: do not compute parity unless it is on a failed drive</title>
<updated>2008-06-06T18:29:08Z</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2008-06-06T05:45:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c337869d95011495fa181536786e74aa2d7ff031'/>
<id>urn:sha1:c337869d95011495fa181536786e74aa2d7ff031</id>
<content type='text'>
If a block is computed (rather than read) then a check/repair operation
may be lead to believe that the data on disk is correct, when infact it
isn't.  So only compute blocks for failed devices.

This issue has been around since at least 2.6.12, but has become harder to
hit in recent kernels since most reads bypass the cache.

echo repair &gt; /sys/block/mdN/md/sync_action will set the parity blocks to the
correct state.

Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
