<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/raid/raid5.h, branch v2.6.16.45</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v2.6.16.45</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v2.6.16.45'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2006-01-06T16:34:06Z</updated>
<entry>
<title>[PATCH] md: tidy up raid5/6 hash table code</title>
<updated>2006-01-06T16:34:06Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-01-06T08:20:33Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=fccddba060f2b4916a30aa27acc3d03b01bb981e'/>
<id>urn:sha1:fccddba060f2b4916a30aa27acc3d03b01bb981e</id>
<content type='text'>
- replace open-coded hash chain with hlist macros

- Fix hash-table size at one page - it is already quite generous, so there
  will never be a need to use multiple pages, so no need for __get_free_pages

No functional change.

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 up some rdev rcu locking in raid5/6</title>
<updated>2006-01-06T16:34:04Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-01-06T08:20:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=9910f16af35419a5382fa7850eecc220103036fa'/>
<id>urn:sha1:9910f16af35419a5382fa7850eecc220103036fa</id>
<content type='text'>
There is this "FIXME" comment with a typo in it!!  that been annoying me for
days, so I just had to remove it.

conf-&gt;disks[i].rdev should only be accessed if
  - we know we hold a reference or
  - the mddev-&gt;reconfig_sem is down or
  - we have a rcu_readlock

handle_stripe was referencing rdev in three places without any of these.  For
the first two, get an rcu_readlock.  For the last, the same access
(md_sync_acct call) is made a little later after the rdev has been claimed
under and rcu_readlock, if R5_Syncio is set.  So just use that access...
However R5_Syncio isn't really needed as the 'syncing' variable contains the
same information.  So use that instead.

Issues, comment, and fix are identical in raid5 and raid6.

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 raid6 resync check/repair code</title>
<updated>2006-01-06T16:34:03Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-01-06T08:20:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ca65b73bd9c301d243df93780f7b26579e6c9204'/>
<id>urn:sha1:ca65b73bd9c301d243df93780f7b26579e6c9204</id>
<content type='text'>
raid6 currently does not check the P/Q syndromes when doing a resync, it just
calculates the correct value and writes it.  Doing the check can reduce writes
(often to 0) for a resync, and it is needed to properly implement the

  echo check &gt; sync_action

operation.

This patch implements the appropriate checks and tidies up some related code.

It also allows raid6 user-requested resync to bypass the intent bitmap.

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: change raid5 sysfs attribute to not create a new directory</title>
<updated>2005-11-09T15:56:38Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2005-11-09T05:39:30Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=007583c9253fed363a0bd71b039e9b40a0f6855e'/>
<id>urn:sha1:007583c9253fed363a0bd71b039e9b40a0f6855e</id>
<content type='text'>
There isn't really a need for raid5 attributes to be an a subdirectory,
so this patch moves them from
  /sys/block/mdX/md/raid5/attribute
to
  /sys/block/mdX/md/attribute

This suggests that all md personalities should co-operate about
namespace usage, but that shouldn't be a problem.

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: add kobject/sysfs support to raid5</title>
<updated>2005-11-09T15:56:37Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2005-11-09T05:39:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3f294f4fb6f2ba887b717674da26c21f3d57f3fc'/>
<id>urn:sha1:3f294f4fb6f2ba887b717674da26c21f3d57f3fc</id>
<content type='text'>
/sys/block/mdX/md/raid5/
contains raid5-related attributes.
Currently
  stripe_cache_size
is number of entries in stripe cache, and is settable.
  stripe_cache_active
is number of active entries, and in only readable.

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Cc: Greg KH &lt;greg@kroah.com&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: better handling of readerrors with raid5.</title>
<updated>2005-11-09T15:56:36Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2005-11-09T05:39:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4e5314b56a7ea11c7a5f2b8418992b2f49648a25'/>
<id>urn:sha1:4e5314b56a7ea11c7a5f2b8418992b2f49648a25</id>
<content type='text'>
This patch changes the behaviour of raid5 when it gets a read error.
Instead of just failing the device, it tried to find out what should have
been there, and writes it over the bad block.  For some media-errors, this
has a reasonable chance of fixing the error.  If the write succeeds, and a
subsequent read succeeds as well, raid5 decided the address is OK and
conitnues.

Instead of failing a drive on read-error, we attempt to re-write the block,
and then re-read.  If that all works, we allow the device to remain in the
array.

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: add write-intent-bitmap support to raid5</title>
<updated>2005-09-09T23:39:12Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@cse.unsw.edu.au</email>
</author>
<published>2005-09-09T23:23:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=72626685dc66d455742a7f215a0535c551628b9e'/>
<id>urn:sha1:72626685dc66d455742a7f215a0535c551628b9e</id>
<content type='text'>
Most awkward part of this is delaying write requests until bitmap updates have
been flushed.

To achieve this, we have a sequence number (seq_flush) which is incremented
each time the raid5 is unplugged.

If the raid thread notices that this has changed, it flushes bitmap changes,
and assigned the value of seq_flush to seq_write.

When a write request arrives, it is given the number from seq_write, and that
write request may not complete until seq_flush is larger than the saved seq
number.

We have a new queue for storing stripes which are waiting for a bitmap flush
and an extra flag for stripes to record if the write was 'degraded' and so
should not clear the a bit in the bitmap.

Signed-off-by: Neil Brown &lt;neilb@cse.unsw.edu.au&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] raid5 overlapping read hack</title>
<updated>2005-02-07T23:47:54Z</updated>
<author>
<name>Neil Brown</name>
<email>neilb@cse.unsw.edu.au</email>
</author>
<published>2005-02-07T23:47:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3624ed47542112ec3449fbd1aa7cb745f7ac6fab'/>
<id>urn:sha1:3624ed47542112ec3449fbd1aa7cb745f7ac6fab</id>
<content type='text'>
If we detect an overlap, we set a flag and wait for a wakeup.  When requests
are handled, if the flag was set, we perform the wakeup.

Note that the code currently in -mm is badly broken.  With this patch applied,
it passes tests the use O_DIRECT to cause lots of overlapping requests.

Signed-off-by: Neil Brown &lt;neilb@cse.unsw.edu.au&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] Remove blk_run_queues() remnants</title>
<updated>2004-05-19T09:36:55Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@osdl.org</email>
</author>
<published>2004-05-19T09:36:55Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=e229be85d8e1cb9d3e8e484aca316e210b77cf52'/>
<id>urn:sha1:e229be85d8e1cb9d3e8e484aca316e210b77cf52</id>
<content type='text'>
It no longer exists.
</content>
</entry>
<entry>
<title>[PATCH] md: Fix typo in comment</title>
<updated>2004-01-20T11:12:18Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@osdl.org</email>
</author>
<published>2004-01-20T11:12:18Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3e4cd40f447963607ee64d5725a3c0cb87e20788'/>
<id>urn:sha1:3e4cd40f447963607ee64d5725a3c0cb87e20788</id>
<content type='text'>
From: NeilBrown &lt;neilb@cse.unsw.edu.au&gt;

Thanks dann frazier &lt;dannf@hp.com&gt;
</content>
</entry>
</feed>
