lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20160517153519.GB31584@kernel.dk>
Date:	Tue, 17 May 2016 09:35:19 -0600
From:	Jens Axboe <axboe@...com>
To:	<torvalds@...uxfoundation.org>
CC:	<linux-kernel@...r.kernel.org>
Subject: [GIT PULL] Block driver changes for 4.7-rc1

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@...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@...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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ