<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/md/raid5-cache.c, branch v4.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2016-01-14T00:49:43Z</updated>
<entry>
<title>raid5-cache: handle journal hotadd in quiesce</title>
<updated>2016-01-14T00:49:43Z</updated>
<author>
<name>Shaohua Li</name>
<email>shli@fb.com</email>
</author>
<published>2016-01-06T22:37:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=16a43f6a65002ba9a5b063764b4ad5d288a1c15e'/>
<id>urn:sha1:16a43f6a65002ba9a5b063764b4ad5d288a1c15e</id>
<content type='text'>
Handle journal hotadd in quiesce to avoid creating duplicated threads.

Signed-off-by: Shaohua Li &lt;shli@fb.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
</content>
</entry>
<entry>
<title>md: set MD_HAS_JOURNAL in correct places</title>
<updated>2016-01-14T00:49:43Z</updated>
<author>
<name>Shaohua Li</name>
<email>shli@fb.com</email>
</author>
<published>2016-01-06T22:37:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a62ab49eb502a07814f9942770893118c6281223'/>
<id>urn:sha1:a62ab49eb502a07814f9942770893118c6281223</id>
<content type='text'>
Set MD_HAS_JOURNAL when a array is loaded or journal is initialized.
This is to avoid the flags set too early in journal disk hotadd.

Signed-off-by: Shaohua Li &lt;shli@fb.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
</content>
</entry>
<entry>
<title>raid5: allow r5l_io_unit allocations to fail</title>
<updated>2016-01-06T00:40:12Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2015-12-20T23:51:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5036c3902054358ee293b8cecfea13342d8019e8'/>
<id>urn:sha1:5036c3902054358ee293b8cecfea13342d8019e8</id>
<content type='text'>
And propagate the error up the stack so we can add the stripe
to no_stripes_list and retry our log operation later.  This avoids
blocking raid5d due to reclaim, an it allows to get rid of the
deadlock-prone GFP_NOFAIL allocation.

shli: add missing mempool_destroy()

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
</content>
</entry>
<entry>
<title>raid5-cache: use a mempool for the metadata block</title>
<updated>2016-01-06T00:40:08Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2015-12-20T23:51:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e8deb6381051bf3ce9d817020e8ba972b405a070'/>
<id>urn:sha1:e8deb6381051bf3ce9d817020e8ba972b405a070</id>
<content type='text'>
We only have a limited number in flight, so use a page based mempool.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
</content>
</entry>
<entry>
<title>raid5-cache: use a bio_set</title>
<updated>2016-01-06T00:40:04Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2015-12-20T23:51:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c38d29b33bb3b3c792f3cca8a973422bb1897ebf'/>
<id>urn:sha1:c38d29b33bb3b3c792f3cca8a973422bb1897ebf</id>
<content type='text'>
This allows us to make guaranteed forward progress.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
</content>
</entry>
<entry>
<title>raid5-cache: add journal hot add/remove support</title>
<updated>2016-01-06T00:39:57Z</updated>
<author>
<name>Shaohua Li</name>
<email>shli@fb.com</email>
</author>
<published>2015-12-20T23:51:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f6b6ec5cfac306c1eea66f074050864efcb11851'/>
<id>urn:sha1:f6b6ec5cfac306c1eea66f074050864efcb11851</id>
<content type='text'>
Add support for journal disk hot add/remove. Mostly trival checks in md
part. The raid5 part is a little tricky. For hot-remove, we can't wait
pending write as it's called from raid5d. The wait will cause deadlock.
We simplily fail the hot-remove. A hot-remove retry can success
eventually since if journal disk is faulty all pending write will be
failed and finish. For hot-add, since an array supporting journal but
without journal disk will be marked read-only, we are safe to hot add
journal without stopping IO (should be read IO, while journal only
handles write IO).

Signed-off-by: Shaohua Li &lt;shli@fb.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
</content>
</entry>
<entry>
<title>raid5-cache: free meta_page earlier</title>
<updated>2016-01-06T00:39:43Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2015-12-20T23:51:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ad66d445ee5a5f548142b880e1642c711fbcacd1'/>
<id>urn:sha1:ad66d445ee5a5f548142b880e1642c711fbcacd1</id>
<content type='text'>
Once the I/O completed we don't need the meta page anymore.  As the iounits
can live on for a long time this reduces memory pressure a bit.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Shaohua Li &lt;shli@fb.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
</content>
</entry>
<entry>
<title>raid5-cache: simplify r5l_move_io_unit_list</title>
<updated>2016-01-06T00:39:34Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2015-12-20T23:51:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3848c0bcb09c7b78e6f4ae9f8fc8d6d9aecbd35a'/>
<id>urn:sha1:3848c0bcb09c7b78e6f4ae9f8fc8d6d9aecbd35a</id>
<content type='text'>
It's only used for one kind of move, so make that explicit.  Also clean
up the code a bit by using list_for_each_safe.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Shaohua Li &lt;shli@fb.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
</content>
</entry>
<entry>
<title>raid5-cache: start raid5 readonly if journal is missing</title>
<updated>2015-11-01T02:48:29Z</updated>
<author>
<name>Shaohua Li</name>
<email>shli@fb.com</email>
</author>
<published>2015-10-09T04:54:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7dde2ad3c5b4afb4b2544b864fa34dd1f4897ab6'/>
<id>urn:sha1:7dde2ad3c5b4afb4b2544b864fa34dd1f4897ab6</id>
<content type='text'>
If raid array is expected to have journal (eg, journal is set in MD
superblock feature map) and the array is started without journal disk,
start the array readonly.

Signed-off-by: Shaohua Li &lt;shli@fb.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
</content>
</entry>
<entry>
<title>raid5-cache: IO error handling</title>
<updated>2015-11-01T02:48:29Z</updated>
<author>
<name>Shaohua Li</name>
<email>shli@fb.com</email>
</author>
<published>2015-10-09T04:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6e74a9cfb5a55b0a4214809321b67d7065e55555'/>
<id>urn:sha1:6e74a9cfb5a55b0a4214809321b67d7065e55555</id>
<content type='text'>
There are 3 places the raid5-cache dispatches IO. The discard IO error
doesn't matter, so we ignore it. The superblock write IO error can be
handled in MD core. The remaining are log write and flush. When the IO
error happens, we mark log disk faulty and fail all write IO. Read IO is
still allowed to run. Userspace will get a notification too and
corresponding daemon can choose setting raid array readonly for example.

Signed-off-by: Shaohua Li &lt;shli@fb.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
</content>
</entry>
</feed>
