diff options
author | Dan Williams <dan.j.williams@intel.com> | 2018-03-29 17:22:13 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2018-04-03 05:41:19 -0700 |
commit | 976431b02c2ef92ae3f8b6a7d699fc554025e118 (patch) | |
tree | e05121a5ccc869096a1732847f92e4b485106336 /drivers/md/dm.c | |
parent | 2080e88aecd78773eacbe7d6b9d59968000ba55a (diff) | |
download | linux-976431b02c2ef92ae3f8b6a7d699fc554025e118.tar.bz2 |
dax, dm: allow device-mapper to operate without dax support
Change device-mapper's DAX dependency to require the presence of at
least one DAX_DRIVER. This allows device-mapper to be built without
bringing the DAX core along which is especially wasteful when there are
no DAX drivers, like BLK_DEV_PMEM, configured.
Cc: Alasdair Kergon <agk@redhat.com>
Reported-by: Bart Van Assche <Bart.VanAssche@wdc.com>
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/md/dm.c')
-rw-r--r-- | drivers/md/dm.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 68136806d365..ffc93aecc02a 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -1800,7 +1800,7 @@ static void cleanup_mapped_device(struct mapped_device *md) static struct mapped_device *alloc_dev(int minor) { int r, numa_node_id = dm_get_numa_node(); - struct dax_device *dax_dev; + struct dax_device *dax_dev = NULL; struct mapped_device *md; void *old_md; @@ -1866,9 +1866,11 @@ static struct mapped_device *alloc_dev(int minor) md->disk->private_data = md; sprintf(md->disk->disk_name, "dm-%d", minor); - dax_dev = alloc_dax(md, md->disk->disk_name, &dm_dax_ops); - if (!dax_dev) - goto bad; + if (IS_ENABLED(CONFIG_DAX_DRIVER)) { + dax_dev = alloc_dax(md, md->disk->disk_name, &dm_dax_ops); + if (!dax_dev) + goto bad; + } md->dax_dev = dax_dev; add_disk_no_queue_reg(md->disk); |