* [PATCH v4 0/2] dax, dm: stop requiring dax for device-mapper
@ 2017-09-22 4:26 Dan Williams
2017-09-22 4:26 ` [PATCH v4] dax: introduce CONFIG_DAX_DRIVER Dan Williams
0 siblings, 1 reply; 2+ messages in thread
From: Dan Williams @ 2017-09-22 4:26 UTC (permalink / raw)
To: snitzer
Cc: linux-nvdimm, Michael Ellerman, Heiko Carstens, linux-kernel,
Bart Van Assche, dm-devel, Paul Mackerras,
Benjamin Herrenschmidt, Martin Schwidefsky, Gerald Schaefer
Changes since v3 [1]:
* rebase on 4.14-rc1
* rewrite the changelog of patch2 to drop broken references to the
"built-in portion of device-mapper" (Mike)
[1]: https://lists.01.org/pipermail/linux-nvdimm/2017-August/011545.html
---
Bart points out that the DAX core is unconditionally enabled if
device-mapper is enabled. Add some config machinery and stub routines to
allow device-mapper to build and run with CONFIG_DAX=n.
---
Dan Williams (2):
dax: introduce CONFIG_DAX_DRIVER
dm: allow device-mapper to operate without dax support
arch/powerpc/platforms/Kconfig | 1 +
drivers/block/Kconfig | 1 +
drivers/dax/Kconfig | 4 +++-
drivers/md/Kconfig | 2 +-
drivers/md/dm-linear.c | 6 ++++++
drivers/md/dm-stripe.c | 6 ++++++
drivers/md/dm.c | 10 ++++++----
drivers/nvdimm/Kconfig | 1 +
drivers/s390/block/Kconfig | 1 +
include/linux/dax.h | 30 ++++++++++++++++++++++++------
10 files changed, 50 insertions(+), 12 deletions(-)
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH v4] dax: introduce CONFIG_DAX_DRIVER
2017-09-22 4:26 [PATCH v4 0/2] dax, dm: stop requiring dax for device-mapper Dan Williams
@ 2017-09-22 4:26 ` Dan Williams
0 siblings, 0 replies; 2+ messages in thread
From: Dan Williams @ 2017-09-22 4:26 UTC (permalink / raw)
To: snitzer
Cc: linux-nvdimm, Michael Ellerman, Heiko Carstens, linux-kernel,
Bart Van Assche, dm-devel, Paul Mackerras,
Benjamin Herrenschmidt, Martin Schwidefsky, Gerald Schaefer
In support of allowing device-mapper to compile out idle/dead code when
there are no dax providers in the system, introduce the DAX_DRIVER
symbol. This is selected by all leaf drivers that device-mapper might be
layered on top. This allows device-mapper to conditionally 'select DAX'
only when a provider is present.
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Bart Van Assche <Bart.VanAssche@wdc.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
arch/powerpc/platforms/Kconfig | 1 +
drivers/block/Kconfig | 1 +
drivers/dax/Kconfig | 4 +++-
drivers/nvdimm/Kconfig | 1 +
drivers/s390/block/Kconfig | 1 +
5 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
index 4fd64d3f5c44..4561340c1f92 100644
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
@@ -296,6 +296,7 @@ config AXON_RAM
tristate "Axon DDR2 memory device driver"
depends on PPC_IBM_CELL_BLADE && BLOCK
select DAX
+ select DAX_DRIVER
default m
help
It registers one block device per Axon's DDR2 memory bank found
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 4a438b8abe27..5d4821c91a76 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -298,6 +298,7 @@ config BLK_DEV_SX8
config BLK_DEV_RAM
tristate "RAM block device support"
select DAX if BLK_DEV_RAM_DAX
+ select DAX_DRIVER if BLK_DEV_RAM_DAX
---help---
Saying Y here will allow you to use a portion of your RAM memory as
a block device, so that you can make file systems on it, read and
diff --git a/drivers/dax/Kconfig b/drivers/dax/Kconfig
index b79aa8f7a497..9bf940eb9c06 100644
--- a/drivers/dax/Kconfig
+++ b/drivers/dax/Kconfig
@@ -1,3 +1,6 @@
+config DAX_DRIVER
+ bool
+
menuconfig DAX
tristate "DAX: direct access to differentiated memory"
select SRCU
@@ -16,7 +19,6 @@ config DEV_DAX
baseline memory pool. Mappings of a /dev/daxX.Y device impose
restrictions that make the mapping behavior deterministic.
-
config DEV_DAX_PMEM
tristate "PMEM DAX: direct access to persistent memory"
depends on LIBNVDIMM && NVDIMM_DAX && DEV_DAX
diff --git a/drivers/nvdimm/Kconfig b/drivers/nvdimm/Kconfig
index 5bdd499b5f4f..afe4018d76cf 100644
--- a/drivers/nvdimm/Kconfig
+++ b/drivers/nvdimm/Kconfig
@@ -21,6 +21,7 @@ config BLK_DEV_PMEM
tristate "PMEM: Persistent memory block device support"
default LIBNVDIMM
select DAX
+ select DAX_DRIVER
select ND_BTT if BTT
select ND_PFN if NVDIMM_PFN
help
diff --git a/drivers/s390/block/Kconfig b/drivers/s390/block/Kconfig
index 31f014b57bfc..3f563f2f33d6 100644
--- a/drivers/s390/block/Kconfig
+++ b/drivers/s390/block/Kconfig
@@ -15,6 +15,7 @@ config BLK_DEV_XPRAM
config DCSSBLK
def_tristate m
select DAX
+ select DAX_DRIVER
prompt "DCSSBLK support"
depends on S390 && BLOCK
help
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-09-22 4:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-22 4:26 [PATCH v4 0/2] dax, dm: stop requiring dax for device-mapper Dan Williams
2017-09-22 4:26 ` [PATCH v4] dax: introduce CONFIG_DAX_DRIVER Dan Williams
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).