Hi Linus,
This is the main pull request for block IO related changes for the 4.16
kernel. Nothing major in this pull request, but a good amount of
improvements and fixes all over the map. This pull request contains:
- BFQ improvements, fixes, and cleanups from Angelo, Chiara, and Paolo.
- Support for SMR zones for deadline and mq-deadline from Damien and
Christoph.
- Set of fixes for bcache by way of Michael Lyle, including fixes from
himself, Kent, Rui, Tang, and Coly.
- Series from Matias for lightnvm with fixes from Hans Holmberg, Javier,
and Matias. Mostly centered around pblk, and the removing rrpc 1.2 in
preparation for supporting 2.0.
- A couple of NVMe pull requests from Christoph. Nothing major in here,
just fixes and cleanups, and support for command tracing from
Johannes.
- Support for blk-throttle for tracking reads and writes separately.
From Joseph Qi. A few cleanups/fixes also for blk-throttle from
Weiping.
- Series from Mike Snitzer that enables dm to register its queue more
logically, something that's alwways been problematic on dm since it's
a stacked device.
- Series from Ming cleaning up some of the bio accessor use, in
preparation for supporting multipage bvecs.
- Various fixes from Ming closing up holes around queue mapping and
quiescing.
- BSD partition fix from Richard Narron, fixing a problem where we can't
mount newer (10/11) FreeBSD partitions.
- Series from Tejun reworking blk-mq timeout handling. The previous
scheme relied on atomic bits, but it had races where we would think a
request had timed out if it to reused at the wrong time.
- null_blk now supports faking timeouts, to enable us to better exercise
and test that functionality separately. From me.
- Kill the separate atomic poll bit in the request struct. After this,
we don't use the atomic bits on blk-mq anymore at all. From me.
- sgl_alloc/free helpers from Bart.
- Heavily contended tag case scalability improvement from me.
- Various little fixes and cleanups from Arnd, Bart, Corentin, Douglas,
Eryu, Goldwyn, and myself.
Note that you'll get a single merge conflict when pulling this in, due
to the change:
commit 4ccafe032005e9b96acbef2e389a4de5b1254add
Author: Jens Axboe
Date: Wed Dec 20 13:13:58 2017 -0700
block: unalign call_single_data in struct request
that went into your tree after I had forked off for-4.16/block. The
resolution is trivial, just ensure that the moved 'csd' struct member
retains the type of struct __call_single_data, not call_single_data_t.
Please pull!
git://git.kernel.dk/linux-block.git for-4.16/block
Angelo Ruocco (2):
block, bfq: check low_latency flag in bfq_bfqq_save_state()
block, bfq: remove superfluous check in queue-merging setup
Arnd Bergmann (3):
DAC960: split up ioctl function to reduce stack size
null_blk: remove explicit 'select FAULT_INJECTION'
blkcg: simplify statistic accumulation code
Bart Van Assche (20):
pktcdvd: Fix pkt_setup_dev() error path
pktcdvd: Fix a recently introduced NULL pointer dereference
lib/scatterlist: Introduce sgl_alloc() and sgl_free()
crypto: scompress - use sgl_alloc() and sgl_free()
nvmet/fc: Use sgl_alloc() and sgl_free()
nvmet/rdma: Use sgl_alloc() and sgl_free()
target: Use sgl_alloc_order() and sgl_free()
blk-mq: Fix spelling in a source code comment
block: Fix kernel-doc warnings reported when building with W=1
blk-mq: Explain when 'active_queues' is decremented
blk-mq: Add locking annotations to hctx_lock() and hctx_unlock()
blk-mq: Reduce the number of if-statements in blk_mq_mark_tag_wait()
block: Fix __bio_integrity_endio() documentation
block: Unexport elv_register_queue() and elv_unregister_queue()
block: Document scheduler modification locking requirements
block: Protect less code with sysfs_lock in blk_{un,}register_queue()
lib/scatterlist: Fix chaining support in sgl_alloc_order()
blk-mq: Rename blk_mq_request_direct_issue() into
blk_mq_request_issue_directly()
blk-mq: Avoid that blk_mq_delay_run_hw_queue() introduces unintended
delays
block: Remove kblockd_schedule_delayed_work{,_on}()
Chiara Bruschi (1):
block, bfq: fix occurrences of request finish method's old name
Christoph Hellwig (5):
block: introduce zoned block devices zone write locking
genirq/affinity: assign vectors to all possible CPUs
blk-mq: simplify queue mapping & schedule with each possisble CPU
nvme-pci: clean up CMB initialization
nvme-pci: clean up SMBSZ bit definitions
Coly Li (2):
bcache: reduce cache_set devices iteration by devices_max_used
bcache: fix misleading error message in bch_count_io_errors()
Corentin Labbe (1):
block: remove smart1,2.h
Damien Le Moal (4):
mq-deadline: Introduce dispatch