Commit f36b1d3b authored by Mike Snitzer's avatar Mike Snitzer

dm vdo: use a proper Makefile for dm-vdo

Requires moving dm-vdo-target.c into drivers/md/dm-vdo/

This change adds a proper drivers/md/dm-vdo/Makefile and eliminates
the abnormal use of patsubst in drivers/md/Makefile -- which was the
cause of at least one build failure that was reported by the upstream
build bot.

Also, split out VDO's drivers/md/dm-vdo/Kconfig and include it from
drivers/md/Kconfig
Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
Signed-off-by: default avatarMatthew Sakai <msakai@redhat.com>
parent 4c79d556
...@@ -6124,7 +6124,6 @@ M: dm-devel@lists.linux.dev ...@@ -6124,7 +6124,6 @@ M: dm-devel@lists.linux.dev
L: dm-devel@lists.linux.dev L: dm-devel@lists.linux.dev
S: Maintained S: Maintained
F: Documentation/admin-guide/device-mapper/vdo*.rst F: Documentation/admin-guide/device-mapper/vdo*.rst
F: drivers/md/dm-vdo-target.c
F: drivers/md/dm-vdo/ F: drivers/md/dm-vdo/
DEVLINK DEVLINK
......
...@@ -498,22 +498,6 @@ config DM_FLAKEY ...@@ -498,22 +498,6 @@ config DM_FLAKEY
help help
A target that intermittently fails I/O for debugging purposes. A target that intermittently fails I/O for debugging purposes.
config DM_VDO
tristate "VDO: deduplication and compression target"
depends on 64BIT
depends on BLK_DEV_DM
select DM_BUFIO
select LZ4_COMPRESS
select LZ4_DECOMPRESS
help
This device mapper target presents a block device with
deduplication, compression and thin-provisioning.
To compile this code as a module, choose M here: the module will
be called dm-vdo.
If unsure, say N.
config DM_VERITY config DM_VERITY
tristate "Verity target support" tristate "Verity target support"
depends on BLK_DEV_DM depends on BLK_DEV_DM
...@@ -650,4 +634,6 @@ config DM_AUDIT ...@@ -650,4 +634,6 @@ config DM_AUDIT
Enables audit logging of several security relevant events in the Enables audit logging of several security relevant events in the
particular device-mapper targets, especially the integrity target. particular device-mapper targets, especially the integrity target.
source "drivers/md/dm-vdo/Kconfig"
endif # MD endif # MD
...@@ -25,7 +25,6 @@ dm-ebs-y += dm-ebs-target.o ...@@ -25,7 +25,6 @@ dm-ebs-y += dm-ebs-target.o
dm-era-y += dm-era-target.o dm-era-y += dm-era-target.o
dm-clone-y += dm-clone-target.o dm-clone-metadata.o dm-clone-y += dm-clone-target.o dm-clone-metadata.o
dm-verity-y += dm-verity-target.o dm-verity-y += dm-verity-target.o
dm-vdo-y += dm-vdo-target.o $(patsubst drivers/md/dm-vdo/%.c,dm-vdo/%.o,$(wildcard $(src)/dm-vdo/*.c))
dm-zoned-y += dm-zoned-target.o dm-zoned-metadata.o dm-zoned-reclaim.o dm-zoned-y += dm-zoned-target.o dm-zoned-metadata.o dm-zoned-reclaim.o
md-mod-y += md.o md-bitmap.o md-mod-y += md.o md-bitmap.o
...@@ -69,7 +68,7 @@ obj-$(CONFIG_DM_ZERO) += dm-zero.o ...@@ -69,7 +68,7 @@ obj-$(CONFIG_DM_ZERO) += dm-zero.o
obj-$(CONFIG_DM_RAID) += dm-raid.o obj-$(CONFIG_DM_RAID) += dm-raid.o
obj-$(CONFIG_DM_THIN_PROVISIONING) += dm-thin-pool.o obj-$(CONFIG_DM_THIN_PROVISIONING) += dm-thin-pool.o
obj-$(CONFIG_DM_VERITY) += dm-verity.o obj-$(CONFIG_DM_VERITY) += dm-verity.o
obj-$(CONFIG_DM_VDO) += dm-vdo.o obj-$(CONFIG_DM_VDO) += dm-vdo/
obj-$(CONFIG_DM_CACHE) += dm-cache.o obj-$(CONFIG_DM_CACHE) += dm-cache.o
obj-$(CONFIG_DM_CACHE_SMQ) += dm-cache-smq.o obj-$(CONFIG_DM_CACHE_SMQ) += dm-cache-smq.o
obj-$(CONFIG_DM_EBS) += dm-ebs.o obj-$(CONFIG_DM_EBS) += dm-ebs.o
......
# SPDX-License-Identifier: GPL-2.0-only
config DM_VDO
tristate "VDO: deduplication and compression target"
depends on 64BIT
depends on BLK_DEV_DM
select DM_BUFIO
select LZ4_COMPRESS
select LZ4_DECOMPRESS
help
This device mapper target presents a block device with
deduplication, compression and thin-provisioning.
To compile this code as a module, choose M here: the module will
be called dm-vdo.
If unsure, say N.
# SPDX-License-Identifier: GPL-2.0-only
obj-$(CONFIG_DM_VDO) += dm-vdo.o
dm-vdo-objs := \
action-manager.o \
admin-state.o \
block-map.o \
chapter-index.o \
completion.o \
config.o \
constants.o \
data-vio.o \
dedupe.o \
delta-index.o \
dm-vdo-target.o \
dump.o \
encodings.o \
errors.o \
flush.o \
funnel-queue.o \
funnel-requestqueue.o \
funnel-workqueue.o \
geometry.o \
index-layout.o \
index.o \
index-page-map.o \
index-session.o \
int-map.o \
io-factory.o \
io-submitter.o \
logger.o \
logical-zone.o \
memory-alloc.o \
message-stats.o \
murmurhash3.o \
open-chapter.o \
packer.o \
permassert.o \
physical-zone.o \
pool-sysfs.o \
pool-sysfs-stats.o \
priority-table.o \
radix-sort.o \
recovery-journal.o \
repair.o \
slab-depot.o \
sparse-cache.o \
status-codes.o \
string-utils.o \
sysfs.o \
thread-cond-var.o \
thread-device.o \
thread-registry.o \
uds-sysfs.o \
uds-threads.o \
vdo.o \
vio.o \
volume-index.o \
volume.o \
wait-queue.o
...@@ -13,32 +13,32 @@ ...@@ -13,32 +13,32 @@
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include "dm-vdo/admin-state.h" #include "admin-state.h"
#include "dm-vdo/block-map.h" #include "block-map.h"
#include "dm-vdo/completion.h" #include "completion.h"
#include "dm-vdo/constants.h" #include "constants.h"
#include "dm-vdo/data-vio.h" #include "data-vio.h"
#include "dm-vdo/dedupe.h" #include "dedupe.h"
#include "dm-vdo/dump.h" #include "dump.h"
#include "dm-vdo/encodings.h" #include "encodings.h"
#include "dm-vdo/errors.h" #include "errors.h"
#include "dm-vdo/flush.h" #include "flush.h"
#include "dm-vdo/io-submitter.h" #include "io-submitter.h"
#include "dm-vdo/logger.h" #include "logger.h"
#include "dm-vdo/memory-alloc.h" #include "memory-alloc.h"
#include "dm-vdo/message-stats.h" #include "message-stats.h"
#include "dm-vdo/pool-sysfs.h" #include "pool-sysfs.h"
#include "dm-vdo/recovery-journal.h" #include "recovery-journal.h"
#include "dm-vdo/repair.h" #include "repair.h"
#include "dm-vdo/slab-depot.h" #include "slab-depot.h"
#include "dm-vdo/status-codes.h" #include "status-codes.h"
#include "dm-vdo/string-utils.h" #include "string-utils.h"
#include "dm-vdo/thread-device.h" #include "thread-device.h"
#include "dm-vdo/thread-registry.h" #include "thread-registry.h"
#include "dm-vdo/types.h" #include "types.h"
#include "dm-vdo/uds-sysfs.h" #include "uds-sysfs.h"
#include "dm-vdo/vdo.h" #include "vdo.h"
#include "dm-vdo/vio.h" #include "vio.h"
#define CURRENT_VERSION "8.3.0.65" #define CURRENT_VERSION "8.3.0.65"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment