<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/md/dm.c, branch linux-4.6.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-4.6.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-4.6.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2016-04-11T15:49:09+00:00</updated>
<entry>
<title>dm: fix dm_target_io leak if clone_bio() returns an error</title>
<updated>2016-04-11T15:49:09+00:00</updated>
<author>
<name>Mikulas Patocka</name>
<email>mpatocka@redhat.com</email>
</author>
<published>2016-04-09T16:48:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=072623de1f964c7ff01c46a9101af1c822fd2873'/>
<id>urn:sha1:072623de1f964c7ff01c46a9101af1c822fd2873</id>
<content type='text'>
Commit c80914e81ec5b08 ("dm: return error if bio_integrity_clone() fails
in clone_bio()") changed clone_bio() such that if it does return error
then the alloc_tio() created resources (both the bio that was allocated
to be a clone and the containing dm_target_io struct) will leak.

Fix this by calling free_tio() in __clone_and_map_data_bio()'s
clone_bio() error path.

Fixes: c80914e81ec5b08 ("dm: return error if bio_integrity_clone() fails in clone_bio()")
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm: fix rq_end_stats() NULL pointer in dm_requeue_original_request()</title>
<updated>2016-03-14T21:04:34+00:00</updated>
<author>
<name>Bryn M. Reeves</name>
<email>bmr@redhat.com</email>
</author>
<published>2016-03-14T21:04:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=98dbc9c6c61698792e3a66f32f3bf066201d42d7'/>
<id>urn:sha1:98dbc9c6c61698792e3a66f32f3bf066201d42d7</id>
<content type='text'>
An "old" (.request_fn) DM 'struct request' stores a pointer to the
associated 'struct dm_rq_target_io' in rq-&gt;special.

dm_requeue_original_request(), previously named
dm_requeue_unmapped_original_request(), called dm_unprep_request() to
reset rq-&gt;special to NULL.  But rq_end_stats() would go on to hit a NULL
pointer deference because its call to tio_from_request() returned NULL.

Fix this by calling rq_end_stats() _before_ dm_unprep_request()

Signed-off-by: Bryn M. Reeves &lt;bmr@redhat.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Fixes: e262f34741 ("dm stats: add support for request-based DM devices")
Cc: stable@vger.kernel.org # 4.2+
</content>
</entry>
<entry>
<title>dm: return error if bio_integrity_clone() fails in clone_bio()</title>
<updated>2016-03-10T22:12:10+00:00</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2016-03-02T17:33:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c80914e81ec5b08fec0bae531e3445268c8820f4'/>
<id>urn:sha1:c80914e81ec5b08fec0bae531e3445268c8820f4</id>
<content type='text'>
clone_bio() now checks if bio_integrity_clone() returned an error rather
than just drop it on the floor.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm: drop unnecessary assignment of md-&gt;queue</title>
<updated>2016-03-10T22:12:07+00:00</updated>
<author>
<name>Bob Liu</name>
<email>bob.liu@oracle.com</email>
</author>
<published>2016-02-24T08:15:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e233d800a9648f2c0802aa23250d9c8af57bab43'/>
<id>urn:sha1:e233d800a9648f2c0802aa23250d9c8af57bab43</id>
<content type='text'>
md-&gt;queue and q are the same thing in dm_old_init_request_queue() and
dm_mq_init_request_queue().

Also drop the temporary 'struct request_queue *q' in
dm_old_init_request_queue().

Signed-off-by: Bob Liu &lt;bob.liu@oracle.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm: reorder 'struct mapped_device' members to fix alignment and holes</title>
<updated>2016-03-10T22:12:07+00:00</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2016-02-22T20:27:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=032482fda4d19e0de10e0e99420a616c1e3e7820'/>
<id>urn:sha1:032482fda4d19e0de10e0e99420a616c1e3e7820</id>
<content type='text'>
Saves 16 bytes by eliminating 4 4byte holes but more importantly:
numerous members that crossed cachelines were fixed.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm: remove dummy definition of 'struct dm_table'</title>
<updated>2016-03-10T22:12:06+00:00</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2016-02-22T19:14:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1d3aa6f683b1c1a813a63339d7309cff58ba4531'/>
<id>urn:sha1:1d3aa6f683b1c1a813a63339d7309cff58ba4531</id>
<content type='text'>
Change the map pointer in 'struct mapped_device' from 'struct dm_table
__rcu *' to 'void __rcu *' to avoid the need for the dummy definition.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm: add 'dm_numa_node' module parameter</title>
<updated>2016-03-10T22:12:06+00:00</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2016-02-22T17:16:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=115485e83f497fdf9b4bf779038cfe4e141292a9'/>
<id>urn:sha1:115485e83f497fdf9b4bf779038cfe4e141292a9</id>
<content type='text'>
Allows user to control which NUMA node the memory for DM device
structures (e.g. mapped_device, request_queue, gendisk, blk_mq_tag_set)
is allocated from.

Defaults to NUMA_NO_NODE (-1).  Allowable range is from -1 until the
last online NUMA node id.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm: allow immutable request-based targets to use blk-mq pdu</title>
<updated>2016-02-23T03:34:37+00:00</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2016-01-31T17:05:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=591ddcfc4bfad28e096787b1159942124d49cd1e'/>
<id>urn:sha1:591ddcfc4bfad28e096787b1159942124d49cd1e</id>
<content type='text'>
This will allow DM multipath to use a portion of the blk-mq pdu space
for target data (e.g. struct dm_mpath_io).

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm: rename target's per_bio_data_size to per_io_data_size</title>
<updated>2016-02-23T03:34:37+00:00</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2016-01-31T18:28:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=30187e1d48a258e304af184c45c3140c8509d219'/>
<id>urn:sha1:30187e1d48a258e304af184c45c3140c8509d219</id>
<content type='text'>
Request-based DM will also make use of per_bio_data_size.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm: distinquish old .request_fn (dm-old) vs dm-mq request-based DM</title>
<updated>2016-02-23T03:34:33+00:00</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2016-02-20T18:45:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=eca7ee6dc01b21c669bce8c39d3d368509fb65e8'/>
<id>urn:sha1:eca7ee6dc01b21c669bce8c39d3d368509fb65e8</id>
<content type='text'>
Rename various methods to have either a "dm_old" or "dm_mq" prefix.
Improve code comments to assist with understanding the duality of code
that handles both "dm_old" and "dm_mq" cases.

It is no much easier to quickly look at the code and _know_ that a given
method is either 1) "dm_old" only 2) "dm_mq" only 3) common to both.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
</feed>
