<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/block/badblocks.c, branch v4.11.3</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.11.3</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.11.3'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2016-10-21T21:45:47Z</updated>
<entry>
<title>badblocks: badblocks_set/clear update unacked_exist</title>
<updated>2016-10-21T21:45:47Z</updated>
<author>
<name>Shaohua Li</name>
<email>shli@fb.com</email>
</author>
<published>2016-10-20T21:40:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b4a1278c78bc939b3e29c3ad21ceaa636b0ca8c8'/>
<id>urn:sha1:b4a1278c78bc939b3e29c3ad21ceaa636b0ca8c8</id>
<content type='text'>
When bandblocks_set acknowledges a range or badblocks_clear a range,
it's possible all badblocks are acknowledged. We should update
unacked_exist if this occurs.

Signed-off-by: Shaohua Li &lt;shli@fb.com&gt;
Reviewed-by: Tomasz Majchrzak &lt;tomasz.majchrzak@intel.com&gt;
Tested-by: Tomasz Majchrzak &lt;tomasz.majchrzak@intel.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>badblocks: fix overlapping check for clearing</title>
<updated>2016-10-12T14:08:08Z</updated>
<author>
<name>Tomasz Majchrzak</name>
<email>tomasz.majchrzak@intel.com</email>
</author>
<published>2016-10-12T10:23:08Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1fa9ce8d0e903449842943a77e8ba100169964be'/>
<id>urn:sha1:1fa9ce8d0e903449842943a77e8ba100169964be</id>
<content type='text'>
Current bad block clear implementation assumes the range to clear
overlaps with at least one bad block already stored. If given range to
clear precedes first bad block in a list, the first entry is incorrectly
updated.

Check not only if stored block end is past clear block end but also if
stored block start is before clear block end.

Signed-off-by: Tomasz Majchrzak &lt;tomasz.majchrzak@intel.com&gt;
Acked-by: NeilBrown &lt;neilb@suse.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>block, badblocks: introduce devm_init_badblocks</title>
<updated>2016-01-09T16:39:04Z</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2016-01-05T07:50:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=16263ff6c72eb4cc00aa287230144dda12ccad12'/>
<id>urn:sha1:16263ff6c72eb4cc00aa287230144dda12ccad12</id>
<content type='text'>
Provide a devres interface for initializing a badblocks instance.  The
pmem driver has several scenarios where it will be beneficial to have
this structure automatically freed when the device is disabled / fails
probe.

Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>block: clarify badblocks lifetime</title>
<updated>2016-01-09T16:39:04Z</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2016-01-06T20:03:41Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=20a308f09e0d29ce6f5a4114cc476a998d569bfb'/>
<id>urn:sha1:20a308f09e0d29ce6f5a4114cc476a998d569bfb</id>
<content type='text'>
The badblocks list attached to a gendisk is allocated by the driver
which equates to the driver owning the lifetime of the object.  Do not
automatically free it in del_gendisk(). This is in preparation for
expanding the use of badblocks in libnvdimm drivers and introducing
devm_init_badblocks().

Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>badblocks: rename badblocks_free to badblocks_exit</title>
<updated>2016-01-09T16:39:04Z</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2016-01-06T20:19:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d3b407fb3f782bd915db64e266010ea30a2d381e'/>
<id>urn:sha1:d3b407fb3f782bd915db64e266010ea30a2d381e</id>
<content type='text'>
For symmetry with badblocks_init() make it clear that this path only
destroys incremental allocations of a badblocks instance, and does not
free the badblocks instance itself.

Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>badblocks: Add core badblock management code</title>
<updated>2016-01-09T14:35:12Z</updated>
<author>
<name>Vishal Verma</name>
<email>vishal.l.verma@intel.com</email>
</author>
<published>2015-12-25T02:20:32Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=9e0e252a048b0ba5066f0dc15c3b2468ffe5c422'/>
<id>urn:sha1:9e0e252a048b0ba5066f0dc15c3b2468ffe5c422</id>
<content type='text'>
Take the core badblocks implementation from md, and make it generally
available. This follows the same style as kernel implementations of
linked lists, rb-trees etc, where you can have a structure that can be
embedded anywhere, and accessor functions to manipulate the data.

The only changes in this copy of the code are ones to generalize
function/variable names from md-specific ones. Also add init and free
functions.

Signed-off-by: Vishal Verma &lt;vishal.l.verma@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
</feed>
