Hi Linus, Followup fixes for this merge window. This pull request contains: - Series from Ming, fixing corner cases in our CPU <-> queue mapping. This triggered repeated warnings on especially s390, but I also hit it in cpu hot plug/unplug testing while doing IO on NVMe on x86-64. - Another fix from Ming, ensuring that we always order budget and driver tag identically, avoiding a deadlock on QD=1 devices. - Loop locking regression fix from this merge window, from Omar. - Another loop locking fix, this time missing an unlock, from Tetsuo Handa. - Fix for racing IO submission with device removal from Bart. - sr reference fix from me, fixing a case where disk change or getevents can race with device removal. - Set of nvme fixes by way of Keith, from various contributors. Please pull! git://git.kernel.dk/linux-block.git tags/for-linus-20180413 ---------------------------------------------------------------- Arnd Bergmann (1): nvme: target: fix buffer overflow Bart Van Assche (1): blk-mq: Avoid that submitting a bio concurrently with device removal triggers a crash Daniel Verkamp (1): nvmet: fix space padding in serial number James Smart (1): nvme: expand nvmf_check_if_ready checks Jens Axboe (1): sr: get/drop reference to device in revalidate and check_events Johannes Thumshirn (2): nvme: unexport nvme_start_keep_alive nvme: don't send keep-alives to the discovery controller Keith Busch (4): nvme-pci: Skip queue deletion if there are no queues nvme-pci: Remove unused queue parameter nvme-pci: Separate IO and admin queue IRQ vectors nvme: Use admin command effects for admin commands Mathieu Malaterre (1): backing: silence compiler warning using __printf Matias Bjørling (1): nvme: enforce 64bit offset for nvme_get_log_ext fn Max Gurtovoy (1): nvme: check return value of init_srcu_struct function Ming Lei (11): blk-mq: order getting budget and driver tag blk-mq: make sure that correct hctx->next_cpu is set blk-mq: don't keep offline CPUs mapped to hctx 0 blk-mq: avoid to write intermediate result to hctx->next_cpu blk-mq: introduce blk_mq_hw_queue_first_cpu() to figure out first cpu blk-mq: remove blk_mq_delay_queue() blk-mq: don't check queue mapped in __blk_mq_delay_run_hw_queue() blk-mq: reimplement blk_mq_hw_queue_mapped blk-mq: remove code for dealing with remapping queue blk-mq: Revert "blk-mq: reimplement blk_mq_hw_queue_mapped" nvme-loop: fix kernel oops in case of unhandled command Omar Sandoval (1): loop: fix LOOP_GET_STATUS lock imbalance Rodrigo R. Galvao (1): nvmet: Fix nvmet_execute_write_zeroes sector count Tetsuo Handa (1): block/loop: fix deadlock after loop_set_status block/blk-core.c | 35 ++++++++++-- block/blk-mq-cpumap.c | 5 -- block/blk-mq-debugfs.c | 1 - block/blk-mq.c | 122 +++++++++++----------------------------- drivers/block/loop.c | 45 ++++++++------- drivers/nvme/host/core.c | 33 +++++++---- drivers/nvme/host/fabrics.c | 83 ++++++++++++++++++++++++++- drivers/nvme/host/fabrics.h | 33 +---------- drivers/nvme/host/fc.c | 12 +--- drivers/nvme/host/nvme.h | 4 +- drivers/nvme/host/pci.c | 35 +++++++----- drivers/nvme/host/rdma.c | 14 +---- drivers/nvme/target/admin-cmd.c | 1 + drivers/nvme/target/discovery.c | 2 +- drivers/nvme/target/io-cmd.c | 4 +- drivers/nvme/target/loop.c | 20 ++----- drivers/scsi/sr.c | 19 +++++-- include/linux/backing-dev.h | 1 + include/linux/blk-mq.h | 2 - 19 files changed, 245 insertions(+), 226 deletions(-) -- Jens Axboe