[dm-devel] [git pull] device mapper changes for 4.16

Mike Snitzer snitzer at redhat.com
Wed Jan 31 18:44:52 UTC 2018


Hi Linus,

The following changes since commit fbc7c07ec23c040179384a1f16b62b6030eb6bdd:

  dm bufio: fix shrinker scans when (nr_to_scan < retain_target) (2017-12-08 10:54:25 -0500)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git tags/for-4.16/dm-changes

for you to fetch changes up to 9614e2ba9161c7f5419f4212fa6057d2a65f6ae6:

  dm cache: Documentation: update default migration_throttling value (2018-01-30 16:55:47 -0500)

Please pull, thanks!
Mike

----------------------------------------------------------------
- DM core fixes to ensure that bio submission follows a depth-first tree
  walk; this is critical to allow forward progress without the need to
  use the bioset's BIOSET_NEED_RESCUER.

- Remove DM core's BIOSET_NEED_RESCUER based dm_offload infrastructure.

- DM core cleanups and improvements to make bio-based DM more efficient
  (e.g. reduced memory footprint as well leveraging per-bio-data more).

- Introduce new bio-based mode (DM_TYPE_NVME_BIO_BASED) that leverages
  the more direct IO submission path in the block layer; this mode is
  used by DM multipath and also optimizes targets like DM thin-pool that
  stack directly on NVMe data device.

- DM multipath improvements to factor out legacy SCSI-only
  (e.g. scsi_dh) code paths to allow for more optimized support for NVMe
  multipath.

- A fix for DM multipath path selectors (service-time and queue-length)
  to select paths in a more balanced way; largely academic but doesn't
  hurt.

- Numerous DM raid target fixes and improvements.

- Add a new DM "unstriped" target that enables Intel to workaround
  firmware limitations in some NVMe drives that are striped internally
  (this target also works when stacked above the DM "striped" target).

- Various Documentation fixes and improvements.

- Misc. cleanups and fixes across various DM infrastructure and targets
  (e.g. bufio, flakey, log-writes, snapshot).

----------------------------------------------------------------
Aliaksei Karaliou (2):
      dm bufio: add missed destroys of client mutex
      dm bufio: check result of register_shrinker()

Brian Norris (1):
      dm: move dm_table_destroy() to same header as dm_table_create()

Goldwyn Rodrigues (1):
      dm flakey: check for null arg_name in parse_features()

Heinz Mauelshagen (15):
      dm raid: fix deadlock caused by premature md_stop_writes()
      dm raid: consume sizes after md_finish_reshape() completes changing them
      dm raid: correct resizing state relative to reshape space in ctr
      dm raid: fix raid set size revalidation
      dm raid: add component device size checks to avoid runtime failure
      dm raid: fix raid_resume() to keep raid set frozen as needed
      dm raid: display a consistent copy of the MD status via raid_status()
      dm raid: avoid passing array_in_sync variable to raid_status() callees
      dm raid: fix rs_get_progress() synchronization state/ratio
      dm raid: small cleanup and remove unsed "struct raid_set" member
      dm raid: validate current raid sets redundancy
      dm raid: stop keeping raid set frozen altogether
      dm raid: ensure 'a' chars during reshape
      dm raid: simplify rs_get_progress()
      dm raid: use rs_is_raid*()

John Pittman (1):
      dm cache: Documentation: update default migration_throttling value

Khazhismel Kumykov (1):
      dm mpath selector: more evenly distribute ties

Luis de Bethencourt (1):
      dm thin: fix trailing semicolon in __remap_and_issue_shared_cell

Ma Shimiao (1):
      dm log writes: fix max length used for kstrndup

Mike Snitzer (26):
      dm raid: bump target version to reflect numerous fixes
      dm: safely allocate multiple bioset bios
      dm: remove BIOSET_NEED_RESCUER based dm_offload infrastructure
      dm: ensure bio-based DM's bioset and io_pool support targets' maximum IOs
      dm: fix __send_changing_extent_only() to send first bio and chain remainder
      dm: set QUEUE_FLAG_DAX accordingly in dm_table_set_restrictions()
      dm: remove stale comment blocks
      dm: rename 'bio' member of dm_io structure to 'orig_bio'
      dm: improve performance by moving dm_io structure to per-bio-data
      dm: remove now unused bio-based io_pool and _io_cache
      dm: remove redundant mapped_device member from clone_info structure
      dm: simplify start of block stats accounting for bio-based
      dm: introduce DM_TYPE_NVME_BIO_BASED
      dm: optimize bio-based NVMe IO submission
      dm mpath: remove unused param from multipath_init_per_bio_data()
      dm mpath: remove unnecessary memset() calls for per-io-data
      dm mpath: optimize retrieval of bio_details from per-bio-data
      dm mpath: move dm_bio_restore out of endio method
      dm mpath: implement NVMe bio-based support
      dm mpath: optimize NVMe bio-based support
      dm mpath: factor out SCSI vs NVMe path selection
      dm bufio: eliminate unnecessary labels in dm_bufio_client_create()
      dm: backfill missing calls to mutex_destroy()
      dm mpath: delay the retry of a request if the target responded as busy
      dm: various cleanups to md->queue initialization code
      dm table: fix NVMe bio-based dm_table_determine_type() validation

Mikulas Patocka (3):
      dm bufio: use REQ_OP_READ and REQ_OP_WRITE
      dm snapshot: improve documentation relative to origin suspend requirements
      dm snapshot: use mutex instead of rw_semaphore

Ming Lei (2):
      dm mpath: return DM_MAPIO_REQUEUE on blk-mq rq allocation failure
      dm mpath: return DM_MAPIO_DELAY_REQUEUE if QUEUE_IO or PG_INIT_REQUIRED

NeilBrown (5):
      dm: fix comment above dm_accept_partial_bio
      dm crypt: remove BIOSET_NEED_RESCUER flag
      dm io: remove BIOSET_NEED_RESCUER flag from bios bioset
      dm: ensure bio submission follows a depth-first tree walk
      dm: remove unused 'num_write_bios' target interface

Scott Bauer (2):
      dm: add unstriped target
      dm unstripe: fix target length versus number of stripes size check

Wei Yongjun (1):
      dm raid: make raid_sets symbol static

mulhern (7):
      dm cache: fix grammar in cache-policies.txt
      dm cache: delete obsoleted paragraph in cache.txt
      dm cache: be consistent in specifying sectors and SI units in cache.txt
      dm thin: fix documentation relative to low water mark threshold
      dm thin: document representation of <highest mapped sector> when there is none
      dm thin: fixes in thin-provisioning.txt
      dm thin: extend thinpool status format string with omitted fields

 Documentation/device-mapper/cache-policies.txt    |   4 +-
 Documentation/device-mapper/cache.txt             |   9 +-
 Documentation/device-mapper/dm-raid.txt           |   5 +-
 Documentation/device-mapper/snapshot.txt          |   4 +
 Documentation/device-mapper/thin-provisioning.txt |  14 +-
 Documentation/device-mapper/unstriped.txt         | 124 ++++
 drivers/md/Kconfig                                |   7 +
 drivers/md/Makefile                               |   1 +
 drivers/md/dm-bufio.c                             |  37 +-
 drivers/md/dm-core.h                              |   5 +-
 drivers/md/dm-crypt.c                             |   5 +-
 drivers/md/dm-delay.c                             |   2 +
 drivers/md/dm-flakey.c                            |   5 +
 drivers/md/dm-io.c                                |   3 +-
 drivers/md/dm-kcopyd.c                            |   6 +-
 drivers/md/dm-log-writes.c                        |   2 +-
 drivers/md/dm-mpath.c                             | 297 ++++++----
 drivers/md/dm-queue-length.c                      |   6 +-
 drivers/md/dm-raid.c                              | 380 ++++++++-----
 drivers/md/dm-rq.c                                |   6 +-
 drivers/md/dm-service-time.c                      |   6 +-
 drivers/md/dm-snap.c                              |  84 +--
 drivers/md/dm-stats.c                             |   1 +
 drivers/md/dm-table.c                             | 114 +++-
 drivers/md/dm-thin.c                              |   9 +-
 drivers/md/dm-unstripe.c                          | 219 +++++++
 drivers/md/dm-zoned-metadata.c                    |   3 +
 drivers/md/dm-zoned-target.c                      |   3 +
 drivers/md/dm.c                                   | 659 +++++++++++++---------
 drivers/md/dm.h                                   |   4 +-
 include/linux/device-mapper.h                     |  56 +-
 31 files changed, 1409 insertions(+), 671 deletions(-)
 create mode 100644 Documentation/device-mapper/unstriped.txt
 create mode 100644 drivers/md/dm-unstripe.c




More information about the dm-devel mailing list