<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/block/null_blk.c, branch v4.1</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.1</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.1'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-01-16T23:02:24Z</updated>
<entry>
<title>null_blk: suppress invalid partition info</title>
<updated>2015-01-16T23:02:24Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2015-01-16T23:02:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=227290b4690510148d1f40f277c6c3a181fcb440'/>
<id>urn:sha1:227290b4690510148d1f40f277c6c3a181fcb440</id>
<content type='text'>
null_blk is partitionable, but it doesn't store any of the info. When
it is loaded, you would normally see:

[1226739.343608]  nullb0: unknown partition table
[1226739.343746]  nullb1: unknown partition table

which can confuse some people. Add the appropriate gendisk flag
to suppress this info.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>block: fix checking return value of blk_mq_init_queue</title>
<updated>2015-01-02T17:32:02Z</updated>
<author>
<name>Ming Lei</name>
<email>ming.lei@canonical.com</email>
</author>
<published>2015-01-02T14:25:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=35b489d32fcc37e8735f41aa794b24cf9d1e74f5'/>
<id>urn:sha1:35b489d32fcc37e8735f41aa794b24cf9d1e74f5</id>
<content type='text'>
Check IS_ERR_OR_NULL(return value) instead of just return value.

Signed-off-by: Ming Lei &lt;ming.lei@canonical.com&gt;

Reduced to IS_ERR() by me, we never return NULL.
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>null_blk: boundary check queue_mode and irqmode</title>
<updated>2014-11-26T21:45:48Z</updated>
<author>
<name>Matias Bjorling</name>
<email>m@bjorling.me</email>
</author>
<published>2014-11-26T21:45:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=709c8667ada1fa26ac941bb875892afc0046b3e2'/>
<id>urn:sha1:709c8667ada1fa26ac941bb875892afc0046b3e2</id>
<content type='text'>
When either queue_mode or irq_mode parameter is set outside its
boundaries, the driver will not complete requests. This stalls driver
initialization when partitions are probed. Fix by setting out of bound
values to the parameters default.

Signed-off-by: Matias Bjørling &lt;m@bjorling.me&gt;

Updated by me to have the parse+check in just one function.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' into for-3.19/drivers</title>
<updated>2014-11-19T02:43:46Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2014-11-19T02:43:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b3521729769ec71567a2e32a38609f87e781e41b'/>
<id>urn:sha1:b3521729769ec71567a2e32a38609f87e781e41b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>blk-mq: add a 'list' parameter to -&gt;queue_rq()</title>
<updated>2014-10-29T17:14:52Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2014-10-29T17:14:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=74c450521dd8d245b982da62592a18aa6f88b045'/>
<id>urn:sha1:74c450521dd8d245b982da62592a18aa6f88b045</id>
<content type='text'>
Since we have the notion of a 'last' request in a chain, we can use
this to have the hardware optimize the issuing of requests. Add
a list_head parameter to queue_rq that the driver can use to
temporarily store hw commands for issue when 'last' is true. If we
are doing a chain of requests, pass in a NULL list for the first
request to force issue of that immediately, then batch the remainder
for deferred issue until the last request has been sent.

Instead of adding yet another argument to the hot -&gt;queue_rq path,
encapsulate the passed arguments in a blk_mq_queue_data structure.
This is passed as a constant, and has been tested as faster than
passing 4 (or even 3) args through -&gt;queue_rq. Update drivers for
the new -&gt;queue_rq() prototype. There are no functional changes
in this patch for drivers - if they don't use the passed in list,
then they will just queue requests individually like before.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>null_blk: Cleanup error recovery in null_add_dev()</title>
<updated>2014-10-22T13:59:25Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2014-10-22T13:34:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=31f9690e6eaf549f3e643f6a8f7dab84fd31997a'/>
<id>urn:sha1:31f9690e6eaf549f3e643f6a8f7dab84fd31997a</id>
<content type='text'>
When creation of queues fails in init_driver_queues(), we free the
queues. But null_add_dev() doesn't test for this failure and continues
with the setup leading to strange consequences, likely oops. Fix the
problem by testing whether init_driver_queues() failed and do proper
error cleanup.

Coverity-id: 1148005
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-3.18/drivers' of git://git.kernel.dk/linux-block</title>
<updated>2014-10-18T19:12:45Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-10-18T19:12:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e75437fb9322cf0ac707046a12d78a25f9d52ccf'/>
<id>urn:sha1:e75437fb9322cf0ac707046a12d78a25f9d52ccf</id>
<content type='text'>
Pull block layer driver update from Jens Axboe:
 "This is the block driver pull request for 3.18.  Not a lot in there
  this round, and nothing earth shattering.

   - A round of drbd fixes from the linbit team, and an improvement in
     asender performance.

   - Removal of deprecated (and unused) IRQF_DISABLED flag in rsxx and
     hd from Michael Opdenacker.

   - Disable entropy collection from flash devices by default, from Mike
     Snitzer.

   - A small collection of xen blkfront/back fixes from Roger Pau Monné
     and Vitaly Kuznetsov"

* 'for-3.18/drivers' of git://git.kernel.dk/linux-block:
  block: disable entropy contributions for nonrot devices
  xen, blkfront: factor out flush-related checks from do_blkif_request()
  xen-blkback: fix leak on grant map error path
  xen/blkback: unmap all persistent grants when frontend gets disconnected
  rsxx: Remove deprecated IRQF_DISABLED
  block: hd: remove deprecated IRQF_DISABLED
  drbd: use RB_DECLARE_CALLBACKS() to define augment callbacks
  drbd: compute the end before rb_insert_augmented()
  drbd: Add missing newline in resync progress display in /proc/drbd
  drbd: reduce lock contention in drbd_worker
  drbd: Improve asender performance
  drbd: Get rid of the WORK_PENDING macro
  drbd: Get rid of the __no_warn and __cond_lock macros
  drbd: Avoid inconsistent locking warning
  drbd: Remove superfluous newline from "resync_extents" debugfs entry.
  drbd: Use consistent names for all the bi_end_io callbacks
  drbd: Use better variable names
</content>
</entry>
<entry>
<title>block: disable entropy contributions for nonrot devices</title>
<updated>2014-10-04T16:55:32Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2014-10-04T16:55:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b277da0a8a594308e17881f4926879bd5fca2a2d'/>
<id>urn:sha1:b277da0a8a594308e17881f4926879bd5fca2a2d</id>
<content type='text'>
Clear QUEUE_FLAG_ADD_RANDOM in all block drivers that set
QUEUE_FLAG_NONROT.

Historically, all block devices have automatically made entropy
contributions.  But as previously stated in commit e2e1a148 ("block: add
sysfs knob for turning off disk entropy contributions"):
    - On SSD disks, the completion times aren't as random as they
      are for rotational drives. So it's questionable whether they
      should contribute to the random pool in the first place.
    - Calling add_disk_randomness() has a lot of overhead.

There are more reliable sources for randomness than non-rotational block
devices.  From a security perspective it is better to err on the side of
caution than to allow entropy contributions from unreliable "random"
sources.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>blk-mq: rename blk_mq_end_io to blk_mq_end_request</title>
<updated>2014-09-22T18:00:07Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-09-13T23:40:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c8a446ad695ada43a885ec12b38411dbd190a11b'/>
<id>urn:sha1:c8a446ad695ada43a885ec12b38411dbd190a11b</id>
<content type='text'>
Now that we've changed the driver API on the submission side use the
opportunity to fix up the name on the completion side to fit into the
general scheme.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>blk-mq: call blk_mq_start_request from -&gt;queue_rq</title>
<updated>2014-09-22T18:00:07Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-09-13T23:40:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e2490073cd7c3d6f6ef6e029a208edd4d38efac4'/>
<id>urn:sha1:e2490073cd7c3d6f6ef6e029a208edd4d38efac4</id>
<content type='text'>
When we call blk_mq_start_request from the core blk-mq code before calling into
-&gt;queue_rq there is a racy window where the timeout handler can hit before we've
fully set up the driver specific part of the command.

Move the call to blk_mq_start_request into the driver so the driver can start
the request only once it is fully set up.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
</feed>
