1# SPDX-License-Identifier: GPL-2.0 2# 3# Makefile for the kernel software RAID and LVM drivers. 4# 5 6dm-mod-y += dm.o dm-table.o dm-target.o dm-linear.o dm-stripe.o \ 7 dm-ioctl.o dm-io.o dm-kcopyd.o dm-sysfs.o dm-stats.o \ 8 dm-rq.o 9dm-multipath-y += dm-path-selector.o dm-mpath.o 10dm-historical-service-time-y += dm-ps-historical-service-time.o 11dm-io-affinity-y += dm-ps-io-affinity.o 12dm-queue-length-y += dm-ps-queue-length.o 13dm-round-robin-y += dm-ps-round-robin.o 14dm-service-time-y += dm-ps-service-time.o 15dm-snapshot-y += dm-snap.o dm-exception-store.o dm-snap-transient.o \ 16 dm-snap-persistent.o 17dm-mirror-y += dm-raid1.o 18dm-log-userspace-y += dm-log-userspace-base.o dm-log-userspace-transfer.o 19dm-bio-prison-y += dm-bio-prison-v1.o dm-bio-prison-v2.o 20dm-thin-pool-y += dm-thin.o dm-thin-metadata.o 21dm-cache-y += dm-cache-target.o dm-cache-metadata.o dm-cache-policy.o \ 22 dm-cache-background-tracker.o 23dm-cache-smq-y += dm-cache-policy-smq.o 24dm-ebs-y += dm-ebs-target.o 25dm-era-y += dm-era-target.o 26dm-clone-y += dm-clone-target.o dm-clone-metadata.o 27dm-verity-y += dm-verity-target.o 28dm-zoned-y += dm-zoned-target.o dm-zoned-metadata.o dm-zoned-reclaim.o 29 30md-mod-y += md.o md-bitmap.o 31raid456-y += raid5.o raid5-cache.o raid5-ppl.o 32linear-y += md-linear.o 33multipath-y += md-multipath.o 34faulty-y += md-faulty.o 35 36# Note: link order is important. All raid personalities 37# and must come before md.o, as they each initialise 38# themselves, and md.o may use the personalities when it 39# auto-initialised. 40 41obj-$(CONFIG_MD_LINEAR) += linear.o 42obj-$(CONFIG_MD_RAID0) += raid0.o 43obj-$(CONFIG_MD_RAID1) += raid1.o 44obj-$(CONFIG_MD_RAID10) += raid10.o 45obj-$(CONFIG_MD_RAID456) += raid456.o 46obj-$(CONFIG_MD_MULTIPATH) += multipath.o 47obj-$(CONFIG_MD_FAULTY) += faulty.o 48obj-$(CONFIG_MD_CLUSTER) += md-cluster.o 49obj-$(CONFIG_BCACHE) += bcache/ 50obj-$(CONFIG_BLK_DEV_MD) += md-mod.o 51ifeq ($(CONFIG_BLK_DEV_MD),y) 52obj-y += md-autodetect.o 53endif 54obj-$(CONFIG_BLK_DEV_DM) += dm-mod.o 55obj-$(CONFIG_BLK_DEV_DM_BUILTIN) += dm-builtin.o 56obj-$(CONFIG_DM_UNSTRIPED) += dm-unstripe.o 57obj-$(CONFIG_DM_BUFIO) += dm-bufio.o 58obj-$(CONFIG_DM_BIO_PRISON) += dm-bio-prison.o 59obj-$(CONFIG_DM_CRYPT) += dm-crypt.o 60obj-$(CONFIG_DM_DELAY) += dm-delay.o 61obj-$(CONFIG_DM_DUST) += dm-dust.o 62obj-$(CONFIG_DM_FLAKEY) += dm-flakey.o 63obj-$(CONFIG_DM_MULTIPATH) += dm-multipath.o dm-round-robin.o 64obj-$(CONFIG_DM_MULTIPATH_QL) += dm-queue-length.o 65obj-$(CONFIG_DM_MULTIPATH_ST) += dm-service-time.o 66obj-$(CONFIG_DM_MULTIPATH_HST) += dm-historical-service-time.o 67obj-$(CONFIG_DM_MULTIPATH_IOA) += dm-io-affinity.o 68obj-$(CONFIG_DM_SWITCH) += dm-switch.o 69obj-$(CONFIG_DM_SNAPSHOT) += dm-snapshot.o 70obj-$(CONFIG_DM_PERSISTENT_DATA) += persistent-data/ 71obj-$(CONFIG_DM_MIRROR) += dm-mirror.o dm-log.o dm-region-hash.o 72obj-$(CONFIG_DM_LOG_USERSPACE) += dm-log-userspace.o 73obj-$(CONFIG_DM_ZERO) += dm-zero.o 74obj-$(CONFIG_DM_RAID) += dm-raid.o 75obj-$(CONFIG_DM_THIN_PROVISIONING) += dm-thin-pool.o 76obj-$(CONFIG_DM_VERITY) += dm-verity.o 77obj-$(CONFIG_DM_CACHE) += dm-cache.o 78obj-$(CONFIG_DM_CACHE_SMQ) += dm-cache-smq.o 79obj-$(CONFIG_DM_EBS) += dm-ebs.o 80obj-$(CONFIG_DM_ERA) += dm-era.o 81obj-$(CONFIG_DM_CLONE) += dm-clone.o 82obj-$(CONFIG_DM_LOG_WRITES) += dm-log-writes.o 83obj-$(CONFIG_DM_INTEGRITY) += dm-integrity.o 84obj-$(CONFIG_DM_ZONED) += dm-zoned.o 85obj-$(CONFIG_DM_WRITECACHE) += dm-writecache.o 86 87ifeq ($(CONFIG_DM_INIT),y) 88dm-mod-objs += dm-init.o 89endif 90 91ifeq ($(CONFIG_DM_UEVENT),y) 92dm-mod-objs += dm-uevent.o 93endif 94 95ifeq ($(CONFIG_BLK_DEV_ZONED),y) 96dm-mod-objs += dm-zone.o 97endif 98 99ifeq ($(CONFIG_DM_VERITY_FEC),y) 100dm-verity-objs += dm-verity-fec.o 101endif 102 103ifeq ($(CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG),y) 104dm-verity-objs += dm-verity-verify-sig.o 105endif 106