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

Mike Snitzer snitzer at redhat.com
Wed Jun 30 17:27:06 UTC 2021


Hi Linus,

The following changes since commit 7e768532b2396bcb7fbf6f82384b85c0f1d2f197:

  dm snapshot: properly fix a crash when an origin has no snapshots (2021-05-25 16:19:58 -0400)

are available in the Git repository at:

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

for you to fetch changes up to 5c0de3d72f8c05678ed769bea24e98128f7ab570:

  dm writecache: make writeback pause configurable (2021-06-28 16:30:13 -0400)

Please pull, thanks.
Mike

----------------------------------------------------------------
- Various DM persistent-data library improvements and fixes that
  benefit both the DM thinp and cache targets.

- A few small DM kcopyd efficiency improvements.

- Significant zoned related block core, DM core and DM zoned target
  changes that culminate with adding zoned append emulation (which is
  required to properly fix DM crypt's zoned support).

- Various DM writecache target changes that improve efficiency. Adds
  an optional "metadata_only" feature that only promotes bios flagged
  with REQ_META. But the most significant improvement is writecache's
  ability to pause writeback, for a confiurable time, if/when the
  working set is larger than the cache (and the cache is full) -- this
  ensures performance is no worse than the slower origin device.

----------------------------------------------------------------
Baokun Li (1):
      dm writecache: use list_move instead of list_del/list_add in writecache_writeback()

Colin Ian King (1):
      dm ps io affinity: remove redundant continue statement

Damien Le Moal (13):
      dm zoned: check zone capacity
      dm: Fix dm_accept_partial_bio() relative to zone management commands
      dm: cleanup device_area_is_invalid()
      dm: move zone related code to dm-zone.c
      dm: Introduce dm_report_zones()
      dm: Forbid requeue of writes to zones
      block: improve handling of all zones reset operation
      block: introduce bio zone helpers
      block: introduce BIO_ZONE_WRITE_LOCKED bio flag
      dm: rearrange core declarations for extended use from dm-zone.c
      dm: introduce zone append emulation
      dm crypt: Fix zoned block device support
      dm zone: fix dm_revalidate_zones() memory allocation

Hou Tao (1):
      dm btree remove: assign new_root only when removal succeeds

Joe Thornber (4):
      dm btree: improve btree residency
      dm space maps: don't reset space map allocation cursor when committing
      dm space maps: improve performance with inc/dec on ranges of blocks
      dm space map disk: cache a small number of index entries

Mike Snitzer (2):
      dm writecache: add "cleaner" and "max_age" to Documentation
      dm io tracker: factor out IO tracker

Mikulas Patocka (12):
      dm kcopyd: avoid useless atomic operations
      dm kcopyd: avoid spin_lock_irqsave from process context
      dm writecache: don't split bios when overwriting contiguous cache content
      dm writecache: interrupt writeback if suspended
      dm writecache: remove unused gfp_t argument from wc_add_block()
      dm writecache: commit just one block, not a full page
      dm writecache: have ssd writeback wait if the kcopyd workqueue is busy
      dm writecache: flush origin device when writing and cache is full
      dm writecache: write at least 4k when committing
      dm writecache: add optional "metadata_only" parameter
      dm writecache: pause writeback if cache full and origin being written directly
      dm writecache: make writeback pause configurable

Rikard Falkeborn (1):
      dm table: Constify static struct blk_ksm_ll_ops

 .../admin-guide/device-mapper/writecache.rst       |  25 +-
 block/blk-zoned.c                                  | 119 +++-
 drivers/md/Makefile                                |   4 +
 drivers/md/dm-cache-target.c                       |  82 +--
 drivers/md/dm-core.h                               |  65 ++
 drivers/md/dm-crypt.c                              |  31 +-
 drivers/md/dm-era-target.c                         |  24 +-
 drivers/md/dm-flakey.c                             |   7 +-
 drivers/md/dm-io-tracker.h                         |  81 +++
 drivers/md/dm-kcopyd.c                             |  41 +-
 drivers/md/dm-linear.c                             |   7 +-
 drivers/md/dm-ps-io-affinity.c                     |   1 -
 drivers/md/dm-raid1.c                              |   2 +-
 drivers/md/dm-table.c                              |  23 +-
 drivers/md/dm-thin-metadata.c                      |  91 +--
 drivers/md/dm-writecache.c                         | 140 ++++-
 drivers/md/dm-zone.c                               | 660 +++++++++++++++++++++
 drivers/md/dm-zoned-metadata.c                     |   7 +
 drivers/md/dm-zoned-reclaim.c                      |   2 +-
 drivers/md/dm.c                                    | 208 ++-----
 drivers/md/dm.h                                    |  30 +-
 drivers/md/persistent-data/dm-array.c              |  52 +-
 drivers/md/persistent-data/dm-btree-internal.h     |  13 +
 drivers/md/persistent-data/dm-btree-remove.c       |   7 +-
 drivers/md/persistent-data/dm-btree-spine.c        |  16 +-
 drivers/md/persistent-data/dm-btree.c              | 542 +++++++++++++++--
 drivers/md/persistent-data/dm-btree.h              |  10 +-
 drivers/md/persistent-data/dm-space-map-common.c   | 534 ++++++++++++++++-
 drivers/md/persistent-data/dm-space-map-common.h   |  34 +-
 drivers/md/persistent-data/dm-space-map-disk.c     |  83 +--
 drivers/md/persistent-data/dm-space-map-metadata.c | 105 ++--
 drivers/md/persistent-data/dm-space-map.h          |  18 +-
 .../md/persistent-data/dm-transaction-manager.c    |  61 ++
 .../md/persistent-data/dm-transaction-manager.h    |  22 +-
 include/linux/blk_types.h                          |   1 +
 include/linux/blkdev.h                             |  12 +
 include/linux/device-mapper.h                      |   9 +-
 include/linux/dm-kcopyd.h                          |   1 +
 38 files changed, 2548 insertions(+), 622 deletions(-)
 create mode 100644 drivers/md/dm-io-tracker.h
 create mode 100644 drivers/md/dm-zone.c




More information about the dm-devel mailing list