Commit 5d2a228b authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Dan Williams
Browse files

dm: make the DAX support depend on CONFIG_FS_DAX



The device mapper DAX support is all hanging off a block device and thus
can't be used with device dax.  Make it depend on CONFIG_FS_DAX instead
of CONFIG_DAX_DRIVER.  This also means that bdev_dax_pgoff only needs to
be built under CONFIG_FS_DAX now.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
Link: https://lore.kernel.org/r/20211129102203.2243509-3-hch@lst.de


Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent d7519392
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ static int dax_host_hash(const char *host)
	return hashlen_hash(hashlen_string("DAX", host)) % DAX_HASH_SIZE;
}

#ifdef CONFIG_BLOCK
#if defined(CONFIG_BLOCK) && defined(CONFIG_FS_DAX)
#include <linux/blkdev.h>

int bdev_dax_pgoff(struct block_device *bdev, sector_t sector, size_t size,
@@ -80,7 +80,6 @@ int bdev_dax_pgoff(struct block_device *bdev, sector_t sector, size_t size,
}
EXPORT_SYMBOL(bdev_dax_pgoff);

#if IS_ENABLED(CONFIG_FS_DAX)
/**
 * dax_get_by_host() - temporary lookup mechanism for filesystem-dax
 * @host: alternate name for the device registered by a dax driver
@@ -219,8 +218,7 @@ bool dax_supported(struct dax_device *dax_dev, struct block_device *bdev,
	return ret;
}
EXPORT_SYMBOL_GPL(dax_supported);
#endif /* CONFIG_FS_DAX */
#endif /* CONFIG_BLOCK */
#endif /* CONFIG_BLOCK && CONFIG_FS_DAX */

enum dax_device_flags {
	/* !alive + rcu grace period == no new operations / mappings */
+1 −1
Original line number Diff line number Diff line
@@ -162,7 +162,7 @@ static int linear_iterate_devices(struct dm_target *ti,
	return fn(ti, lc->dev, lc->start, ti->len, data);
}

#if IS_ENABLED(CONFIG_DAX_DRIVER)
#if IS_ENABLED(CONFIG_FS_DAX)
static long linear_dax_direct_access(struct dm_target *ti, pgoff_t pgoff,
		long nr_pages, void **kaddr, pfn_t *pfn)
{
+1 −1
Original line number Diff line number Diff line
@@ -901,7 +901,7 @@ static void log_writes_io_hints(struct dm_target *ti, struct queue_limits *limit
	limits->io_min = limits->physical_block_size;
}

#if IS_ENABLED(CONFIG_DAX_DRIVER)
#if IS_ENABLED(CONFIG_FS_DAX)
static int log_dax(struct log_writes_c *lc, sector_t sector, size_t bytes,
		   struct iov_iter *i)
{
+1 −1
Original line number Diff line number Diff line
@@ -300,7 +300,7 @@ static int stripe_map(struct dm_target *ti, struct bio *bio)
	return DM_MAPIO_REMAPPED;
}

#if IS_ENABLED(CONFIG_DAX_DRIVER)
#if IS_ENABLED(CONFIG_FS_DAX)
static long stripe_dax_direct_access(struct dm_target *ti, pgoff_t pgoff,
		long nr_pages, void **kaddr, pfn_t *pfn)
{
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@
#define BITMAP_GRANULARITY	PAGE_SIZE
#endif

#if IS_ENABLED(CONFIG_ARCH_HAS_PMEM_API) && IS_ENABLED(CONFIG_DAX_DRIVER)
#if IS_ENABLED(CONFIG_ARCH_HAS_PMEM_API) && IS_ENABLED(CONFIG_FS_DAX)
#define DM_WRITECACHE_HAS_PMEM
#endif

Loading