[GIT PULL] Block changes for 4.9-rc1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

Finally back from a bunch of travel and out-of-office. This is the main
pull request for block layer changes in 4.9. As mentioned at the last
merge window, I've changed things up and now do just one branch for core
block layer changes, and driver changes. This avoids dependencies
between the two branches. Outside of this main pull request, there are
two topical branches coming as well.

This pull request contains:

- A set of fixes, and a conversion to blk-mq, of nbd. From Josef.

- Set of fixes and updates for lightnvm from Matias, Simon, and Arnd.
  Followup dependency fix from Geert.

- General fixes from Bart, Baoyou, Guoqing, and Linus W.

- CFQ async write starvation fix from Glauber.

- Add supprot for delayed kick of the requeue list, from Mike.

- Pull out the scalable bitmap code from blk-mq-tag.c and make it
  generally available under the name of sbitmap. Only blk-mq-tag uses it
  for now, but the blk-mq scheduling bits will use it as well. From Omar.

- bdev thaw error progagation from Pierre.

- Improve the blk polling statistics, and allow the user to clear them.
  From Stephen.

- Set of minor cleanups from Christoph in block/blk-mq.

- Set of cleanups and optimizations from me for block/blk-mq.

- Various nvme/nvmet/nvmeof fixes from the various folks.

Please pull!


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


----------------------------------------------------------------
Alexander Solganik (1):
      nvmet: Make dsm number of ranges zero based

Andy Lutomirski (2):
      nvme/scsi: Remove power management support
      nvme: Pass pointers, not dma addresses, to nvme_get/set_features()

Arnd Bergmann (1):
      lightnvm: propagate device_add() error code

Baoyou Xie (1):
      mtip32xx: mark symbols static where possible

Bart Van Assche (4):
      block: Document that bio_op() uses the data type of bio.bi_opf
      block, dm-crypt, btrfs: Introduce bio_flags()
      block: Improve bio_set_op_attrs() robustness
      blkcg: Annotate blkg_hint correctly

Chaitanya Kulkarni (1):
      admin-cmd: Added smart-log command support.

Christoph Hellwig (5):
      block_dev: remove DAX leftovers
      block: remove bio_destructor_t
      bio.h: remove a very outdated comment
      block: remove IOPRIO_BITS
      blk-mq: remove non-blocking pass in blk_mq_map_request

Colin Ian King (1):
      sbitmap: initialize weight to zero

Geert Uytterhoeven (1):
      lightnvm: NVM should depend on HAS_DMA

Glauber Costa (1):
      cfq: fix starvation of asynchronous writes

Guoqing Jiang (1):
      block: export bio_free_pages to other modules

James Smart (3):
      nvme-fabrics: rework nvmf_get_address() for variable options
      nvme-fabrics: revise host transport option descriptions
      nvme-fabrics: Add host_traddr options field to host infrastructure

Jens Axboe (8):
      workqueue: add cancel_work()
      block: add kblockd_schedule_work_on()
      blk-mq: turn hctx->run_work into a regular work struct
      blk-mq: improve layout of blk_mq_hw_ctx
      blk-mq: prefetch request in blk_mq_tag_to_rq()
      blk-mq: account higher order dispatch
      blk-mq: get rid of manual run of queue with __blk_mq_run_hw_queue()
      blk-mq: add flag for drivers wanting blocking ->queue_rq()

Josef Bacik (5):
      nbd: convert to blkmq
      nbd: don't shutdown sock with irq's disabled
      nbd: use flags instead of bool
      nbd: allow block mq to deal with timeouts
      nbd: use BLK_MQ_F_BLOCKING

Linus Walleij (2):
      block: remove blk_mq_alloc_single_hw_queue() prototype
      block: remove remnant refs to hardsect

Matias Bjørling (4):
      nvme: refactor namespaces to support non-gendisk devices
      null_blk: refactor to support non-gendisk devices
      blk-mq: register device instead of disk
      lightnvm: control life of nvm_dev in driver

Mike Snitzer (1):
      blk-mq: introduce blk_mq_delay_kick_requeue_list()

Omar Sandoval (7):
      blk-mq: abstract tag allocation out into sbitmap library
      sbitmap: allocate wait queues on a specific node
      sbitmap: push per-cpu last_tag into sbitmap_queue
      sbitmap: push alloc policy into sbitmap_queue
      sbitmap: randomize initial alloc_hint values
      sbitmap: re-initialize allocation hints after resize
      sbitmap: don't update the allocation hint on clear after resize

Pierre Morel (1):
      fs/block_dev.c: return the right error in thaw_bdev()

Sagi Grimberg (1):
      nvmet: Use direct IO for writes

Simon A. F. Lund (1):
      lightnvm: expose device geometry through sysfs

Stephen Bates (2):
      block: add poll_considered statistic
      block: enable zeroing of io_poll statistics

 Documentation/block/biodoc.txt    |   4 +-
 MAINTAINERS                       |   1 +
 block/Kconfig                     |   1 +
 block/bio.c                       |   5 +-
 block/blk-core.c                  |  16 +-
 block/blk-mq-sysfs.c              |  40 +--
block/blk-mq-tag.c | 503 +++++++++-----------------------------
 block/blk-mq-tag.h                |  42 +---
 block/blk-mq.c                    | 183 +++++---------
 block/blk-mq.h                    |  11 -
 block/blk-sysfs.c                 |   4 +-
 block/cfq-iosched.c               |  13 +-
 drivers/block/mtip32xx/mtip32xx.c |   2 +-
 drivers/block/nbd.c               | 411 ++++++++++++-------------------
 drivers/block/null_blk.c          | 128 ++++++----
 drivers/lightnvm/Kconfig          |   2 +-
 drivers/lightnvm/Makefile         |   2 +-
 drivers/lightnvm/core.c           |  55 ++---
 drivers/lightnvm/lightnvm.h       |  35 +++
 drivers/lightnvm/sysfs.c          | 198 +++++++++++++++
 drivers/md/bcache/btree.c         |   6 +-
 drivers/md/bcache/debug.c         |   6 +-
 drivers/md/bcache/movinggc.c      |   5 +-
 drivers/md/bcache/request.c       |   9 +-
 drivers/md/bcache/writeback.c     |   5 +-
 drivers/md/dm-crypt.c             |   2 +-
 drivers/md/dm-log-writes.c        |   6 +-
 drivers/md/dm-rq.c                |   2 +-
 drivers/md/raid1.c                |   8 +-
 drivers/nvme/host/core.c          | 155 +++++++-----
 drivers/nvme/host/fabrics.c       |  25 +-
 drivers/nvme/host/fabrics.h       |  11 +-
 drivers/nvme/host/lightnvm.c      |  33 ++-
 drivers/nvme/host/nvme.h          |  30 ++-
 drivers/nvme/host/scsi.c          |  80 +-----
 drivers/nvme/target/admin-cmd.c   |  88 +++++++
 drivers/nvme/target/io-cmd.c      |   3 +-
 fs/befs/linuxvfs.c                |   2 +-
 fs/block_dev.c                    |  18 +-
 fs/btrfs/inode.c                  |   5 +-
 include/linux/bio.h               |   3 +-
 include/linux/blk-cgroup.h        |   2 +-
 include/linux/blk-mq.h            |  28 +--
 include/linux/blk_types.h         |  21 +-
 include/linux/blkdev.h            |   4 +-
 include/linux/ioprio.h            |   1 -
 include/linux/lightnvm.h          |  18 +-
 include/linux/sbitmap.h           | 373 ++++++++++++++++++++++++++++
 include/linux/workqueue.h         |   1 +
 kernel/workqueue.c                |  40 +--
 lib/Kconfig                       |   3 +
 lib/Makefile                      |   2 +
 lib/sbitmap.c                     | 347 ++++++++++++++++++++++++++
 53 files changed, 1828 insertions(+), 1170 deletions(-)
 create mode 100644 drivers/lightnvm/lightnvm.h
 create mode 100644 drivers/lightnvm/sysfs.c
 create mode 100644 include/linux/sbitmap.h
 create mode 100644 lib/sbitmap.c

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux