From: Jens Axboe <axboe@fb.com>
To: <torvalds@linuxfoundation.org>
Cc: <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] Block driver changes for 4.7-rc1
Date: Tue, 17 May 2016 09:35:19 -0600 [thread overview]
Message-ID: <20160517153519.GB31584@kernel.dk> (raw)
Hi Linus,
On top of the core pull request, this is the drivers pull request for
this merge window. This pull request contains:
- Switching drivers to the new write back cache API, and killing off the
flush flags. From me.
- Kill the discard support for the STEC pci-e flash driver. It's
trivially broken, and apparently unmaintained, so it's safer to just
remove it. From Jeff Moyer.
- A set of lightnvm updates from the usual suspects (Matias/Javier, and
Simon), and fixes from Arnd, Jeff Mahoney, Sagi, and Wenwei Tao.
- A set of updates for NVMe:
- Turn the controller state management into a proper state
machine. From Christoph. This ends up throwing a merge
conflict with a stable fix that went in later in the series,
see below for how to resolve.
- Shuffling of code in preparation for NVMe-over-fabrics, also
from Christoph.
- Cleanup of the command prep part from Ming Lin.
- Rewrite of the discard support from Ming Lin.
- Deadlock fix for namespace removal from Ming Lin.
- Use the now exported blk-mq tag helper for IO termination.
From Sagi.
- Various little fixes from Christoph, Guilherme, Keith, Ming
Lin, Wang Sheng-Hui.
- Convert mtip32xx to use the now exported blk-mq tag iter function,
from Keith.
As mentioned, there will be two small conflicts in nvme, due to a
removal fix that was sent in through for-linus later in the cycle. One
hunk is trivial to resolve (remove the test/set_bit, just call the state
change function), for the other see below, I've attached my resolution.
It's not hard either.
Please pull!
git://git.kernel.dk/linux-block.git for-4.7/drivers
----------------------------------------------------------------
Arnd Bergmann (1):
lightnvm: pass dma address to hardware rather than pointer
Christoph Hellwig (6):
nvme: fix cntlid type
nvme: remove the io_incapable method
nvme: introduce a controller state machine
nvme: tighten up state check for namespace scanning
nvme: move namespace scanning to core
nvme: move AER handling to common code
Guilherme G. Piccoli (1):
nvme: Avoid reset work on watchdog timer function during error recovery
Javier González (6):
lightnvm: do not free unused metadata on rrpc
lightnvm: enable metadata to be sent to device
lightnvm: rename dma helper functions
lightnvm: do not assume sequential lun alloc.
lightnvm: rename nr_pages to nr_ppas on nvm_rq
lightnvm: reserved space calculation incorrect
Jeff Mahoney (1):
lightnvm: fix "warning: ‘ret’ may be used uninitialized"
Jeff Moyer (1):
skd: remove broken discard support
Jens Axboe (22):
Merge branch 'for-4.7/core' into for-4.7/drivers
sd: switch to using blk_queue_write_cache()
NVMe: switch to using blk_queue_write_cache()
drbd: switch to using blk_queue_write_cache()
loop: switch to using blk_queue_write_cache()
mtip32xx: remove call to blk_queue_flush()
nbd: switch to using blk_queue_write_cache()
osdblk: switch to using blk_queue_write_cache()
skd_main: switch to using blk_queue_write_cache()
ps3disk: switch to using blk_queue_write_cache()
virtio_blk: switch to using blk_queue_write_cache()
bcache: switch to using blk_queue_write_cache()
dm: switch to using blk_queue_write_cache()
xen-blkfront: switch to using blk_queue_write_cache()
ide-disk: update to using blk_queue_write_cache()
md: update to using blk_queue_write_cache()
mmc/block: switch to using blk_queue_write_cache()
mtd: switch to using blk_queue_write_cache()
um: switch to using blk_queue_write_cache()
block: kill blk_queue_flush()
NVMe: silence warning about unused 'dev'
block: kill off q->flush_flags
Keith Busch (3):
NVMe: Skip async events for degraded controllers
mtip32xx: Convert to use blk_mq_tagset_busy_iter
NVMe: Fix check_flush_dependency warning
Matias Bjørling (15):
lightnvm: handle submit_io failure
lightnvm: implement nvm_submit_ppa_list
lightnvm: add fpg_size and pfpg_size to struct nvm_dev
lightnvm: move block fold outside of get_bb_tbl()
lightnvm: avoid memory leak when lun_map kcalloc fails
lightnvm: introduce nvm_for_each_lun_ppa() macro
lightnvm: refactor device ops->get_bb_tbl()
lightnvm: remove struct factory_blks
lightnvm: make nvm_set_rqd_ppalist() aware of vblks
lightnvm: move responsibility for bad blk mgmt to target
lightnvm: refactor set_bb_tbl for accepting ppa list
lightnvm: fix out of bound ppa lun id on bb tbl
lightnvm: remove mgt targets on mgt removal
lightnvm: expose gennvm_mark_blk to targets
lightnvm: add is_cached entry to struct ppa_addr
Ming Lin (7):
nvme: add missing lock nesting notation
nvme: add helper nvme_map_len()
nvme: rewrite discard support
nvme: add helper nvme_setup_cmd()
nvme: add helper nvme_cleanup_cmd()
nvme: switch to RCU freeing the namespace
nvme: fix nvme_ns_remove() deadlock
Sagi Grimberg (3):
nvme: Use blk-mq helper for IO termination
blk-mq: Make blk_mq_all_tag_busy_iter static
nvme/lightnvm: Log using the ctrl named device
Simon A. F. Lund (2):
lightnvm: rename nvm_targets to nvm_tgt_type
lightnvm: refactor dev->online_target to global nvm_targets
Wang Sheng-Hui (3):
NVMe: small typo in section BLK_DEV_NVME_SCSI of host/Kconfig
NVMe: nvme_core_exit() should do cleanup in the reverse order as nvme_core_init does
NVMe: correct comment for offset enum of controller registers in nvme.h
Wenwei Tao (2):
lightnvm: calculate rrpc total blocks and sectors up front
lightnvm: store rrpc->soffset in device sector size
Documentation/block/writeback_cache_control.txt | 4 +-
arch/um/drivers/ubd_kern.c | 2 +-
block/blk-core.c | 3 +-
block/blk-flush.c | 11 +-
block/blk-mq-tag.c | 5 +-
block/blk-settings.c | 38 +--
drivers/block/drbd/drbd_main.c | 2 +-
drivers/block/loop.c | 2 +-
drivers/block/mtip32xx/mtip32xx.c | 12 +-
drivers/block/nbd.c | 4 +-
drivers/block/osdblk.c | 2 +-
drivers/block/ps3disk.c | 2 +-
drivers/block/skd_main.c | 61 +---
drivers/block/virtio_blk.c | 6 +-
drivers/block/xen-blkback/xenbus.c | 2 +-
drivers/block/xen-blkfront.c | 3 +-
drivers/ide/ide-disk.c | 6 +-
drivers/lightnvm/core.c | 370 ++++++++++++++++--------
drivers/lightnvm/gennvm.c | 100 ++++---
drivers/lightnvm/rrpc.c | 42 ++-
drivers/lightnvm/rrpc.h | 2 +-
drivers/lightnvm/sysblk.c | 284 +++++++++---------
drivers/md/bcache/super.c | 2 +-
drivers/md/dm-table.c | 20 +-
drivers/md/md.c | 2 +-
drivers/md/raid5-cache.c | 3 +-
drivers/mmc/card/block.c | 2 +-
drivers/mtd/mtd_blkdevs.c | 2 +-
drivers/nvme/host/Kconfig | 2 +-
drivers/nvme/host/core.c | 272 +++++++++++++++--
drivers/nvme/host/lightnvm.c | 82 ++----
drivers/nvme/host/nvme.h | 91 ++----
drivers/nvme/host/pci.c | 273 +++++++----------
drivers/scsi/sd.c | 8 +-
drivers/target/target_core_iblock.c | 6 +-
include/linux/blk-mq.h | 2 -
include/linux/blkdev.h | 6 +-
include/linux/lightnvm.h | 48 ++-
include/linux/nvme.h | 4 +-
39 files changed, 982 insertions(+), 806 deletions(-)
commit ee11358854d12c28a17175ea966ca782a572e81a
Merge: 4f816cd13c1b 116f7d4a21fe
Author: Jens Axboe <axboe@fb.com>
Date: Tue May 17 09:22:13 2016 -0600
Merge branch 'for-4.7/drivers' into nvme-test
Signed-off-by: Jens Axboe <axboe@fb.com>
diff --cc drivers/nvme/host/pci.c
index 4fd733ff72b1,fb741d09831a..0f093f14d348
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@@ -2086,15 -2014,13 +2014,12 @@@ static void nvme_remove(struct pci_dev
{
struct nvme_dev *dev = pci_get_drvdata(pdev);
- set_bit(NVME_CTRL_REMOVING, &dev->flags);
+ nvme_change_ctrl_state(&dev->ctrl, NVME_CTRL_DELETING);
+
pci_set_drvdata(pdev, NULL);
- flush_work(&dev->async_work);
flush_work(&dev->reset_work);
- flush_work(&dev->scan_work);
- nvme_remove_namespaces(&dev->ctrl);
nvme_uninit_ctrl(&dev->ctrl);
nvme_dev_disable(dev, true);
-- flush_work(&dev->reset_work);
nvme_dev_remove_admin(dev);
nvme_free_queues(dev, 0);
nvme_release_cmb(dev);
--
Jens Axboe
reply other threads:[~2016-05-17 15:35 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160517153519.GB31584@kernel.dk \
--to=axboe@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.