[dm-devel] [git pull] device mapper changes for 4.12
Mike Snitzer
snitzer at redhat.com
Tue May 2 18:58:47 UTC 2017
Hi Linus,
The following changes since commit c1ae3cfa0e89fa1a7ecc4c99031f5e9ae99d9201:
Linux 4.11-rc1 (2017-03-05 12:59:56 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git tags/for-4.12/dm-changes
for you to fetch changes up to 390020ad2af9ca04844c4f3b1f299ad8746d84c8:
dm bufio: check new buffer allocation watermark every 30 seconds (2017-05-01 15:21:42 -0400)
Please pull, thanks.
Mike
----------------------------------------------------------------
- A major update for DM cache that reduces the latency for deciding
whether blocks should migrate to/from the cache. The bio-prison-v2
interface supports this improvement by enabling direct dispatch of
work to workqueues rather than having to delay the actual work
dispatch to the DM cache core. So the dm-cache policies are much more
nimble by being able to drive IO as they see fit. One immediate
benefit from the improved latency is a cache that should be much more
adaptive to changing workloads.
- Add a new DM integrity target that emulates a block device that has
additional per-sector tags that can be used for storing integrity
information.
- Add a new authenticated encryption feature to the DM crypt target that
builds on the capabilities provided by the DM integrity target.
- Add MD interface for switching the raid4/5/6 journal mode and update
the DM raid target to use it to enable aid4/5/6 journal write-back
support.
- Switch the DM verity target over to using the asynchronous hash crypto
API (this helps work better with architectures that have access to
off-CPU algorithm providers, which should reduce CPU utilization).
- Various request-based DM and DM multipath fixes and improvements from
Bart and Christoph.
- A DM thinp target fix for a bio structure leak that occurs for each
discard IFF discard passdown is enabled.
- A fix for a possible deadlock in DM bufio and a fix to re-check the
new buffer allocation watermark in the face of competing admin changes
to the 'max_cache_size_bytes' tunable.
- A couple DM core cleanups.
----------------------------------------------------------------
Adrian Salido (1):
dm ioctl: prevent stack leak in dm ioctl call
Andy Shevchenko (1):
dm crypt: replace custom implementation of hex2bin()
Bart Van Assche (12):
dm mpath: requeue after a small delay if blk_get_request() fails
dm mpath: split and rename activate_path() to prepare for its expanded use
dm mpath: avoid that path removal can trigger an infinite loop
dm mpath: delay requeuing while path initialization is in progress
dm rq: check blk_mq_register_dev() return value in dm_mq_init_request_queue()
dm block manager: remove an unused argument from dm_block_manager_create()
dm: verify suspend_locking assumptions at runtime
dm mpath: verify __pg_init_all_paths locking assumptions at runtime
dm: introduce enum dm_queue_mode to cleanup related code
dm mpath: micro-optimize the hot path relative to MPATHF_QUEUE_IF_NO_PATH
dm mpath: cleanup QUEUE_IF_NO_PATH bit manipulation by introducing assign_bit()
dm mpath: make it easier to detect unintended I/O request flushes
Dennis Yang (1):
dm thin: fix a memory leak when passing discard bio down
Eric Biggers (1):
dm crypt: remove obsolete references to per-CPU state
Gilad Ben-Yossef (1):
dm verity: switch to using asynchronous hash crypto API
Heinz Mauelshagen (3):
md: add raid4/5/6 journal mode switching API
dm raid: fix table line argument order in status
dm raid: add raid4/5/6 journal write-back support via journal_mode option
Joe Thornber (4):
dm bio prison v2: new interface for the bio prison
dm cache: significant rework to leverage dm-bio-prison-v2
dm cache: set/clear the cache core's dirty_bitset when loading mappings
dm cache policy smq: make the cleaner policy write-back more aggressively
Matthias Kaehlcke (1):
dm ioctl: remove double parentheses
Mike Snitzer (1):
dm integrity: factor out create_journal() from dm_integrity_ctr()
Mikulas Patocka (15):
dm bufio: add sector start offset to dm-bufio interface
dm: add integrity target
dm integrity: add recovery mode
dm crypt: use shifts instead of sector_div
dm raid: select the Kconfig option CONFIG_MD_RAID0
dm table: replace while loops with for loops
dm: mark targets that pass integrity data
dm integrity: various small changes and cleanups
dm integrity: support larger block sizes
dm crypt: fix large block integrity support
dm: remove dummy dm_table definition
dm integrity: use hex2bin instead of open-coded variant
dm integrity: use previously calculated log2 of sectors_per_block
dm bufio: avoid a possible ABBA deadlock
dm bufio: check new buffer allocation watermark every 30 seconds
Milan Broz (5):
dm table: add flag to allow target to handle its own integrity metadata
dm crypt: add cryptographic data integrity protection (authenticated encryption)
dm crypt: factor IV constructor out to separate function
dm crypt: introduce new format of cipher with "capi:" prefix
dm crypt: optionally support larger encryption sector size
Ondrej Kozina (1):
dm crypt: rewrite (wipe) key in crypto layer using random data
Somasundaram Krishnasamy (1):
dm era: save spacemap metadata root after the pre-commit
Tim Murray (1):
dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues
Vinothkumar Raja (1):
dm btree: fix for dm_btree_find_lowest_key()
Documentation/device-mapper/dm-crypt.txt | 53 +-
Documentation/device-mapper/dm-integrity.txt | 199 ++
Documentation/device-mapper/dm-raid.txt | 14 +-
drivers/md/Kconfig | 19 +-
drivers/md/Makefile | 7 +-
drivers/md/{dm-bio-prison.c => dm-bio-prison-v1.c} | 46 +-
drivers/md/{dm-bio-prison.h => dm-bio-prison-v1.h} | 2 +-
drivers/md/dm-bio-prison-v2.c | 369 +++
drivers/md/dm-bio-prison-v2.h | 152 +
drivers/md/dm-bufio.c | 70 +-
drivers/md/dm-bufio.h | 7 +
drivers/md/dm-cache-background-tracker.c | 238 ++
drivers/md/dm-cache-background-tracker.h | 46 +
drivers/md/dm-cache-metadata.c | 3 -
drivers/md/dm-cache-metadata.h | 2 +
drivers/md/dm-cache-policy-cleaner.c | 469 ---
drivers/md/dm-cache-policy-internal.h | 76 +-
drivers/md/dm-cache-policy-smq.c | 821 ++---
drivers/md/dm-cache-policy.h | 187 +-
drivers/md/dm-cache-target.c | 2535 +++++++--------
drivers/md/dm-core.h | 2 +-
drivers/md/dm-crypt.c | 1253 ++++++--
drivers/md/dm-delay.c | 1 +
drivers/md/dm-era-target.c | 10 +-
drivers/md/dm-integrity.c | 3238 ++++++++++++++++++++
drivers/md/dm-ioctl.c | 16 +-
drivers/md/dm-linear.c | 1 +
drivers/md/dm-mpath.c | 171 +-
drivers/md/dm-raid.c | 164 +-
drivers/md/dm-rq.c | 8 +-
drivers/md/dm-stripe.c | 1 +
drivers/md/dm-table.c | 99 +-
drivers/md/dm-thin-metadata.c | 2 -
drivers/md/dm-thin.c | 3 +-
drivers/md/dm-verity-fec.c | 4 +-
drivers/md/dm-verity-target.c | 201 +-
drivers/md/dm-verity.h | 23 +-
drivers/md/dm.c | 35 +-
drivers/md/dm.h | 8 +-
drivers/md/persistent-data/dm-block-manager.c | 1 -
drivers/md/persistent-data/dm-block-manager.h | 2 +-
drivers/md/persistent-data/dm-btree.c | 8 +-
drivers/md/raid5-cache.c | 62 +-
drivers/md/raid5.h | 11 +
include/linux/device-mapper.h | 26 +-
45 files changed, 7640 insertions(+), 3025 deletions(-)
create mode 100644 Documentation/device-mapper/dm-integrity.txt
rename drivers/md/{dm-bio-prison.c => dm-bio-prison-v1.c} (94%)
rename drivers/md/{dm-bio-prison.h => dm-bio-prison-v1.h} (99%)
create mode 100644 drivers/md/dm-bio-prison-v2.c
create mode 100644 drivers/md/dm-bio-prison-v2.h
create mode 100644 drivers/md/dm-cache-background-tracker.c
create mode 100644 drivers/md/dm-cache-background-tracker.h
delete mode 100644 drivers/md/dm-cache-policy-cleaner.c
create mode 100644 drivers/md/dm-integrity.c
More information about the dm-devel
mailing list