[GIT PULL] NVMe changes for 4.5-rc1

From: Jens Axboe
Date: Thu Jan 21 2016 - 16:27:47 EST


Hi Linus,

Last branch for this series is the nvme changes. It's in a separate
branch to avoid splitting too much between core and NVMe changes, since
NVMe is still helping drive some blk-mq changes. That said, not a huge
amount of core changes in here. The grunt of the work is the continued
split of the code.

Note that pulling this in will conflict with master, since the code was
forked off pretty early, and we had a good chunk of nvme fixes later in
the 4.4 cycle.

Please pull!


git://git.kernel.dk/linux-block.git for-4.5/nvme


----------------------------------------------------------------
Arnd Bergmann (1):
nvme: fix another 32-bit build warning

Christoph Hellwig (45):
nvme: move struct nvme_iod to pci.c
nvme: split command submission helpers out of pci.c
nvme: use offset instead of a struct for registers
nvme: split nvme_trans_device_id_page
nvme: use vendor it from identify
nvme: split a new struct nvme_ctrl out of struct nvme_dev
nvme: simplify nvme_setup_prps calling convention
nvme: refactor nvme_queue_rq
nvme: factor out a nvme_unmap_data helper
nvme: move nvme_error_status to common code
nvme: move nvme_setup_flush and nvme_setup_rw to common code
nvme: split __nvme_submit_sync_cmd
nvme: move block_device_operations and ns/ctrl freeing to common code
nvme: add explicit quirk handling
nvme: move remaining CC setup into nvme_enable_ctrl
nvme: move nvme_{enable,disable,shutdown}_ctrl to common code
nvme: add a common helper to read Identify Controller data
nvme: move the call to nvme_init_identify earlier
nvme: move namespace scanning to common code
nvme: move chardev and sysfs interface to common code
nvme: refactor set_queue_count
NVMe: fix build with CONFIG_NVM enabled
block: defer timeouts to a workqueue
nvme: only ignore hardware errors in nvme_create_io_queues
nvme: only add a controller to dev_list after it's been fully initialized
nvme: don't take the I/O queue q_lock in nvme_timeout
nvme: merge nvme_abort_req and nvme_timeout
nvme: add NVME_SC_CANCELLED
nvme: simplify resets
nvme: merge probe_work and reset_work
nvme: remove dead controllers from a work item
nvme: switch abort_limit to an atomic_t
nvme: fix admin queue depth
nvme: factor out a few helpers from req_completion
nvme: switch delete SQ/CQ to blk_execute_rq_nowait
nvme: switch abort to blk_execute_rq_nowait
nvme: special case AEN requests
nvme: simplify completion handling
nvme: properly free resources for cancelled command
nvme: meta_sg doesn't have to be an array
nvme: merge iod and cmd_info
block: remove REQ_NO_TIMEOUT flag
nvme: synchronize access to ctrl->namespaces
nvme: fixes for NVME_IOCTL_IO_CMD on the char device
nvme: make SG_IO support optional

Dan Carpenter (2):
blk-integrity: checking for NULL instead of IS_ERR
nvme: precedence bug in nvme_pr_clear()

Keith Busch (16):
nvme: use the block layer for userspace passthrough metadata
blk-integrity: empty implementation when disabled
nvme: protect against simultaneous shutdown invocations
nvme: do not restart the request timeout if we're resetting the controller
NVMe: Implement namespace list scanning
NVMe: Use unbounded work queue for all work
NVMe: Remove device management handles on remove
NVMe: Simplify metadata setup
NVMe: Add pci error handlers
NVMe: Export namespace attributes to sysfs
NVMe: Fix admin queue ring wrap
NVMe: Use a retryable error code on reset
NVMe: Remove queue freezing on resets
NVMe: IO queue deletion re-write
NVMe: Shutdown controller only for power-off
NVMe: Export NVMe attributes to sysfs group

Mike Frysinger (1):
uapi: update install list after nvme.h rename

Sagi Grimberg (1):
nvme: Move nvme_freeze/unfreeze_queues to nvme core

Sudip Mukherjee (1):
PCI/AER: include header file

block/bio-integrity.c | 13 +-
block/blk-core.c | 8 +
block/blk-mq.c | 13 +-
block/blk-timeout.c | 11 +-
block/blk.h | 2 +-
drivers/nvme/host/Kconfig | 11 +
drivers/nvme/host/Makefile | 3 +-
drivers/nvme/host/core.c | 1463 +++++++++++++++++++
drivers/nvme/host/lightnvm.c | 35 +-
drivers/nvme/host/nvme.h | 242 +++-
drivers/nvme/host/pci.c | 2706 ++++++++++-------------------------
drivers/nvme/host/scsi.c | 212 +--
drivers/target/target_core_iblock.c | 4 +-
include/linux/aer.h | 1 +
include/linux/bio.h | 32 +-
include/linux/blk_types.h | 2 -
include/linux/blkdev.h | 1 +
include/linux/nvme.h | 27 +-
include/uapi/linux/Kbuild | 2 +-
19 files changed, 2598 insertions(+), 2190 deletions(-)
create mode 100644 drivers/nvme/host/core.c


--
Jens Axboe