Hi Linus, This is the pull request for the core block IO changes for 3.19. Not a huge round this time, mostly lots of little good fixes. The pull request contains:
- Fix a bug in sysfs blktrace interface causing a NULL pointer dereference, when enabled/disabled through that API. From Arianna Avanzini. - Various updates/fixes/improvements for blk-mq: - A set of updates from Bart, mostly fixing buts in the tag handling. - Cleanup/code consolidation from Christoph. - Extend queue_rq API to be able to handle batching issues of IO requests. NVMe will utilize this shortly. From me. - A few tag and request handling updates from me. - Cleanup of the preempt handling for running queues from Paolo. - Prevent running of unmapped hardware queues from Ming Lei. - Move the kdump memory limiting check to be in the correct location, from Shaohua. - Initialize all software queues at init time from Takashi. This prevents a kobject warning when CPUs are brought online that weren't online when a queue was registered. - Single writeback fix for I_DIRTY clearing from Tejun. Queued with the core IO changes, since it's just a single fix. - Version X of the __bio_add_page() segment addition retry from Maurizio. Hope the Xth time is the charm. - Documentation fixup for IO scheduler merging from Jan. - Introduce (and use) generic IO stat accounting helpers for non-rq drivers, from Gu Zheng. - Kill off artificial limiting of max sectors in a request from Christoph. Please pull! git://git.kernel.dk/linux-block.git for-3.19/core ---------------------------------------------------------------- Arianna Avanzini (1): blktrace: don't let the sysfs interface remove trace from running list Bart Van Assche (6): blk-mq: fix hang in bt_get() blk-mq: Fix a use-after-free blk-mq: Avoid that __bt_get_word() wraps multiple times blk-mq: Fix a race between bt_clear_tag() and bt_get() blk-mq: Micro-optimize bt_get() blk-mq: Use all available hardware queues Christoph Hellwig (2): block: remove artifical max_hw_sectors cap blk-mq: handle the single queue case in blk_mq_hctx_next_cpu Gu Zheng (1): blk: introduce generic io stat accounting help function Jan Kara (1): block: Expand a bit documentation about elevator_allow_merge_fn Jens Axboe (8): blk-mq: add a 'list' parameter to ->queue_rq() blk-mq: add BLK_MQ_F_DEFER_ISSUE support flag blk-mq: export blk_mq_free_request() blk-mq: add blk_mq_free_hctx_request() genhd: check for int overflow in disk_expand_part_tbl() blk-mq: use 'nr_cpu_ids' as highest CPU ID count for hwq <-> cpu map blk-mq: cleanup tag free handling blk-mq: re-check for available tags after running the hardware queue Maurizio Lombardi (1): bio: modify __bio_add_page() to accept pages that don't start a new segment Ming Lei (1): blk-mq: prevent unmapped hw queue from being scheduled Paolo Bonzini (2): blk_mq: call preempt_disable/enable in blk_mq_run_hw_queue, and only if needed blk-mq: use get_cpu/put_cpu instead of preempt_disable/preempt_enable Shaohua Li (1): blk-mq: move the kdump check to blk_mq_alloc_tag_set Takashi Iwai (1): blk-mq: Fix uninitialized kobject at CPU hotplugging Tejun Heo (1): writeback: fix a subtle race condition in I_DIRTY clearing Documentation/block/biodoc.txt | 6 +- block/bio.c | 82 +++++++++++++++++-------- block/blk-core.c | 3 + block/blk-mq-cpumap.c | 4 +- block/blk-mq-sysfs.c | 9 ++- block/blk-mq-tag.c | 60 +++++++++--------- block/blk-mq.c | 126 ++++++++++++++++++++++++-------------- block/blk-mq.h | 5 ++ block/blk-settings.c | 4 +- block/blk-sysfs.c | 12 ++-- block/genhd.c | 11 +++- drivers/block/aoe/aoeblk.c | 2 +- drivers/block/mtip32xx/mtip32xx.c | 5 +- drivers/block/null_blk.c | 10 +-- drivers/block/virtio_blk.c | 7 ++- drivers/scsi/scsi_lib.c | 5 +- fs/fs-writeback.c | 29 ++++++--- include/linux/bio.h | 5 ++ include/linux/blk-mq.h | 10 ++- include/linux/blkdev.h | 1 - kernel/trace/blktrace.c | 3 - 21 files changed, 254 insertions(+), 145 deletions(-) -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/