All of lore.kernel.org
 help / color / mirror / Atom feed
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.