<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/md/md.c, branch linux-2.6.25.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.25.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.25.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-07-24T16:14:02Z</updated>
<entry>
<title>md: Fix error paths if md_probe fails.</title>
<updated>2008-07-24T16:14:02Z</updated>
<author>
<name>Neil Brown</name>
</author>
<published>2008-07-03T02:45:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=583fe2db21978453aa522f56320f15b2de0d9d88'/>
<id>urn:sha1:583fe2db21978453aa522f56320f15b2de0d9d88</id>
<content type='text'>
commit 9bbbca3a0ee09293108b67835c6bdf6196d7bcb3 upstream

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: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>md: fix uninitialized use of mddev-&gt;recovery_wait</title>
<updated>2008-06-09T18:27:05Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2008-06-06T18:43:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=16936480e23dcb50b7b9d76f61288876fcbd65f1'/>
<id>urn:sha1:16936480e23dcb50b7b9d76f61288876fcbd65f1</id>
<content type='text'>
upstream commit: a6d8113a986c66aeb379a26b6e0062488b3e59e1

If an array was created with --assume-clean we will oops when trying to
set -&gt;resync_max.

Fix this by initializing -&gt;recovery_wait in mddev_find.

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;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>md: fix use after free when removing rdev via sysfs</title>
<updated>2008-05-10T04:40:43Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2008-04-30T18:55:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9bd2c7ca75b0ebe05b0c67852d050720119983e7'/>
<id>urn:sha1:9bd2c7ca75b0ebe05b0c67852d050720119983e7</id>
<content type='text'>
commit: 6a51830e14529063cb2685921e1177d9af50e49a upstream

rdev-&gt;mddev is no longer valid upon return from entry-&gt;store() when the
'remove' command is given.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>md: remove the 'super' sysfs attribute from devices in an 'md' array</title>
<updated>2008-03-20T01:53:35Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2008-03-20T00:00:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0e82989d95cc46cc58622381eafa54f7428ee679'/>
<id>urn:sha1:0e82989d95cc46cc58622381eafa54f7428ee679</id>
<content type='text'>
Exposing the binary blob which is the md 'super-block' via sysfs doesn't
really fit with the whole sysfs model, and ever since commit
8118a859dc7abd873193986c77a8d9bdb877adc8 ("sysfs: fix off-by-one error
in fill_read_buffer()") it doesn't actually work at all (as the size of
the blob is often one page).

(akpm: as in, fs/sysfs/file.c:fill_read_buffer() goes BUG)

So just remove it altogether.  It isn't really useful.

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>
<entry>
<title>md: fix formatting error in /proc/mdstat</title>
<updated>2008-03-11T01:01:19Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2008-03-10T18:43:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=52720ae77d392d3f4c12281c37304edbc8cb51f1'/>
<id>urn:sha1:52720ae77d392d3f4c12281c37304edbc8cb51f1</id>
<content type='text'>
If an md array is "auto-read-only", then this appears in /proc/mdstat as

   /dev/md0: active(auto-read-only)

whereas if it is truely readonly, it appears as

   /dev/md0: active (read-only)

The difference being a space.

One program known to parse this file expects the space and gets badly
confused.  It will be fixed, but it would be best if what the kernel generates
is more consistent too.

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>
<entry>
<title>md: lock access to rdev attributes properly</title>
<updated>2008-03-05T00:35:18Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2008-03-04T22:29:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=27c529bb8e906d5d692152bc127cc09477d3629e'/>
<id>urn:sha1:27c529bb8e906d5d692152bc127cc09477d3629e</id>
<content type='text'>
When we access attributes of an rdev (component device on an md array) through
sysfs, we really need to lock the array against concurrent changes.  We
currently do that when we change an attribute, but not when we read an
attribute.  We need to lock when reading as well else rdev-&gt;mddev could become
NULL while we are accessing it.

So add appropriate locking (mddev_lock) to rdev_attr_show.

rdev_size_store requires some extra care as well as it needs to unlock the
mddev while scanning other mddevs for overlapping regions.  We currently
assume that rdev-&gt;mddev will still be unchanged after the scan, but that
cannot be certain.  So take a copy of rdev-&gt;mddev for use at the end of the
function.

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>
<entry>
<title>md: make sure a reshape is started when device switches to read-write</title>
<updated>2008-03-05T00:35:18Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2008-03-04T22:29:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25156198235325805cd7295ed694509fd6e3a29e'/>
<id>urn:sha1:25156198235325805cd7295ed694509fd6e3a29e</id>
<content type='text'>
A resync/reshape/recovery thread will refuse to progress when the array is
marked read-only.  So whenever it mark it not read-only, it is important to
wake up thread resync thread.  There is one place we didn't do this.

The problem manifests if the start_ro module parameters is set, and a raid5
array that is in the middle of a reshape (restripe) is started.  The array
will initially be semi-read-only (meaning it acts like it is readonly until
the first write).  So the reshape will not proceed.

On the first write, the array will become read-write, but the reshape will not
be started, and there is no event which will ever restart that thread.

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>
<entry>
<title>md: clean up irregularity with raid autodetect</title>
<updated>2008-03-05T00:35:18Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2008-03-04T22:29:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d0fae18f1b53a1d39135a968792be034bdf7ff26'/>
<id>urn:sha1:d0fae18f1b53a1d39135a968792be034bdf7ff26</id>
<content type='text'>
When a raid1 array is stopped, all components currently get added to the list
for auto-detection.  However we should really only add components that were
found by autodetection in the first place.  So add a flag to record that
information, and use it.

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>
<entry>
<title>md: guard against possible bad array geometry in v1 metadata</title>
<updated>2008-03-05T00:35:17Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2008-03-04T22:29:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a1801f858e57f87a7f79914346921cc729632295'/>
<id>urn:sha1:a1801f858e57f87a7f79914346921cc729632295</id>
<content type='text'>
Make sure the data doesn't start before the end of the superblock when the
superblock is at the start of the device.

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>
<entry>
<title>d_path: Make seq_path() use a struct path argument</title>
<updated>2008-02-15T05:17:08Z</updated>
<author>
<name>Jan Blunck</name>
</author>
<published>2008-02-15T03:38:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c32c2f63a9d6c953aaf168c0b2551da9734f76d2'/>
<id>urn:sha1:c32c2f63a9d6c953aaf168c0b2551da9734f76d2</id>
<content type='text'>
seq_path() is always called with a dentry and a vfsmount from a struct path.
Make seq_path() take it directly as an argument.

Signed-off-by: Jan Blunck &lt;jblunck@suse.de&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: "J. Bruce Fields" &lt;bfields@fieldses.org&gt;
Cc: 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>
