Skip to contentSkip to conversation

Block fixes for 4.5-final

GIT PULL Jens Axboe 1 participant 1 message Mar 4, 2016

lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

Hi Linus,

Round 2 of this. I cut back to the bare necessities, the patch is still larger than it usually would be at this time, due to the number of NVMe fixes in there. This pull request contains:

- The 4 core fixes from Ming, that fix both problems with exceeding the virtual boundary limit in case of merging, and the gap checking for cloned bio's.

- NVMe fixes from Keith and Christoph:

- Regression on larger user commands, causing problems with reading log pages (for instance). This touches both NVMe, and the block core since that is now generally utilized also for these types of commands.

- Hot removal fixes.

- User exploitable issue with passthrough IO commands, if !length is given, causing us to fault on writing to the zero page.

- Fix for a hang under error conditions

- And finally, the current series regression for umount with cgroup writeback, where the final flush would happen async and hence open up window after umount where the device wasn't consistent. fsck right after umount would show this. From Tejun.

Please pull this round, and we'll ensure that the load is distributed better going forward. Thanks.

git://git.kernel.dk/linux-block.git for-linus2

----------------------------------------------------------------
Christoph Hellwig (4):
nvme: set queue limits for the admin queue
nvme: fix max_segments integer truncation
block: fix blk_rq_get_max_sectors for driver private requests
block: support large requests in blk_rq_map_user_iov

Keith Busch (7):
NVMe: Don't unmap controller registers on reset
NVMe: Use IDA for namespace disk naming
NVMe: Fix namespace removal deadlock
NVMe: Simplify device reset failure
NVMe: Move error handling to failed reset handler
NVMe: Don't allow unsupported flags
NVMe: Fix 0-length integrity payload

Ming Lei (4):
block: bio: introduce helpers to get the 1st and last bvec
block: check virt boundary in bio_will_gap()
block: get the 1st and last bvec via helpers
block: merge: get the 1st and last bvec via helpers

Tejun Heo (1):
writeback: flush inode cgroup wb switches instead of pinning super_block

 block/blk-map.c           |  91 ++++++++++++++++++----------
 block/blk-merge.c         |   8 +--
 drivers/nvme/host/core.c  | 111 ++++++++++++++++++++++++----------
 drivers/nvme/host/nvme.h  |   8 +++
 drivers/nvme/host/pci.c   | 149 ++++++++++++++++++++++++++++------------------
 fs/fs-writeback.c         |  54 +++++++++++++----
 fs/super.c                |   1 +
 include/linux/bio.h       |  37 ++++++++++++
 include/linux/blkdev.h    |  25 +++++---
 include/linux/writeback.h |   5 ++
 10 files changed, 341 insertions(+), 148 deletions(-)
Signature · 1 line
Jens Axboe