forked from Minki/linux
d35a878ae1
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. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABAgAGBQJZB6vtAAoJEMUj8QotnQNaoicIALuZTLElgAzxzA28cfk1+1Ea Gd09CfJ3M6cvk/YGUU7WwiSYIwu16yOJALG4sLcYnEmUCzvKfFPcl/RpeSJHPpYM 0aVXa6NIJw7K2r3C17toiK2DRMHYw6QU843WeWI93vBW13lDJklNJL9fM7GBEOLH NMSNw2mAq9ajtLlnJhM3ZfhloA7/u/jektvlBO1AA3RQ5Kx1cXVXFPqN7FdRfcqp 4RuEMe9faAadlXLsj3bia5IBmF/W0Qza6JilP+NLKLWB4fm7LZDjN/k+TsHWMa9e cGR73TgUGLMBJX+sDJy8R3oeBG9JZkFVkD7I30eCjzyhSOs/54XNYQ23EkqHJU0= =9Ryi -----END PGP SIGNATURE----- Merge tag 'for-4.12/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper updates from Mike Snitzer: - 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. * tag 'for-4.12/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (50 commits) dm bufio: check new buffer allocation watermark every 30 seconds dm bufio: avoid a possible ABBA deadlock dm mpath: make it easier to detect unintended I/O request flushes dm mpath: cleanup QUEUE_IF_NO_PATH bit manipulation by introducing assign_bit() dm mpath: micro-optimize the hot path relative to MPATHF_QUEUE_IF_NO_PATH dm: introduce enum dm_queue_mode to cleanup related code dm mpath: verify __pg_init_all_paths locking assumptions at runtime dm: verify suspend_locking assumptions at runtime dm block manager: remove an unused argument from dm_block_manager_create() dm rq: check blk_mq_register_dev() return value in dm_mq_init_request_queue() dm mpath: delay requeuing while path initialization is in progress dm mpath: avoid that path removal can trigger an infinite loop dm mpath: split and rename activate_path() to prepare for its expanded use dm ioctl: prevent stack leak in dm ioctl call dm integrity: use previously calculated log2 of sectors_per_block dm integrity: use hex2bin instead of open-coded variant dm crypt: replace custom implementation of hex2bin() dm crypt: remove obsolete references to per-CPU state dm verity: switch to using asynchronous hash crypto API dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues ...
71 lines
2.6 KiB
Makefile
71 lines
2.6 KiB
Makefile
#
|
|
# Makefile for the kernel software RAID and LVM drivers.
|
|
#
|
|
|
|
dm-mod-y += dm.o dm-table.o dm-target.o dm-linear.o dm-stripe.o \
|
|
dm-ioctl.o dm-io.o dm-kcopyd.o dm-sysfs.o dm-stats.o \
|
|
dm-rq.o
|
|
dm-multipath-y += dm-path-selector.o dm-mpath.o
|
|
dm-snapshot-y += dm-snap.o dm-exception-store.o dm-snap-transient.o \
|
|
dm-snap-persistent.o
|
|
dm-mirror-y += dm-raid1.o
|
|
dm-log-userspace-y \
|
|
+= dm-log-userspace-base.o dm-log-userspace-transfer.o
|
|
dm-bio-prison-y += dm-bio-prison-v1.o dm-bio-prison-v2.o
|
|
dm-thin-pool-y += dm-thin.o dm-thin-metadata.o
|
|
dm-cache-y += dm-cache-target.o dm-cache-metadata.o dm-cache-policy.o \
|
|
dm-cache-background-tracker.o
|
|
dm-cache-smq-y += dm-cache-policy-smq.o
|
|
dm-era-y += dm-era-target.o
|
|
dm-verity-y += dm-verity-target.o
|
|
md-mod-y += md.o bitmap.o
|
|
raid456-y += raid5.o raid5-cache.o raid5-ppl.o
|
|
|
|
# Note: link order is important. All raid personalities
|
|
# and must come before md.o, as they each initialise
|
|
# themselves, and md.o may use the personalities when it
|
|
# auto-initialised.
|
|
|
|
obj-$(CONFIG_MD_LINEAR) += linear.o
|
|
obj-$(CONFIG_MD_RAID0) += raid0.o
|
|
obj-$(CONFIG_MD_RAID1) += raid1.o
|
|
obj-$(CONFIG_MD_RAID10) += raid10.o
|
|
obj-$(CONFIG_MD_RAID456) += raid456.o
|
|
obj-$(CONFIG_MD_MULTIPATH) += multipath.o
|
|
obj-$(CONFIG_MD_FAULTY) += faulty.o
|
|
obj-$(CONFIG_MD_CLUSTER) += md-cluster.o
|
|
obj-$(CONFIG_BCACHE) += bcache/
|
|
obj-$(CONFIG_BLK_DEV_MD) += md-mod.o
|
|
obj-$(CONFIG_BLK_DEV_DM) += dm-mod.o
|
|
obj-$(CONFIG_BLK_DEV_DM_BUILTIN) += dm-builtin.o
|
|
obj-$(CONFIG_DM_BUFIO) += dm-bufio.o
|
|
obj-$(CONFIG_DM_BIO_PRISON) += dm-bio-prison.o
|
|
obj-$(CONFIG_DM_CRYPT) += dm-crypt.o
|
|
obj-$(CONFIG_DM_DELAY) += dm-delay.o
|
|
obj-$(CONFIG_DM_FLAKEY) += dm-flakey.o
|
|
obj-$(CONFIG_DM_MULTIPATH) += dm-multipath.o dm-round-robin.o
|
|
obj-$(CONFIG_DM_MULTIPATH_QL) += dm-queue-length.o
|
|
obj-$(CONFIG_DM_MULTIPATH_ST) += dm-service-time.o
|
|
obj-$(CONFIG_DM_SWITCH) += dm-switch.o
|
|
obj-$(CONFIG_DM_SNAPSHOT) += dm-snapshot.o
|
|
obj-$(CONFIG_DM_PERSISTENT_DATA) += persistent-data/
|
|
obj-$(CONFIG_DM_MIRROR) += dm-mirror.o dm-log.o dm-region-hash.o
|
|
obj-$(CONFIG_DM_LOG_USERSPACE) += dm-log-userspace.o
|
|
obj-$(CONFIG_DM_ZERO) += dm-zero.o
|
|
obj-$(CONFIG_DM_RAID) += dm-raid.o
|
|
obj-$(CONFIG_DM_THIN_PROVISIONING) += dm-thin-pool.o
|
|
obj-$(CONFIG_DM_VERITY) += dm-verity.o
|
|
obj-$(CONFIG_DM_CACHE) += dm-cache.o
|
|
obj-$(CONFIG_DM_CACHE_SMQ) += dm-cache-smq.o
|
|
obj-$(CONFIG_DM_ERA) += dm-era.o
|
|
obj-$(CONFIG_DM_LOG_WRITES) += dm-log-writes.o
|
|
obj-$(CONFIG_DM_INTEGRITY) += dm-integrity.o
|
|
|
|
ifeq ($(CONFIG_DM_UEVENT),y)
|
|
dm-mod-objs += dm-uevent.o
|
|
endif
|
|
|
|
ifeq ($(CONFIG_DM_VERITY_FEC),y)
|
|
dm-verity-objs += dm-verity-fec.o
|
|
endif
|